我们有两个域提供完全相同的SaaS应用程序。由于传统的第三方集成,我们无法丢弃旧域或重定向它(即301)。我知道这从搜索引擎优化的角度来看是糟糕的,但这个应用程序不公开,所以这不是一个问题。
我正在寻找一种使用Google Analytics作为 ONE 网站跟踪它们的方法。我见过其他类似情况的海报,但我有一个尚未解决的皱纹。我还需要能够跟踪子域。 (即partner1.old-domain.com || partner1.new-domain.com)
所以要求如下:
将所有流量跟踪为一个站点:(old-domain.com || new-domain.com)
跟踪所有子域名流量(个人资料过滤器?):( partner1.old-domain.com || partner1.new-domain.com)
注意:尽量避免使用_gaq.push(['_setAllowLinker', true]);
。据我了解,这不适用于真正的跨站点/跨域情况。
答案 0 :(得分:2)
您要描述的设置是多个顶级域设置。问题是用于保留Google Analytics会话的Cookie只能存储在子域或根域级别,因此当您有多个顶级域名时,您需要从一个TLD(顶级域名)传递此会话数据到另一个。
首先让我们看一个更简单的例子,多个子域。为了跟踪这种情况:
我们需要将cookie范围扩展到根域,在本例中为“old-domain.com”,意味着跟踪可以在partner1和partner2子域中持续存在。这可以通过使用以下方法来实现:
_gaq.push(['_setDomainName', 'example.com']);
然而,在添加新TLD时,这会变得更加复杂。添加时我们得到了这个:
为了使这个设置起作用,我们需要使用setDomainName方法和setAllowLinker
_gaq.push(['_setDomainName', 'example.com']);
_gaq.push(['_setAllowLinker', true]);
在多个域中保持跟踪会话的最佳方法。多个TLD无法读取Cookie,这意味着'old-domain.com'上设置的Google Analytics Cookie不能被'new-domain.com'读取,因此Google Analytics访问者会话无法保留。
克服这个问题的方法是绕过cookie,这就是它的完成方式:执行从'old-domain.com'到'new-domain.com'的链接时,会话信息首先被传递到该URL然后由第二个域上的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,但这是最好的方法。
答案 1 :(得分:0)
_gaq.push(['_setDomainName', 'example.com']);