2012-11-21 50 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

相關問題