你所描述的設置是一個多頂級域名設置。問題是用於堅持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