真的希望你能提供帮助。我正在为一个网站设置跨域跟踪,该网站在单独的域上进行结帐流程。
我设置了一个全新的 Universal Analytics 帐户来跟踪这两个网站,并且最初在网站1上实施了错误的(经典分析)跨域代码...
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_setDomainName', 'site1.co.uk']);
_gaq.push(['_setAllowLinker', true]);
_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>
然而,这在新的UA帐户中正确跟踪。一旦我注意到我的代码上有旧版本,我将其更改为..
<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-XXXXXXXX-1', ‘site1.co.uk' ‘auto’, {
‘allowLinker’: true
});
ga('require', 'linker');
ga('linker:autoLink', ['site2.co.uk'] );
ga('send', 'pageview');
</script>
但现在跟踪已经搞砸了,它已经从追踪每天数千次访问到100以下。我在这里放置的新代码有什么问题吗?使用旧的GA代码而不是新代码跟踪罚款似乎很奇怪。
我还没有把代码放在网站2上,想先把它弄好。非常感谢这里的任何帮助,请记住我不是编码员:)
非常感谢, 大卫
答案 0 :(得分:0)
你的问题就在这里。
ga('create', 'UA-XXXXXXXX-1', ‘site1.co.uk' ‘auto’, { ‘allowLinker’: true });
来自参考(https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference#create):
ga('create', trackingId, opt_configObject);
您无法将域删除到跟踪器的create语句中。即使你可以,你也错过了一个逗号并使用了反引号而不是单引号。而且,domainName不再像过去那样是一个公开的选项。如果您想要一个代码来跟踪这两个域,那么您现在最好的选择是将域放在自定义变量,userDefined值或自定义维度中。
ga('set', 'dimension1', 'site1.co.uk');
修改强>
查看文档,可以设置主机名字段:
ga('set', 'hostname', 'site1.co.uk');
此外,我之前没有考虑过这个问题,但您确实将UA帐户升级为Google Analytics Universal吗? https://support.google.com/analytics/answer/3450662?hl=en