我刚设置谷歌分析跨域跟踪。
我已经看到了一些例子,但我想确保我已经正确完成了。
我所遵循的文件在这里:http://support.google.com/analytics/bin/static.py?page=guide.cs&guide=1034143&topic=1033979
我基本上有3个网站都是子域名。
one.mysite.com
two.mysite.com
three.mysite.com
我已将以下行添加到默认的Google Analytics脚本中,并确保为_setAccount使用相同的值。
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
现在......我有点困惑的部分是_setDomainName变量。
我是否应该在所有三个网站上将其保留为“none”并让_setAllowLinker完成工作,或者我是指单独指定域名,如下所示?
_gaq.push(['_setDomainName', 'one.mysite.com']); // used on one.mysite.com
_gaq.push(['_setDomainName', 'two.mysite.com']); // used on two.mysite.com
_gaq.push(['_setDomainName', 'three.mysite.com']); // used on three.mysite.com
答案 0 :(得分:8)
对于跨子域流量,您不需要设置_setAllowLinker
,尽管没有任何伤害。该功能的作用是使您能够转移Google Analytics Cookie以进行跨域跟踪。由函数_link
启用的功能对于您的用例不是必需的。
如果您将setDomainName
设置为无,那么它的作用是将域哈希设置为1
并将Cookie的域设置为当前域。这对于跨子域跟踪没有帮助,因为子域之间的流量将被视为引荐。
如果您没有要跟踪的第三级子域(例如foo.bar.example.com
),您需要做的就是将您的域名设置为域的根目录,如下所示:
_gaq.push(['_setDomainName', 'mysite.com']); // used on any mysite.com domain or subdomain
如果您认为自己需要进行第三级子域跟踪,则应在mysite.com
前面设置一个前导时段,如下所示:
_gaq.push(['_setDomainName', '.mysite.com']); // used on any mysite.com domain or subdomain as well as third level subdomains
你在这做的是两件事。一,你要声明应该设置哪个域名(在这种情况下,上述2个域名是相同的)和你正在配置将用于创建“域哈希”的域名,这是Google Analytics Cookie中第一个以句点分隔的值。 Google Analytics使用“域哈希”来防止Cookie冲突;如果您在setDomainName中配置的值的域哈希值与ga.js
检测到的cookie开头的域哈希值不一致,它将创建一组新的cookie并创建一个全新的访问(在你的情况下,这不是你想要的。)