Вопрос по javascript – Есть ли в Google Analytics параметр, запрещающий использование файлов cookie для пользователей, которые еще не дали свое согласие?

146

В соответствии со статьей 5 (3) ЕС Директивы об электронной конфиденциальности (a.k.a 'The Законы о файлах cookie') веб-сайты, нацеленные на пользователей из ЕС, должны получить согласие на участие пользователей перед тем, как они установят cookie.

УвидетьICO Руководство

Я пытаюсь согласовать это сGoogle Analytics на моем веб-сайте.

Я полагаю, что Google Analytics (GA) может выполнять определенный уровень сбора аналитических данных безrequiring использование куки.

Однако я не могу найти никакой информации по этому вопросу (на сайтах / панелях настроек Google) о том, как передавать информацию о состоянии согласия. вернуться к Google во время запроса страницы. Итак, мой единственный вариант, кажется, что я не должен вставлять код тега Googleat all если пользователь явно не дал согласия. Что кажется немного резким.

Позвольте моему серверному скрипту установитьhasConsentedToCookies=FALSE флажок в тегах JavaScript позволил бы мне указывать, что сервисы Google должны работать изящно и униженно.

Есть ли в Google Analytics параметр, запрещающий использование файлов cookie? для пользователей, которые еще не дали согласие?

Если так, где я могу найти информацию об этом?

Error: User Rate Limit Exceededpiwik.org) TheHippo
Error: User Rate Limit Exceeded Rob
Error: User Rate Limit Exceeded'Google Adsense' aspectError: User Rate Limit Exceeded JW.
Error: User Rate Limit Exceedednews.ycombinator.com/item?id=4032633 Eduardo
Error: User Rate Limit Exceededdevelopers.google.com/analytics/devguides/collection/… user2496263

Ваш Ответ

6   ответов
2

ga('create', 'UA-XXXXXX-XX', {'storage': 'none'});
ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

Error: User Rate Limit ExceededclientIdError: User Rate Limit Exceededstackoverflow.com/questions/4502128/…
Error: User Rate Limit Exceededvar clientId = ...Error: User Rate Limit Exceeded
2

EDIT: There is a Google Analytics setting for this with the Asynchronous GA snippet.

There isn't a Google Analytics setting for this, as you're suggesting, you would need to conditionally exclude the script for those that have not consented if you want to use the Google Analytics Javascript tracking script.

There are some solutions out there already that can be helpful instead of rolling your own. Javascript: Error: User Rate Limit Exceeded

Error: User Rate Limit ExceededError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded JW.
11

(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-98765432-1', 'www.example.com', {
  'anonymizeIp': true
  , 'storage': 'none'
  , 'clientId': window.localStorage.getItem('ga_clientId')
});
ga(function(tracker) {
  window.localStorage.setItem('ga_clientId', tracker.get('clientId'));
});
ga('send', 'pageview');

Error: User Rate Limit Exceeded JW.
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Using local storage is no better than using cookies under the EU lawError: User Rate Limit Exceeded
Error: User Rate Limit ExceededhereError: User Rate Limit Exceeded
1

<?php include_once('analyticstracking.php'); ?>

<?php
if($_COOKIE['consent_cookie']=="Y"){
?>

<script type="text/javascript">
var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-********-*']);
  _gaq.push(['_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);
  })();
</script>

<?php   
}
else{
//do nothing
}
?>

134

.

window['ga-disable-UA-XXXXXX-Y'] = true;

if(doNotCookie()){
   window['ga-disable-UA-XXXXXX-Y'] = true;
}
Opt In

before

if( hasOptedOut() || hasNotExpressedCookiePreferenceYet() ){ //functions you've defined elsewhere
     window['ga-disable-UA-XXXXXX-Y'] = true;
}
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
  _gaq.push(['_trackPageview']);


  function onOptIn(){ //have this run when/if they opt-in.
      window['ga-disable-UA-XXXXXX-Y'] = false;
      //...snip...
      //set a cookie to express that the user has opted-in to tracking, for future pageviews
      _gaq.push(['_trackPageview']); // now run the pageview that you 'missed'
   }
Opt Out

ga-disable-UA-XXXXXX-Y'

if( hasOptedOut() ){ // function you've defined elsewhere 
     window['ga-disable-UA-XXXXXX-Y'] = true;
}

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXX-Y']);
  _gaq.push(['_trackPageview']);
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded JW.
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
8

{'storage' : 'none'}

Error: User Rate Limit Exceeded

Похожие вопросы