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

Posted

技术标签:

【中文标题】使用 Google Analytics 对子域进行跨域跟踪【英文标题】:Cross-domain tracking for subdomains with Google Analytics 【发布时间】:2012-01-16 20:08:41 【问题描述】:

我刚刚设置了谷歌分析跨域跟踪。我已经看到了一些示例,但想确保我已经正确完成了。我遵循的文档在这里:@ 987654321@

我基本上有3个网站,都是子域。

one.mysite.com
two.mysite.com
three.mysite.com

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

_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);

现在...我有点困惑的部分是 _setDomainName 变量。

我应该在所有三个网站上将其保留为“无”并让 _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

【问题讨论】:

【参考方案1】:

对于跨子域的流量,您确实不需要需要设置_setAllowLinker,尽管这并没有什么坏处。该功能的作用是能够传输您的 Google Analytics cookie 以进行跨域跟踪。该功能由_link 启用,对于您的用例来说不是必需的。

如果您像这样将setDomainName 设置为none,它所做的就是将域哈希设置为1,并将cookie 的域设置为当前域。这对跨子域跟踪没有帮助,因为子域之间的流量将被视为引荐。

如果您没有要跟踪的第三级子域(如 foo.bar.example.com),您只需将域名设置为域的根目录,如下所示:

 _gaq.push(['_setDomainName', 'mysite.com']); // used on any mysite.com domain or subdomain

如果您认为您需要 3 级子域跟踪,您应该在 mysite.com 前面加上一个前导句点,如下所示:

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

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

【讨论】:

啊...所以我只需要 _gaq.push(['_setDomainName', 'mysite.com']);跟踪三个子域,并且锚上不需要 _gaq.push(['_link'...? 正确。只要您不跨单独的根域进行跟踪。即,如果您有mysite.commy-shoppingcart-site.com,则_link 是必需的。基本上,你应该关注Tracking Across a Domain and Its Subdomains 查看链接到的示例是否意味着我需要'.mysite.com'? 您可以选择.mysite.commysite.com。如果您已经在使用(none) 方法,那么排除句点的唯一优势不存在(它与您的主域的默认值兼容),因此,您不妨直接使用.mysite.com。跨度>

以上是关于使用 Google Analytics 对子域进行跨域跟踪的主要内容,如果未能解决你的问题,请参考以下文章

在 iframe 中运行 Google Analytics?

Google Analytics 跨域跟踪和 _setDomainName()

每天可以对 Google AdWords 和 Analytics 进行多少 API 调用?

Google Analytics / Piwik + MVC 的多租户支持?

具有多个跟踪器的 Google Analytics(分析)跨域跟踪

Google Analytics:尝试进行授权 API 调用时,JWT 签名无效 (invalid_grant)