用于跟踪单个页面的2个域的Google Analytics代码

时间:2015-05-29 10:00:15

标签: javascript google-analytics

我有一个链接到两个不同域的网站。换句话说,我有两个指向同一index.html的域。为了分析流量,我创建了一个包含两个属性的Google Analytics帐户。现在我需要有关Javascript的帮助。这就是我到目前为止所做的:

<script>
   (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
   function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
   e=o.createElement(i);r=o.getElementsByTagName(i)[0];
   e.src='//www.google-analytics.com/analytics.js';
   r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
   ga('create','UA-XXXXXXX-1','auto', {'allowLinker': true});
   ga('require', 'linker');
   ga('linker:autoLink', ['myseconddomain.at'] );
   ga('send','pageview');
</script>

Analytics创建了第二个UA-Code,但到目前为止我还没有使用它。它还告诉我没有安装第二个属性的跟踪。

我不知道这是否是正确的做法。任何人都知道如何处理这个问题? Thx提前!

1 个答案:

答案 0 :(得分:2)

一种方法是根据托管设置跟踪ID,托管可以通过javascript位置对象检索,特别是document.location.hostname:

<script>

   if(document.location.hostname == "domainB.com") {
      var UAID = "UA-XXXXXXX-2"
    } else { // default case
      var UAID = "UA-XXXXXXX-1"
   }

   (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
   function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
   e=o.createElement(i);r=o.getElementsByTagName(i)[0];
   e.src='//www.google-analytics.com/analytics.js';
   r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
   ga('create',UAID,'auto');
   ga('send','pageview');
</script>

如果您坚持使用两个单独的属性。如果属性共享相同的配置,则可能更容易使用单个属性并创建两个视图,每个视图都包含相应域的包含过滤器。