1

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

<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 肯定会被解析。

知道我做错了什么吗?

谢谢

4

1 回答 1

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是 before _setAccount,它发送的数据被记录到默认帐户(类似于“UA-XXXXX-X”)。

_trackEvent呼叫移动到 之后的任何位置_setAccount

此外,由于您在同一个代码块中都有这两者_trackEvent_trackPageview因此您需要确保该opt_noninteraction参数为真。

于 2013-03-20T14:29:35.340 回答