无法使用Universal Analytics代码为外部链接创建自定义网页跟踪网址 [英] Unable to create custom page tracking URL for external links with Universal Analytics Code

查看:81
本文介绍了无法使用Universal Analytics代码为外部链接创建自定义网页跟踪网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我网站上的所有网页上使用以下Universal 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-XXXXXX-XX','mydomain.edu');
ga('send','pageview');
< / script>

在一些外部链接上,我需要能够跟踪这些链接。所以我尝试添加像这样的onclick代码:

 < a href =http://www.externalsite.comonclick =ga('send','pageview',{'page':'/ myexternalpage','title':'External Page'});>外部页面< / a> 

但是,当我观看实时分析时,它似乎没有认识到这些。 / p>

有什么想法?

解决方案

跟踪请求在浏览器开始加载外部链接之前未完成。



您需要做的是使用hitCallback参数,并通过使用<$来阻止链接导航

  onclick =trackAndRedirect(); return c $ c> return false 假; 

< script>
函数trackAndRedirect(){
ga('send','pageview',{
'page':'/ myexternalpage',
'title':'External Page',
'hitCallback':function(){
//alert(analyalytics.js done sending data');
document.location =http://www.externalsite.com;
}
});
}
< / script>

https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#hitCallback


I'm using the following Universal Analytics code on all of the pages on my site:

<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-XXXXXX-XX', 'mydomain.edu');
 ga('send', 'pageview');
</script>

On some of the external links, I need to be able to track these. So I tried adding onclick code like this:

 <a href="http://www.externalsite.com" onclick="ga('send', 'pageview', {'page': '/myexternalpage','title': 'External Page'});">External page</a>

However, when I watch real-time Analytics, it doesn't seem to be recognizing these.

Any ideas?

解决方案

This is a race condition caused by the track request not completing before the browser starts to load the external link.

What you need to do is use the hitCallback parameter, and prevent the link from navigating by using return false in the click handler:

onclick="trackAndRedirect(); return false;"

<script>
function trackAndRedirect() {
  ga('send', 'pageview', {
    'page': '/myexternalpage',
    'title': 'External Page',
    'hitCallback': function() {
      //alert('analytics.js done sending data');
      document.location = "http://www.externalsite.com";
    }
  });
}
</script>

https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#hitCallback

这篇关于无法使用Universal Analytics代码为外部链接创建自定义网页跟踪网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆