将商品添加到购物车后,我的产品页面中包含此代码:
<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肯定会被解析。
知道我做错了吗?
谢谢
答案 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。