我正在使用vanilla ga异步代码,就在</head>
:
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxx-1']);
_gaq.push(['_trackPageview']);
(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';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
现在,稍后在页面中间我打电话:
<script>
_gaq.push(['_setCustomVar',
1,
'usertype',
'anon',
2
]);
</script>
问题是,我是否需要再次调用_trackPageView?
也就是说,我应该添加另一个
_gaq.push(['_trackPageview']);
...
答案 0 :(得分:7)
是的,您需要再次拨打_trackPageView
来计算_setCustomVar
。但是,这将计为2个单独的页面视图,这将扩大页面的页面视图数。因此,您应该将_setCustomVar
移至_trackPageView
之前调用。
答案 1 :(得分:1)
调用两个_trackPageview
将将自定义变量发送给GA,然而这会导致一些负面后果:
跳出率将变为0%
页面将增加1
要解决这个问题,你可以:
在初始_trackPageview
,或之前移动自定义变量:
触发对GA的其他一些调用,例如事件,用户时间事件,社交事件(或最后的手段,_trackPageview,'fake page name'
,并在所有报告中过滤“虚假页面名称”