2012-11-21 46 views
3

我们有两个服务于完全相同的SaaS应用的域名。由于传统的第三方集成,我们不能丢弃旧域或重定向它(即301)。我知道这是从SEO的角度来看是糟糕的,但这个应用程序不公开,所以这不是一个问题。Google Analytics配置多个域名的网站

我正在寻找一种方式跟踪他们与谷歌分析ONE网站。我见过类似情况的其他海报,但我有一个尚未解决的皱纹。我还需要能够跟踪子域。 (即partner1.old-domain.com || partner1.new-domain.com)

所以要求是这样的:

跟踪过的所有流量为一个网站:(旧域.COM || new-domain.com)

跟踪所有子域名的流量(配置文件过滤器):?(partner1.old-domain.com || partner1.new-domain.com)

注:试图避免使用_gaq.push(['_setAllowLinker', true]);。据我所知,这不是真正的跨站点/跨域的情况。

回答

2

你所描述的设置是一个多顶级域名设置。问题是用于坚持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

+0

谢谢你的很好的布局答复。 这可能(希望)比我最初规划的要简单一些。网站的工作方式,会话几乎不可能跨越域,子域或两者。每个独立的客户只知道他们特定的tld,子域组合。据我所知,这将否定_link()和_setAllowLinker()的价值。正确? – BabblingComet

+0

如果用户位于old-domain.com并手动键入新的用户(或键入旧域名并被重定向到新域名),它会聚合为同一用户吗? – tvieira

相关问题