你所描述的设置是一个多顶级域名设置。问题是用于坚持Google Analytics会话的Cookie只能存储在子域或根域级别,因此,当您拥有多个顶级域名时,您需要从一个TLD(顶级域名)传递此会话数据,到另一个。
首先让我们看一个更简单的例子,多个子域。为了跟踪这样的情景:
- partner1.old-domain.com
- partner2.old-domain.com
我们需要范围cookie的根域,在这种情况下, 'old-domain.com',手段跟踪可以在partner1和partner2子域中持续存在。这可以简单地通过以下方法实现:
_gaq.push(['_setDomainName', 'example.com']);
但是,添加新TLD时,这会变得更加复杂。当添加,我们得到这样的:
- partner1.old-domain.com
- partner2.old-domain.com
- partner1.new-domain.com
- partner2.new-domain.com
为了使这个设置的功能,我们需要使用setDomainName方法和setAllowLinker
_gaq.push(['_setDomainName', 'example.com']);
_gaq.push(['_setAllowLinker', true]);
跨多个域持续跟踪会话是最好的方法。 Cookie不能被多个顶级域名(TLD)读取,即在旧域名上设置的Analytics Cookie。com'不能被'new-domain.com'读取,因此Google Analytics访客会话无法持续。
克服这个问题的方法是绕过cookie,这是如何完成的:在执行从“old-domain.com”到“new-domain.com”的链接时,会话信息首先传递放入网址中,然后由Google Analytics在第二个域中进行解析,以允许访问者会话的持久性。
Google提供了一种通过'_link()'功能实现此功能的方法。该功能需要与域之间的所有链接一起使用。这既是从旧领域到新领域,也是从新领域到旧领域。
<a href="http://partner1.new-domain.com/"
onclick="_gaq.push(['_link', 'http://partner1.new-domain.com/']);
return false;">
Continue to the new site.
</a>
希望这已经清除了它。我知道你不想使用setAllowLinker,但它是最好的方法。
点击此处了解详情:Set up cross-domain tracking for multiple domains
谢谢你的很好的布局答复。 这可能(希望)比我最初规划的要简单一些。网站的工作方式,会话几乎不可能跨越域,子域或两者。每个独立的客户只知道他们特定的tld,子域组合。据我所知,这将否定_link()和_setAllowLinker()的价值。正确? – BabblingComet
如果用户位于old-domain.com并手动键入新的用户(或键入旧域名并被重定向到新域名),它会聚合为同一用户吗? – tvieira