Google Analytics сводит на нет мои усилия по созданию домена без использования Cookies

#performance #cookies #google-analytics #subdomain #cookieless

#Производительность #файлы cookie #google-analytics #поддомен #без использования Cookies

Вопрос:

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

Я проверил и обнаружил, что Google Analytics на map.ninux.org создает файлы cookie с помощью домена «.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);
})();
  

При этом я все равно получаю файлы cookie с помощью host «.map.ninux.org «

Ответ №1:

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

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

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

Комментарии:

1. Правильный ли код, который я добавил к ответу? Я все еще получаю файлы cookie с помощью host: «.map.ninux.org «. 🙁

2. добавлено к вопросу * извините.

Ответ №2:

порядок параметров трекера Google играет главную роль. поместите параметр 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:

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

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

 ['_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 домен.