2009-11-14 148 views
0

我在使用Google Analytics和_trackEvent時遇到了一些小問題。Google Analytics(分析)_trackEvent問題

使用似乎在文檔中向前伸直,但我不能讓這個簡單的例子 工作。以_trackEvent調用失敗,「類型錯誤:○未定義」

對_trackPageview的調用是成功的,我可以看到它在分析儀表盤更新。

我試圖在偷看的ga.js明白這是怎麼回事 - 只是頭痛顯示它!

這是我首次涉足GA - 尤其是自定義事件。該帳戶是新的。 一切似乎都設置正確 - 但我可能不知道它是不是!

它似乎很簡單 - 但顯然我失去了一些東西。 任何幫助消除我的盲目褶皺非常感謝!

-vs

HTML示例 - 僅需要跟蹤代碼。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
    <script type="text/javascript"> 
     var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
     document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
    </script> 
    <script type="text/javascript"> 
     var pageTracker; 
     try { 
     pageTracker = _gat._getTracker("UA-XXXXXX-1"); 
     pageTracker._trackPageview();   
     } catch(err) { 
     console.log(err.toString()); 
     } 
     $(document).ready(function() { 
      try { 
      pageTracker._trackEvent('my_category', 'my_action', 'my_optional_label', 42); 
      } catch(err) { 
      console.log('trackEvent ' + err.toString()); 
      } 
     }); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

回答

0

noob錯誤的代碼塊!這裏是完整版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
    <script type="text/javascript"> 
     var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
     document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
    </script> 
    <script type="text/javascript"> 
     var pageTracker; 
     try { 
     pageTracker = _gat._getTracker("UA-xxxxxxx-1"); 
     pageTracker._trackPageview();   
     } catch(err) { 
     console.log(err.toString()); 
     } 
     $(document).ready(function() { 
      try { 
      pageTracker._trackEvent('my_category', 'my_action', 'my_optional_label', 42); 
      } catch(err) { 
      console.log('trackEvent ' + err.toString()); 
      } 
     }); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 
0

原來,在調用_trackEvent之前需要調用_initData()。不知道爲什麼會出現這種情況,但似乎現在起作用。希望它可以幫助別人。 修改後的樣本..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
    <script type="text/javascript"> 
     var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
     document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
    </script> 
    <script type="text/javascript"> 
     var pageTracker; 
     try { 
     pageTracker = _gat._getTracker("UA-xxxxx-1"); 
     pageTracker._trackPageview();   
     } catch(err) { 
     alert(err.toString()); 
     } 
     $(document).ready(function() { 
      try { 
      pageTracker._initData(); // <<--- The addition. 
      pageTracker._trackEvent('my_category', 'my_action', 'my_optional_label', 42); 
      } catch(err) { 
      alert('trackEvent ' + err.toString()); 
      } 
     }); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 
相關問題