使用Google Analytics对子域进行跨域跟踪

dig*_*rld 5 javascript analytics tracking google-analytics cross-domain

我刚刚设置了谷歌分析跨域跟踪.
我已经看到了一些例子,但我想确保我已经正确地完成了它.
我遵循的文档位于: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
Run Code Online (Sandbox Code Playgroud)

我已将以下行添加到默认的Analytics脚本中,并确保为_setAccount使用相同的值.

_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
Run Code Online (Sandbox Code Playgroud)

现在......我有点困惑的部分是_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
Run Code Online (Sandbox Code Playgroud)

Yah*_*hel 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
Run Code Online (Sandbox Code Playgroud)

如果您认为您需要进行第三级子域跟踪,则应在前面设置一个前导时段mysite.com,如下所示:

 _gaq.push(['_setDomainName', '.mysite.com']); // used on any mysite.com domain or subdomain as well as third level subdomains
Run Code Online (Sandbox Code Playgroud)

你在这里做的是两件事.一,你是在宣布应该设置哪个域的域名(在这种情况下,上述2个域名是相同的),并且你正在配置将用于创建"域哈希"的域,这是第一个分隔的句点Google Analytics Cookie中的值.Google Analytics使用"域哈希"来防止Cookie冲突; 如果您在setDomainName中配置的值的域哈希值与ga.js检测到的cookie开头的域哈希值不一致,它将创建一组新的cookie并创建一个全新的访问(在您的情况下, ,不是你想要的.)