Google Analytics不会跟踪出站链接

时间:2014-03-03 16:38:39

标签: google-analytics

我在head中有以下代码,它不跟踪出站链接:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxxxxx-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>


<script>
/**
* Function that tracks a click on an outbound link in Google Analytics.
* This function takes a valid URL string as an argument, and uses that URL string
* as the event label.
*/
var trackOutboundLink = function(url) {
   ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
     function () {
     document.location = url;
     }
   });
}
</script>

并已按照分析网站上的说明在出站链接上添加了事件跟踪:

onclick="trackOutboundLink('/WEBSITE/www.something.com')

我做错了什么?没有跟踪出站链接。

更新 - 将跟踪代码更改为通用;我使用哪种事件出站跟踪?

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-xxxx-Y', 'auto');
ga('send', 'pageview');

</script>
<!-- End Google Analytics -->

1 个答案:

答案 0 :(得分:0)

uname12 ,问题在于您正在混合使用“旧”Google Analytics跟踪代码和“新”通用分析跟踪代码语法。

更新为我的原始答案,以反映对原始问题的更改:

我会尝试使用正确的地址,而不是:

onclick="trackOutboundLink('/WEBSITE/www.something.com')

试试这个:

onclick="trackOutboundLink('http://www.something.com')

原文回答:

这就是跟踪不起作用的原因。这是correct documentation for event tracking(总是看GA.js)。

如果您将代码更改为以下内容:

var trackOutboundLink = function(url) {

      _gaq.push(['_trackEvent', 'Outbound', 'Click', this.href]);
      setTimeout('document.location = "' + this.href + '"', 100);
      return false;
}

这应该可以解决问题。

希望这会有所帮助: - )