Google Analytics跟踪在不同域上的同一网站

时间:2014-05-21 09:38:23

标签: google-analytics

基本上,我的网站基于一组HTML代码,但它托管在3个不同的域上。 (example.com,example.sg,example.my)

因此,这些网站中的每一个都有其独特的Google分析跟踪功能。 有没有办法调整谷歌的代码来分别跟踪所有三个网站?

这是我正在使用的当前代码。

<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-38011741-2', 'versafleet.sg');
  ga('send', 'pageview');

</script>

来自这里:https://developers.google.com/analytics/devguides/collection/analyticsjs/

代码的缺陷是它只需要一个id为example.com,并且没有地方包含其他2个网站的ID。

那么有没有办法将其他2个网站的ID包含在代码中以跟踪它们?谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

Google Analytics使用第一方Cookie跟踪。您需要在网页上实施cross domain tracking,以便GA在多个域中跟踪访问者。

答案 1 :(得分:0)

您可以根据主机名更改配置。没有经过测试,但它的工作原理如下:

uaids = {
    "domain1.com":"UA-XXXXX-X1",
    "domain2.sg":"UA-XXXXX-X2",
    "domain3.my":"UA-XXXXX-X3",
}

ga('create', uaids[window.location.hostname], window.location.hostname);
ga('send', 'pageview');

其中uaids-Array将Account Ids与相应的域存储为索引,并通过javascript从location对象中提取主机名以检索值。

更改帐户ID服务器端会更可靠(但我想如果你没有要求的选项那么)。

但是在您的情况下,为每个域使用相同的帐户ID会更简单(因为显然页面是相同的)并使用基于主机名的视图过滤器来分隔数据(更新:在二读时我可能会被误解要求)。

除非您希望人们在域之间移动并且您希望跨域边界跟踪访问者会话 - 在这种情况下,正如已经指出的那样,您需要跨域跟踪(并且您应该遵循Crayons链接并返回我们遇到你遇到的任何问题。)