Est-il un paramètre sur Google Analytics pour supprimer l'utilisation de cookies pour les utilisateurs qui n'ont pas encore donné son consentement

selon L'article 5(3) de la directive e-Privacy (A. K. a' les lois sur les Cookies'), les sites Web qui ciblent les utilisateurs de l'UE doivent obtenir le consentement des utilisateurs avant de configurer un cookie.

voir ICO Guidance

j'essaie de concilier cela avec Google Analytics sur mon site web.

J'imagine que Google Analytics (GA) peut faire un certain niveau de données analytiques rassemblement sans nécessitant l'utilisation de cookies.

cependant, je ne peux pas trouver d'informations à ce sujet (sur les panneaux de configuration/sites Google) sur la façon de transmettre des informations sur l '"état du consentement" à Google lors d'une demande de page. Ainsi, ma seule option semble être que je ne devrais pas intégrer le code d'étiquette Google du tout si l'utilisateur n'a pas explicitement donné son consentement. Ce qui semble un peu radical.

Laisser mon le script de serverside a mis un drapeau hasConsentedToCookies=FALSE dans les tags JavaScript me permettrait de demander aux services de Google de fonctionner d'une manière dégradée gracieusement.

est-ce Qu'il y a un paramètre sur Google Analytics pour supprimer l'utilisation de cookies pour les utilisateurs qui n'ont pas encore donné son consentement?

si oui, où puis-je trouver des informations à ce sujet?

143
demandé sur guaka 2012-05-19 23:36:19

10 réponses

Google Analytics a un nouvel ensemble D'API pour aider à la conformité avec un cookie opt-out. Voici la documentation , et voici leur aide docs .

il y a eu une certaine ambiguïté quant à savoir si la réglementation de L'UE sur les cookies (telle que mise en œuvre dans les pays membres) exige que le suivi du web analytique passif nécessite des mécanismes d'acceptation pour la conformité. Si vous êtes concerné d'une façon ou d'une autre, consultez un avocat. Google est vous donner les moyens de prendre la décision quant à la façon dont vous voulez procéder.

ils vous laisseront les détails de la mise en œuvre, mais, l'idée est, une fois que vous avez déterminé si oui ou non suivre l'utilisateur dans Google Analytics, si la réponse est de ne pas suivre, vous définissez la propriété suivante à true Avant Google Analytics exécute:

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

où UA-XXXXXX-Y est votre identifiant de compte dans Google Analytics

Comme les autres affiches ont fait à noter, Google Analytics utilise des cookies. Donc, vous n'êtes pas en mesure de faire un suivi sans cookies. Si vous avez déterminé que quelqu'un ne doit pas être cuisiné pour le suivi, vous aurez besoin de mettre en œuvre quelque chose comme ceci:

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

Opt In

cela nécessite un peu de jujitsu pour la première fois que vous chargez Google Analytics, car cette propriété devra être définie avant Google Analytics exécute pour empêcher suivi de L'événement, ce qui signifie que, pour une approche "opt in to tracking", vous aurez probablement besoin de mettre en œuvre un mécanisme où, lors de la première visite, Google Analytics est automatiquement désactivé en l'absence d'un cookie opt-in (Les cookies qui déterminent les préférences des cookies sont explicitement autorisés), et puis, si un opt-in se produit, relance Google Analytics. Sur les pages suivantes, tout se déroulerait en douceur.

pourrait ressembler à quelque chose comme (pseudo-code):

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

avec cette approche, vous autoriseriez l'utilisateur à refuser le suivi, ce qui voudrait dire que vous utiliseriez un cookie pour définir la propriété ga-disable-UA-XXXXXX-Y' et un cookie pour la gérer dans le futur:

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']);
131
répondu Yahel 2015-01-30 04:54:07

en bref, la BBC (probablement le site le plus populaire au Royaume - Uni) a adopté une approche intéressante pour se conformer aux cookies-ils ont affiché une bannière pour les utilisateurs leur disant que les cookies sont installés et fournissent un couple de liens.

celui-ci explique ce que sont les cookies. celui-ci permet à de gérer leurs cookies , mais le plus intéressant est qu'ils fournissent un lien vers Google Analytics pour permettre aux utilisateurs l'opt-out DE GA dans son intégralité. Donc, en résumé, la BBC a pris le point de vue qu'ils peuvent dire à l'utilisateur quels cookies sont définis et puis fournir un lien vers Google pour permettre à l'utilisateur de se retirer de tous les cookies GA. Pour moi, c'est beaucoup moins embêtant que de dire à GA de se retirer pour une adresse Via JS.

14
répondu Martin Clarke 2015-09-15 22:18:23

souvent, Je ne demande jamais aux utilisateurs de ne pas utiliser google analytics, c'est parce que je n'ai jamais installé de cookies et que je n'ai jamais enregistré leur adresse ip (et d'autres données personnelles).

(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');

aussi vérifier ce code à Convertissez les cookies de Google Analytics en local / stockage de Session

ce script ne définira pas de cookies, mais suivra tout de même via google analytics. Cela aura en fait le même effet sur la vie privée que l'utilisation de cookies, parce que google enregistre toujours l'adresse IP des utilisateurs.

C'est là que le commutateur anonymizeIp entre en jeu. Cela indique à google de ne sauvegarder qu'une version anonymisée de l'adresse IP. Une adresse IP anonymisée n'est pas considérée comme une donnée personnelle, de sorte que la vie privée des utilisateurs sera respectée.

AFAIK loi sur les Cookies est tout au sujet de la vie privée et ne permet le site Web de suivre leur utilisation. Je ne suis pas avocat, mais je pense que ce script est conforme à la loi européenne sur les cookies.

Regardez ce morceau pour le voir en action: http://plnkr.co/MwH6xwGK00u3CFOTzepK

9
répondu Elmer 2017-05-23 12:32:26

vous pouvez désactiver L'utilisation de cookies pour Google Analytics en spécifiant l'option {'storage' : 'none'} lors de la création de l'instance de suivi.

Voir Google guide sur le sujet pour plus de détails.

5
répondu severin 2015-07-22 08:24:17

EDIT: il est un paramètre de Google Analytics pour cela avec le snippet asynchrone GA.

il n'y a pas de paramètre de Google Analytics pour cela, car vous suggérez que vous devez exclure conditionnellement le script pour ceux qui n'ont pas donné leur consentement si vous voulez utiliser le script de suivi Javascript de Google Analytics.

Il y a des solutions il peut déjà être utile au lieu de rouler votre propre. Javascript: http://cookies.dev.wolf-software.com/demo/index.htm

Voici une solution qui permet D'utiliser les fonctionnalités de base de Google Analytics sans cookies, en faisant le côté du serveur de suivi, cet exemple est en PHP: http://techpad.co.uk/content.php?sid=205

2
répondu Alex Taylor 2012-05-29 23:43:51

la méthode utilisée par le plugin jQuery de wolf-software pour gérer ce problème consiste à empêcher le script de s'exécuter jusqu'à ce que l'utilisateur opte. L'ICO a mis à jour ses lignes directrices la semaine dernière, cependant, pour dire qu'il est acceptable de se fier au "consentement implicite" du type utilisé sur le site de la BBC. Bien que je ne pense pas vraiment que ce soit dans l'esprit de la loi, c'est ce qui est jugé acceptable par ceux qui l'appliquent. Étant donné que la majeure partie de L'UE n'a pas encore mis en œuvre la directive, je dirais il est très probable qu'ils vont suivre le chemin du royaume-UNI.

il y a un article intéressant sur les mises à jour au Royaume-Uni ici:

http://www.redant.com/articles/eu-cookie-law-update-ico-adopts-softly-softly-approach /

1
répondu Chris Disley 2012-05-29 18:52:49

pour une solution UX moins intrusive, vous pouvez définir le consentement implicite pour les cookies analytiques de google en plaçant un lien vers: cookiestatement.eu (no javascript, no popups, no ads)

1
répondu mattclegg 2012-07-03 12:19:15

Désolé d'être en retard pour répondre mais je cherchais la même chose récemment jusqu'à ce que je trouve un moyen moi-même. Il peut ne pas être la bonne façon de le faire, mais il fonctionne. (seuls les travaux sur le site en question ne se désengage pas complètement DE GA). J'ai testé pendant quelques jours pour être sûr.

la façon dont j'ai réussi à le faire est d'utiliser un cookie PHP. D'abord commencer avec l'ajout de la analyticstracking.php include...

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

et analyticstracking.php d'ajouter la suivante...

<?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
}
?>

avant que L'utilisateur n'ait consenti aux cookies, Google Analytics ne fonctionnera pas et une fois qu'ils l'auront fait, le 'consent_cookie' sera sauvegardé et permettra à GA de fonctionner, mais si le cookie 'google' est détruit, cela empêchera GA de fonctionner (évidemment).

comme je l'ai dit, ce n'est peut-être pas la bonne façon, mais j'ai essayé et c'est le cas. Espérons que cela aide quelqu'un.

1
répondu Pezmo 2013-02-04 23:50:55

vous pouvez désactiver les cookies google analytics en ajoutant ce code en haut du code google analytics (avant la ligne: var _gaq = _gaq / / [];):

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

Cependant certaines fonctionnalités de google analytics (par exemple des statistiques en temps réel) ne fonctionnent pas correctement après cette modification. En savoir plus sur les cookies Google analytics: https://developers.google.com/analytics/devguides/collection/analyticsjs/domains?hl=en#disableCookies

1
répondu noname 2013-06-21 17:32:59

GA ne fonctionne pas sans cookies, il en a besoin pour "identifier" le visiteur s'il/elle a visité votre site avant. Il n'y a donc aucun paramètre en GA pour cela, GA n'enregistre simplement pas le visiteur s'il ne peut pas créer un cookie.

si l'utilisateur est de L'UE et n'a pas opt-in, alors vous devez exclure le script google-analytics je pense.

-2
répondu Scriptor 2012-05-19 22:34:37