这里的另一个跨域跟踪问题,我不能为我的生活弄清楚这个。
我有两个独立的域名,我在它们之间使用_link方法。我可以看到Google Analytics utm参数从1个域传递到另一个域但是尽管如此,当我到达第二个域时,我被视为新访问者(使用Google Analytics调试器,我看到一个新的访客ID和我的广告系列/源/媒体信息已被domaina的推荐所取代。
domaina.com上的代码:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(["_setAccount", "UA-111111"]);
_gaq.push(["_setDomainName", "none"]);
_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>
链接如下:<a href="https://secure.domainb.com" onClick="_gaq.push(['_link', 'https://secure.domainb.com']); return false;">Donate Now</a>
当我点击该链接时,我会被带到secure.domainb.com并附上所有GA网址参数,但就像我说的那样,没有源数据通过。
在secure.domainb.com上的代码(我无法直接控制此页面,请注意此页面上有2个UA代码,我的第二个已列出):
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(["_setAccount","UA-222222"]);
_gaq.push(["_trackPageview"]);
_gaq.push(["_setAccount","UA-111111"]);
_gaq.push(["_setAllowLinker",true]);
_gaq.push(["_setDomainName","none"]);
_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>
之前我已成功实现了此设置的跨域跟踪,这就是为什么我感到困惑,为什么这不起作用。
有什么想法吗?
提前致谢。
答案 0 :(得分:0)
您应该使用第二个跟踪器为secure.domainb.com生成第二个网页浏览。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(["_setAccount","UA-222222"]);
_gaq.push(["_trackPageview"]);
_gaq.push(["t2._setAccount","UA-111111"]);
_gaq.push(["t2._setAllowLinker",true]);
_gaq.push(["t2._setDomainName","none"]);
_gaq.push(["t2._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>
您应该使用对setDomainName的调用来定义域:
_gaq.push(["_setDomainName","domaina.com"]);
和
_gaq.push(["t2._setDomainName","domainb.com"]);
请注意,如果您使用多个级别的子域名(即secure.www.domainb.com),请附加一个。到setDomainName参数,如下所示:
_gaq.push(["t2._setDomainName",".domainb.com"]);