为什么我的Google Analytics自定义变量未记录?

时间:2012-09-19 18:05:28

标签: javascript google-analytics

我正在尝试为Google Analytics设置5个自定义变量,如下所示:

<script>
    //<![CDATA[
    var _gaq=[["_setAccount","UA-XXXXXXXXX-X"],["_trackPageLoadTime"]];
    _gaq.push(['_setCustomVar', 1, 'categories', 'News', 3]);   
    _gaq.push(['_setCustomVar', 2, 'tags', 'something, another, passbook, iphone, ipod, ios6, insider, egift, more things, some other stuff', 3]);  
    _gaq.push(['_setCustomVar', 3, 'productcount', 0, 3]);  
    _gaq.push(['_setCustomVar', 4, 'isvideo', 'false', 3]);
_gaq.push(['_trackPageview']);

(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;
g.src=("https:"==location.protocol?"//ssl":"//www")+".google-analytics.com/ga.js";
s.parentNode.insertBefore(g,s)}(document,"script"));
//]]>

</script>

我认为我在调用trackPageView之前添加了不超过5个自定义变量来遵循所有规则,但它们仍未显示在Google Analytics中。

1 个答案:

答案 0 :(得分:5)

的可能性:

  • 自定义变量可能落后于GA UI中显示的_trackPageview。 (来源#1)
  • 如果你正在使用ga_debug.js,你可以在你的控制台中看到什么是回击。 (来源#2)
  • 您正在使用CustomVar(2)接近自定义变量长度128。由于这是测试数据,请确保您的实际数据不会过去。 (来源#3)
  • Eduardo是正确的,0 vs“0”导致CustomVar(3)无法触发。 (来源#2&amp;测试)
  • _trackPageLoadTime已弃用(来源#2 + 3&amp;测试)

链接/参考文献:

  1. Mastering Google Analytics Custom Variables
  2. Google Analytics Debugger
  3. Official Google Analytics Custom Variables Documentation
  4. 在调试器的演示页面中更新了Snippet:

    (来自不是localhost或file://的东西)

    <html><head><title>Demo</title><script>
    
    var _gaq=[["_setAccount","UA-XXXXXXXXX-X"]];
    _gaq.push(['_setCustomVar', 1, 'categories', 'News', 3]);   
    _gaq.push(['_setCustomVar', 2, 'tags', 'something, another, passbook, iphone, ipod, ios6, insider, egift, more things, some other stuff', 3]);  
    _gaq.push(['_setCustomVar', 3, 'productcount', '0', 3]);  
    _gaq.push(['_setCustomVar', 4, 'isvideo', 'false', 3]);
    _gaq.push(['_trackPageview']);
    (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;
    g.src=("https:"==location.protocol?"//ssl":"//www")+".google-analytics.com/ga.js";
    s.parentNode.insertBefore(g,s)}(document,"script"));
    
    </script></head><body><h1>Open your console</h1></body></html>