2011-10-20 35 views
3

我設置了子域static.map.ninux.org以加載域map.ninux.org的靜態文件。目標是建立一個無Cookie的域名。Google Analytics(分析)消除了我製作無Cookie域的努力

我查了一下,發現map.ninux.org上的google analytics使用「.map.ninux.org」域創建cookie,由於某些原因,該域也對static.map.ninux.org有效。

我該如何解決這個問題?

PS:這段代碼是否正確?

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-26436344-1']); 
_gaq.push(['_trackPageview']); 
_gaq.push(['_setDomainName', 'map.ninux.org']); 
(function() { 
    var ga = document.createElement('script'); 
    ga.type = 'text/javascript'; 
    ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(ga, s); 
})(); 

有了這個,我仍然得到與主機餅乾 「.map.ninux.org」

回答

3

編輯:

你不能讓static.map.ninux.org餅乾免費當爲map.ninux.org設置cookie時,因爲static.map.ninux.org將繼承map.ninux.org中的所有cookie(並且您沒有任何改變此行爲的機會)。

您可能希望將cookiefree域名更改爲static-map.ninux.org。在這種情況下,_setDomainName是'auto'的默認設置將正常工作。

+0

我添加到答案的代碼是否正確?我仍然通過host:「.map.ninux.org」獲得cookie。 :-( – nemesisdesign

+0

添加到問題*對不起。 – nemesisdesign

+0

已更新我的回答。 – Seybsen

3

谷歌跟蹤器參數的排序播放spoilsport。在_trackPageview之前放置setDomainName參數,它將起作用。

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXXXX-X'], 
    ['_setDomainName', 'www.example.com'], 
    ['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 
1

促進Cookie的域的另一種方式是你的流量推送到www.map.ninux.org而非map.ninux.org - 這樣,static.map.ninux.org將保持無Cookie。

然後,如在之前的響應,你可以使用下面的指令

['_setDomainName', 'www.map.ninux.org'] 

或爲谷歌Analytics(分析)的另一種風味,看起來像這樣:

<script> 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 
    ga('create', 'UA-XXXX-XX', 'ninux.org'); 
    ga('send', 'pageview'); 
</script> 

您可以手動修改「 ga創建「部分:

ga('create', 'UA-XXXX-XX', 'www.map.ninux.org') 

這會導致Google Analytics在.www.map.ninux.org域中創建它們的Cookie,而不是在.ninux.org域中創建它們的Cookie。

相關問題