在使用goog analytics异步代码时,我是否需要在页面上多次调用_gaq.push(['_ trackPageView'])?

时间:2010-10-02 06:05:00

标签: google-analytics

我正在使用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']);

...

2 个答案:

答案 0 :(得分:7)

是的,您需要再次拨打_trackPageView来计算_setCustomVar。但是,这将计为2个单独的页面视图,这将扩大页面的页面视图数。因此,您应该将_setCustomVar移至_trackPageView之前调用。

答案 1 :(得分:1)

调用两个_trackPageview 将自定义变量发送给GA,然而这会导致一些负面后果:

  • 跳出率将变为0%

  • 每次访问的
  • 页面将增加1

要解决这个问题,你可以:

  • 在初始_trackPageview之前移动自定义变量:

  • 触发对GA的其他一些调用,例如事件,用户时间事件,社交事件(或最后的手段,_trackPageview,'fake page name',并在所有报告中过滤“虚假页面名称”