diff --git a/google_adwords.module b/google_adwords.module
index aabfc0a..3843704 100644
--- a/google_adwords.module
+++ b/google_adwords.module
@@ -124,13 +124,9 @@ function google_adwords_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
       case 'delete revision':
         google_adwords_delete_adwords_revision($node);
         break;
-      case 'view':
-        _google_adwords_view_adwords($node); 
-        break;
     }
 }
 
-
 /**
  * Load Google AdWords parameters for a node.
  */
@@ -186,11 +182,10 @@ function google_adwords_delete_adwords_revision($node) {
 }
 
 
-function _google_adwords_view_adwords(&$node) {
+function _google_adwords_view_adwords($node) {
   global $user;
   global $language;
-  global $_google_adwords_footer_script;
-  
+
   $track = 0;
   $page_match = 0;
   $page_label = '';
@@ -205,10 +200,8 @@ function _google_adwords_view_adwords(&$node) {
   $path_vars = variable_get('google_adwords_conversion_pages', '');
   
   if (!empty($path_vars)) {
-
     $path = drupal_get_path_alias($_GET['q']);
     $sets = explode("\n", $path_vars);
-
     foreach ($sets as $k => $v) {
       $set = explode('|', $v);
       if (drupal_match_path($path, $set[1])) {
@@ -218,7 +211,6 @@ function _google_adwords_view_adwords(&$node) {
       }
     }
   }
-
   
   // Don't track page views in the admin sections, or for certain roles
   if (arg(0) != 'admin' && $track > 0 ) {    
@@ -245,21 +237,25 @@ function _google_adwords_view_adwords(&$node) {
       $output .= '    <img height="1" width="1" border="0" src="https://www.googleadservices.com/pagead/conversion/' . $google_adwords_id . '/?label='. $google_adwords_label .'&amp;guid=ON&amp;script=0" alt=""/>' . "\n";
       $output .= '</noscript>' . "\n";
       
-      $_google_adwords_footer_script = $output;     
-      
+      return $output;
     }
   }  
 }
 
 
 function google_adwords_footer() {
-  global $_google_adwords_footer_script;
-  
-  if (!empty($_google_adwords_footer_script)) {
-    $output = $_google_adwords_footer_script;
+  if (arg(0) == 'node' && is_numeric(arg(1))) {
+    $node = node_load(arg(1));
+  }
+  else {
+    $node = _google_adwords_empty_node();
+  }
+  $google_adwords_footer_script = _google_adwords_view_adwords($node);
+
+  if (!empty($google_adwords_footer_script)) {
     $google_adwords_google_js = variable_get('google_adwords_external_script', 'https://www.googleadservices.com/pagead/conversion.js');
-    $output .= '<script language="javaScript" type="text/javascript" src="' . $google_adwords_google_js . '"></script>' . "\n";
-    return $output;
+    $google_adwords_footer_script .= '<script language="javaScript" type="text/javascript" src="' . $google_adwords_google_js . '"></script>' . "\n";
+    return $google_adwords_footer_script;
   }
   else {
     return NULL;
@@ -274,4 +270,16 @@ function _google_adwords_conversion_formats() {
   );
 }
 
-
+/**
+ * Create an empty node to simplify logic in _google_adwords_view_adwords()
+ */
+function _google_adwords_empty_node() {
+  $node = new stdClass;
+  $google_adwords = array(
+    'id' => '',
+    'label' => '',
+    'format' => '',
+    'color' => '',
+    'value' => '',
+  );
+}
\ No newline at end of file
