Javascript Google Analytics:通过单个Jquery链接推送跨域汇总到单个实体
目标是将被视为一个站点的一部分的外部域汇总到单个属性和实体中,以便转换不会显示引用介质或反弹。我想在所有站点共享的单个实体和单个JS文件下设置跨域跟踪 有三个不同的域实际上是一个站点的一部分:www.example.com、exampleblog.com、examplestore.com 我已经读过谷歌建议在外部站点上使用不同代码块的解决方案,但我想为所有站点创建一个文件,并链接到主域上的文件。我已经创建了一个我希望使用的JS文件,这样代码更易于主控,并且不必与外部域混淆。我想使用Jquery为非www.example.com的外部域推送_链接。因此,如果它不是主域,那么它将域设置为“无”,并将_链接推送到cookie中 但是,外部域在媒体中仍然显示为“转介”,并显示该转介的来源。相反,我们希望源是直接的,媒介是无 以下是分析中显示的内容:Javascript Google Analytics:通过单个Jquery链接推送跨域汇总到单个实体,javascript,jquery,google-analytics,cross-domain,Javascript,Jquery,Google Analytics,Cross Domain,目标是将被视为一个站点的一部分的外部域汇总到单个属性和实体中,以便转换不会显示引用介质或反弹。我想在所有站点共享的单个实体和单个JS文件下设置跨域跟踪 有三个不同的域实际上是一个站点的一部分:www.example.com、exampleblog.com、examplestore.com 我已经读过谷歌建议在外部站点上使用不同代码块的解决方案,但我想为所有站点创建一个文件,并链接到主域上的文件。我已经创建了一个我希望使用的JS文件,这样代码更易于主控,并且不必与外部域混淆。我想使用Jquery为
- www.example.com/page1.html
- 资料来源:(直接)
- 中:(无)
- exampleblog.com/page2.html
- 来源:example.com
- 媒介:转介
- examplestore.com/page3.html
- 来源:exampleblog.com
- 媒介:转介
- www.example.com/page4.html
- 资料来源:(直接)
- 中:(无)
// Cross Domain Tracking Under a Single Entity
alert("Loading Google...");
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-3']);
var locText = document.location + '';
console.log(window.location.host);
// one if statement just needs to know if it's at our primary domain
var exampleDomain = /example\.com/i;
if(exampleDomain.test(locText)){
//Roll Up (domain and subdomains)
_gaq.push(['_setDomainName', '.example.com']);
} else {
//Tag
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_addIgnoredRef', window.location.host]);
}
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(function() {
// load the ga.js file. This happens last now.
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);
})();
jQuery(document).ready(function(){
alert("Ready");
jQuery('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
alert(a + " " + this.href);
//check if it is external
if(!a.test(this.href)) {
alert("external link");
jQuery(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
alert("GOOGLED");
// Google it
_gaq.push(['_link',this.href]);
return false;
});
}
});
});
您应该同时使用跨域跟踪和防止GA将域显示为引用者
一定要测试您的跨域jQuery方法,以确保在进行跳转后正确设置了GA _uutma cookie。当用户跳转时,听起来好像新的会话正在启动。谢谢,我今晚会尝试,明天会通知您。所有警报都会按预期触发。我想知道,我是否需要设置gaq.push([''u setDomainName','.example.com']);到www.example.com,因为有一些IIS ISAPI重写正在进行,这会迫使域访问www。像这样吗?gaq.push([''u setDomainName','www.example.com']);_addIgnoredRef和_setAllowLinker行必须位于_trackPageview之前。这些是跟踪器的属性。好的,我编辑了上面的代码。我将addIgnoredRef移动到我将setDomainName设置为none的块中。我把它从jquery的click函数中移出,只留下了_链接。看起来可以吗?使用Isapi重写器的www.part呢?我测试了您的脚本,它正确地执行了_链接,并将GA cookie传递到外部URL。在该外部URL上,您还需要确保_setAllowLinker设置为true。isapi重写器应该没有影响。