2012-03-02 144 views
20

我試圖在兩個完全不同的域(不是子域)之間設置跨域跟蹤。瀏覽谷歌文檔的不同頁面似乎給了我不同的建議,以便在_setDomainName方法中放置什麼。Google Analytics跨域跟蹤和_setDomainName()

我想不通的時候,我應該使用哪三個:

_gaq.push(['_setDomainName', 'mysite.com']); 
_gaq.push(['_setDomainName', '.mysite.com']); 
_gaq.push(['_setDomainName', 'none']); 

有任何人可以給我一些指導或解釋?

回答

21

本,最好的解釋是在谷歌文檔頁面 - http://code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html#domainToNone。瞭解這個頁面,有很多方法可以配置您的GA設置,並且沒有明確的方式來說明「這是您需要設置跨域跟蹤的方式」,而無需更多地瞭解您所需的配置。該頁面上的場景肯定會有所幫助。

使用_setDomainName的不同變化有3個不同的原因。

  • 「無」 - 你只需要當你想從任何其子域的獨立跟蹤頂級域名使用此功能,因爲該參數將成爲一個域名無法訪問的餅乾其子域。

  • 'mysite.com' - 在另一個域的域和子目錄之間進行跟蹤時使用此項。例如,您的'mysite.com'個人資料還應記錄來自'yourblog.othersite.com'的點擊。

  • '.mysite.com' - 當您希望跨域和其子域進行跟蹤時使用此功能。這將把頂級域和子域視爲一個實體並在同一個配置文件中進行跟蹤。例如,'mysite.com'個人資料應記錄'blogs.mysite.com'和'shop.mysite.com'。

我建議設置一些測試配置文件並試驗配置,這樣您就不會「骯髒」你的真實數據。

希望這會有所幫助!

+0

我已經閱讀過這個Google頁面約100次。你的解釋有助於澄清一點。我看到,對於我的情況,似乎示例代碼告訴我,我的主站點(mysite.com)應將_setDomainName設置爲「mystie.com」,但另一個站點(my-ecommerce.com)應將_setDomainName到「無」。我不知道爲什麼。 – Ben 2012-03-02 15:53:30

+0

你確定嗎?我認爲'沒有'意味着你想確保你的子域沒有跟蹤該配置文件。我認爲在你的例子中,你會在該網站上和'my-ecommerce.com'上將它設置爲'mysite.com'。希望你能快速測試這個理論,而不會對你的數據產生任何抵觸情緒。您可以設置它並使用新的實時報告對其進行採樣,以查看其跟蹤是否正確。 – shanabus 2012-03-02 16:37:42

+0

是的。如果您查看文檔的這一部分:http://code.google.com/intl/zh-CN/apis/analytics/docs/tracking/gaTrackingSite.html#domainAndSubDirectory,您將在「主」網站上看到他們使用網址,然後在「博客」網站上,他們使用「無」。我實際上是在一些測試站點上進行全新安裝,以便全面測試,但只是嘗試儘可能減少未知數。感謝您的輸入。 – Ben 2012-03-02 16:43:48

8

Docs頁面有點落後,因爲最近有一些更改改變了最好的方式。

_setDomainName的默認設置是'auto'。這會將Cookie設置爲您的完整域,除非您在www域中,在這種情況下,它將設置爲mysite.com而不帶前導點。這種設置可能會導致問題,並且我避免與他們粘在一起。我總是改變它

有2個選項設置域名爲www.mysite.com

  • _setDomainName('.mysite.com') - >當你想要跟蹤所有的子域時,這是必要的。
  • _setDomainName('www.mysite.com') - >如果你不想跟蹤你的子域名,你應該使用這個。

在99%的案例中,我選擇了第一個選項。將其設置爲頂級域名,但使用前導點。 你會看到很多人主張反對領先點。像這個舊的但好帖子從roirevolution。領先點的問題是它可能會導致cookie重置。但只有當某人已經擁有cookie時纔會發生。如果這是新的實現,則不存在此問題。

_setDomainName('none')相當於_setDomainName('auto') + _setAllowHash(false)。但由於_setAllowHash(false)已被棄用,我猜_setDomainName('none')也應該被棄用。

+0

我已將域名設置爲「www.mysite.com」,但GA仍將cookie域設置爲「.mysite .com'因此打破了我的CDN子域名。那麼,我應該使用'none'嗎? – 2013-09-19 16:27:53

+0

RE:'none' - 將_setDomainName設置爲'none'實際上允許Cookie數據被所有域共享。請參閱:http://www.seotakeaways.com/cross-domain-tracking-google-analytics-works/ – 2013-10-09 00:42:15

0

我想mysite.com將跨網站及其第一級子域名(如mysite.comcats.mysite.com)跟蹤,並.mysite.com將跟蹤跨站點和它的第一和第二級子域名(如mysite.comcats.mysite.comstore.cats.mysite.com)。

我基於谷歌和其他文章說的。

none將不允許任何子域跟蹤(所以我假設它將它設置爲將cookie的域設置爲:www.mysite.com)。

即時猜測默認選項auto將通過document.domain的設置爲www.mysite.com(但如果可能mysite.com不是基於Eduardo的答案www域上/下允許讓聰明的第一級子域名跟蹤)。

auto/none是我猜測的結果,不知道如果你登錄到blah.mysite.com並且設置了none/auto選項,它會爲該域放置什麼。

2

如果是跨域

tracking,_gaq.push(['_setDomainName', 'mysite.com']); 

_gaq.push(['_setDomainName', '.mysite.com']); 

不作任何區別,因爲Cookie信息不能跨越這兩種不同的結構域共享的任何方式。

我設置了域1和域2之間的跟蹤,單向跟蹤。最初,正如Google Analytics(分析)所建議的,我在兩個域上都添加了_gaq.push(['_setDomainName', 'none']);。這是爲了進行新的Google Analytics A/B測試,A/B測試驗證導致錯誤。因此,我從域1中刪除了_gaq.push(['_setDomainName', 'none']);,並將其保留在域2上,因此它工作得很好。

I've documented it here

+0

此處的一些總結很好,可以防止將其刪除爲「未回覆」或甚至是垃圾郵件。 – 2012-10-11 18:13:30

相關問題