Google Analytics事件在Developer Console中有效,但在页面中无效

时间:2013-03-20 13:06:06

标签: events google-analytics event-tracking

将商品添加到购物车后,我的产品页面中包含此代码:

<script type="text/javascript>
//<![CDATA[

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
    })();

    var _gaq = _gaq || [];
    _gaq.push(['_setCustomVar', 1, 'Page Type', 'Product', 3])
_gaq.push(['_setCustomVar', 2, 'Product Name', 'Gold Bracelet', 3]);
_gaq.push(['_trackEvent', 'Product Page', 'Added To Basket', 'Gold Bracelet', , 0]); // this is the line that isn't working.

        _gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
        _gaq.push(['_trackPageview']);


//]]>
</script>

似乎跟踪了综合浏览量,两个自定义变量,但不是_trackEvent。就像我在标题中所说的那样,如果我将此代码复制并粘贴到Chrome Dev Console中,那么事件就会很好。我在返回_trackPageview的代码中添加了一个alert()并且它有效,所以JS肯定会被解析。

知道我做错了吗?

谢谢

1 个答案:

答案 0 :(得分:1)

如果opt_value参数不是整数(或未定义),则不会记录该事件。

您希望此活动影响跳出率计算吗?如果是这样,opt_noninteraction可以保留,因为默认值为false

 _gaq.push(['_trackEvent', 'Product Page', 'Added To Basket', 'Bodysuit...']);

如果您不希望事件影响跳出率,请使用:

_gaq.push(['_trackEvent', 'Product Page', 'Added To Basket', 'Bodysuit...', undefined, true]);

我在第一次查看您的代码时错过了这一点 - 因为_trackEvent_setAccount之前,它发送的数据被记录到默认帐户(类似'UA-XXXXX-X')

_trackEvent之后的任何地方移动_setAccount来电。

此外,由于您在同一代码块中同时拥有_trackEvent_trackPageview,因此您需要确保opt_noninteraction参数为true。