基本上,我的网站基于一组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包含在代码中以跟踪它们?谢谢你的帮助!
答案 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链接并返回我们遇到你遇到的任何问题。)