Google Analytics исчезает из моих усилий по созданию домена без файлов cookie - PullRequest
3 голосов
/ 20 октября 2011

Я настроил поддомен static.map.ninux.org для загрузки статических файлов для домена map.ninux.org. Цель состояла в том, чтобы получить домен без файлов cookie.

Я проверил и обнаружил, что Google Analytics на map.ninux.org создает куки с доменом ".map.ninux.org", которые по какой-то причине действительны и для 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 ]

3 голосов
/ 10 ноября 2011

порядок параметров трекера гугл играет спойлспорт. поместите параметр setDomainName перед _trackPageview, и он будет работать.

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);
  })();
3 голосов
/ 21 октября 2011

Редактировать:

Вы не можете сделать файл static.map.ninux.org бесплатным при настройке файла cookie для map.ninux.org, поскольку static.map.ninux.orgбудет наследовать все куки с map.ninux.org (и у вас нет шансов изменить это поведение).

Вместо этого вы можете изменить имя домена cookiefree на static-map.ninux.org.В этом случае значение по умолчанию _setDomainName, которое равно 'auto', будет работать правильно.

1 голос
/ 05 сентября 2013

Еще один способ облегчить использование доменов без файлов cookie - перенаправить трафик на www.map.ninux.org, а не на map.ninux.org - таким образом static.map.ninux.org останется без файлов cookie.

Затем, как и в предыдущем ответе, вы можете использовать следующую директиву

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

Или другой вариант Google 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 create":

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

Это приведет к тому, что Google Analytics создаст свои файлы cookie в домене .www.map.ninux.org, а не в домене .ninux.org.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...