Index: adsense.module
===================================================================
--- adsense.module
+++ adsense.module
@@ -181,30 +181,30 @@
   );
 
   $error_flag = false;
-  if (!module_exists('profile')) {
+  if (!module_exists('profile') && (!(variable_get(ADSENSE_CLIENT_ID, '')))) {
     drupal_set_message('The profile module is not enabled. Please enable it and define a field as per instructions.', 'error');
     $error_flag = true;
   }
 
-  if (!_adsense_get_site_owner_client_id()) {
+  if (!_adsense_get_site_owner_client_id() && (!(variable_get(ADSENSE_CLIENT_ID, '')))) {
     drupal_set_message('There is no site owner Google AdSense client ID defined. Please define a profile field, and select it below as per instructions, and enter a value for user id 1 as explained below.', 'error');
     $error_flag = true;
   }
 
-  $form['required'] = array(
+  $form['client_id'] = array(
     '#type' => 'fieldset',
     '#collapsible' => true,
     '#collapsed' => false,
-    '#title' => t('Required parameters'),
+    '#title' => t('Adsense Client ID'),
   );
 
-  $form['required'][ADSENSE_CLIENT_ID_PROFILE_FIELD] = array(
-    '#type'          => 'select',
-    '#title'         => t('Google AdSense client ID profile field'),
-    '#default_value' => variable_get(ADSENSE_CLIENT_ID_PROFILE_FIELD, 0),
-    '#options'       => _adsense_get_profile_fields(),
-    '#required'      => true,
-    '#description'   => t('This is the profile field that holds the AdSense Client ID for the site owner as well as (optionally) for site users who participate in revenue sharing. You must enabled the profile module and create a new field for this.'),
+  $form['client_id'][ADSENSE_CLIENT_ID] = array(
+    '#type' => 'textfield',
+    '#title' => t('Google Adsense Client ID'),
+    '#default_value' => variable_get(ADSENSE_CLIENT_ID, ''),
+    '#size' => 24,
+    '#maxlength' => 32,
+    '#description' => 'Enter your Google Adsense Client ID in this field if you do not want to use the revenue sharing option, and wish to bypass the profile.module requirement.',
   );
 
   if ($error_flag) {
@@ -321,15 +321,17 @@
     '#title' => t('Enable revenue sharing'),
     '#return_value' => 1,
     '#default_value' => variable_get(ADSENSE_REVENUE_ENABLE, 0),
-    '#description' => t('Note that enabling this will disable AdSense code caching, which can cause more resource usage for busy sites. The referral feature requires the referral module to be installed.')
+    '#description' => t('Note that enabling this will disable adsense code caching, which can cause more resource usage for busy sites. In addition, revenue sharing requires the profile module to be configured per the module\'s instructions. The referral feature requires the referral module to be installed.')
     );
 
-  $form['revenue'][ADSENSE_PERCENTAGE_AUTHOR] = array(
-    '#type' => 'select',
-    '#title' => t('Percentage of node views going to author'),
-    '#default_value' => variable_get(ADSENSE_PERCENTAGE_AUTHOR, 0),
-    '#options' => drupal_map_assoc(array(0, 5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 100)),
-    );
+  $form['revenue'][ADSENSE_CLIENT_ID_PROFILE_FIELD] = array(
+    '#type'          => 'select',
+    '#title'         => t('Google Adsense Client ID Profile Field'),
+    '#default_value' => variable_get(ADSENSE_CLIENT_ID_PROFILE_FIELD, 0),
+    '#options'       => _adsense_get_profile_fields(),
+    '#required'      => true,
+    '#description'   => t('This is the profile field that holds the Adsense Client ID for the site owner(s) as well as for site users who (optionally) participate in revenue sharing. You must enabled the profile module and create a new field for this.'),
+  );
 
   if (module_exists('referral')) {
     $list = drupal_map_assoc(array(0, 5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 100));
@@ -1045,7 +1047,13 @@
   // identified by sharing a specific role. The percentage for each user
   // should be stored somewhere (profile?)
   // For the meantime, the first Drupal user is the owner of the site.
-  return _adsense_get_profile_client_id(1);
+  
+  $client_id = variable_get(ADSENSE_CLIENT_ID, '');
+  if (!$client_id) {
+    return _adsense_get_profile_client_id(1);
+  } else {
+    return variable_get(ADSENSE_CLIENT_ID, '');
+  }
 }
 
 function _adsense_get_profile_client_id($uid = 0) {
