Gibt es in Google Analytics eine Einstellung, um die Verwendung von Cookies für Benutzer zu unterdrücken, die noch keine Einwilligung erteilt haben?

170

Gemäß EU-Artikel 5 Absatz 3 der E-Privacy-Richtlinie (auch bekannt als „The Cookie Laws“) müssen Websites, die sich an EU-Benutzer richten, die Zustimmung der Benutzer einholen, bevor sie ein Cookie setzen.

Siehe ICO-Anleitung

Ich versuche, dies mit Google Analytics auf meiner Website in Einklang zu bringen.

Ich würde mir vorstellen, dass Google Analytics (GA) eine bestimmte Ebene der Erfassung von Analysedaten durchführen kann, ohne dass Cookies erforderlich sind .

Ich kann hierzu jedoch keine Informationen finden (auf den Google-Websites / Einstellungsfeldern), wie Informationen über den Zustimmungsstatus während einer Seitenanforderung an Google zurückgesendet werden können. Meine einzige Option scheint also zu sein, dass ich den Google-Tag-Code überhaupt nicht einbetten sollte, wenn der Nutzer nicht ausdrücklich zugestimmt hat. Das scheint ein bisschen drastisch.

Wenn ich meinem serverseitigen Skript ein hasConsentedToCookies=FALSEFlag in den JavaScript-Tags setzen lasse, kann ich die Google-Dienste anweisen, auf eine ordnungsgemäß verschlechterte Weise ausgeführt zu werden.

Gibt es in Google Analytics eine Einstellung, um die Verwendung von Cookies für Nutzer zu unterdrücken, die noch keine Einwilligung erteilt haben?

Wenn ja, wo finde ich Informationen dazu?

JW.
quelle
2
Update: Diese Frage wurde früher sowohl zu Adsense als auch zu Analytics gestellt. Da die Antwort für jede Frage jedoch unterschiedlich sein kann, habe ich den Aspekt "Google Adsense" aus dieser Frage extrahiert , damit jede Frage zusammenhängender wird.
JW.
Einige interessante
Eduardo
Nur für den Fall, dass Sie das nicht wissen: Haben Sie von Piwik gehört? ( piwik.org )
TheHippo
Gute und interessante Frage!
Rob
Google sagt, dass Sie Cookies deaktivieren können, aber es scheint nicht zu funktionieren oder ich mache etwas falsch. Link: developer.google.com/analytics/devguides/collection/…

Antworten:

149

EDIT (2019): Die folgende Antwort ist älter als die DSGVO und muss wahrscheinlich überarbeitet werden.

Google Analytics verfügt über eine Reihe neuer APIs, die die Einhaltung eines Cookie-Opt-Outs unterstützen. Hier ist die Dokumentation und hier sind ihre Hilfedokumente .

Es gab einige Unklarheiten darüber, ob die EU-Cookie-Bestimmungen (wie sie in den Mitgliedsländern umgesetzt wurden) vorschreiben, dass für die passive Verfolgung von Webanalysen Opt-In-Mechanismen zur Einhaltung erforderlich sind. Wenn Sie auf die eine oder andere Weise besorgt sind, wenden Sie sich an einen Anwalt. Google gibt Ihnen die Möglichkeit, die Entscheidung zu treffen, wie Sie fortfahren möchten.

Sie überlassen Ihnen die Implementierungsdetails. Wenn Sie jedoch festgelegt haben, ob der Nutzer in Google Analytics verfolgt werden soll oder nicht, sollten Sie die folgende Eigenschaft vor Google auf true setzen, wenn Sie nicht nachverfolgen möchten Analytics läuft:

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

Wobei UA-XXXXXX-Y Ihre Konto-ID in Google Analytics ist

Wie die anderen Poster bereits erwähnt haben, setzt Google Analytics auf Cookies. Ohne Cookies können Sie also keine Nachverfolgung durchführen. Wenn Sie festgestellt haben, dass jemand nicht für die Nachverfolgung gekocht werden soll, müssen Sie Folgendes implementieren:

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

Opt In

Dies erfordert ein wenig Jujitsu, wenn Sie Google Analytics zum ersten Mal laden, da diese Eigenschaft festgelegt werden muss, bevor Google Analytics ausgeführt wird, um zu verhindern, dass das Tracking jemals stattfindet. Für einen "Opt-In-to-Tracking" -Ansatz müssen Sie also d muss wahrscheinlich einen Mechanismus implementieren, bei dem Google Analytics beim ersten Besuch automatisch deaktiviert wird, wenn kein Opt-In-Cookie vorhanden ist (Cookies, die die Cookie-Einstellungen festlegen, sind ausdrücklich zulässig), und dann, falls ein Opt-In erfolgt, erneut aktiviert werden führt Google Analytics aus. Bei nachfolgenden Seitenaufrufen würden alle reibungslos funktionieren.

Könnte ungefähr so ​​aussehen (Pseudocode):

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

Optischer Ausgang

Mit diesem Ansatz können Sie dem Benutzer erlauben, die Nachverfolgung zu deaktivieren. Dies würde bedeuten, dass Sie ein Cookie verwenden, um die ga-disable-UA-XXXXXX-Y'Eigenschaft festzulegen, und ein Cookie, um sie in Zukunft zu verwalten:

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']);
Yahel
quelle
2
Winziger Trottel auf eine gute Antwort - if (doNotCookie () {sollte if (doNotCookie ()) {
Roee Shenberg
1
Danke für die Antwort. Obwohl ich nicht sagen würde, einen Anwalt zu konsultieren. Es ist wahrscheinlich schneller für einen Techniker, die Anleitung zu lesen und zu verstehen, als einen Anwalt, um die Nuancen der technischen Details zu lernen.
JW.
1
Soll ich verstehen, dass, wenn der Benutzer sich dafür entscheidet, keine Cookies zu speichern, die Lösung darin besteht, ein Cookie mit dieser Präferenz zu speichern? Oder fällt dieser Cookie nicht unter die EU-Verordnung?
Jonathon Horsman
5
Ja. Die meisten Vorschriften, die ich gesehen habe (insbesondere die von Großbritannien und ich glaube von Frankreich), besagen ausdrücklich, dass ein Cookie, in dem ihre Cookie-Präferenz gespeichert ist, keinen Verstoß gegen die Regeln darstellt. Da Cookies die einzige allgemein zugängliche Methode zum Speichern des Status im Browser sind, führt kein Weg daran vorbei.
Yahel
17

Sie können die Verwendung von Cookies für Google Analytics deaktivieren, indem Sie {'storage' : 'none'}beim Erstellen der Tracker-Instanz die Option angeben.

Weitere Informationen finden Sie im Google-Handbuch zu diesem Thema .

Severin
quelle
1
In der Anleitung heißt es, wenn Sie Cookies deaktivieren, müssen Sie ein ähnliches Tracking selbst implementieren, sodass dies nicht zu helfen scheint.
Partel
4
@mpartel Sie verlieren einige Informationen: wiederkehrende Besucher und Mehrkanal-Conversions. Aber wenn Sie diese nicht brauchen, ist dies immer noch akzeptabel.
Ali
16

Kurz gesagt, die BBC (wahrscheinlich die beliebteste Website in Großbritannien) hat einen interessanten Ansatz zur Einhaltung von Cookies gewählt. Sie hat Benutzern ein Banner angezeigt, das ihnen mitteilt, dass Cookies gesetzt sind, und einige Links bereitstellt.

Dieser erklärt, was Cookies sind. Mit dieser Funktion können sie ihre Cookies verwalten. Am interessantesten ist jedoch, dass sie einen Link zu Google Analytics bereitstellen , damit Benutzer GA in seiner Gesamtheit deaktivieren können . Zusammenfassend hat die BBC die Ansicht vertreten, dass sie dem Nutzer mitteilen kann, welche Cookies gesetzt sind, und dann einen Link zu Google bereitstellen kann, damit der Nutzer alle GA-Cookies deaktivieren kann. Für mich ist das viel weniger problematisch, als wenn Sie GA anweisen, sich für eine Adresse über JS zu entscheiden.

Martin Clarke
quelle
13
Ich würde WIRKLICH nicht davon ausgehen, dass die Lösung der BBC akzeptabel ist. Tatsächlich ist ihre Lösung aus mindestens drei Gründen grundlegend fehlerhaft: 1) Sie setzt Cookies, bevor Sie gefragt werden, ob Sie bereit sind, sie zu akzeptieren, 2) sie muss ein Cookie setzen, um Ihre Cookie-Einstellungen zu speichern, und 3) es gibt an, dass die Website keine Cookies von Drittanbietern kontrolliert, was einen direkten Verstoß gegen den Geist darstellt, wenn nicht gegen den Buchstaben der EU-Richtlinie. Ich vermute, dass die Beebs über diesen einen Schlag bekommen werden, da sie versuchen, die Grenzen des Gesetzes auf so viele Arten wie möglich zu verschieben, während sie anders erscheinen.
David T. Macknet
Unter blogs.wsj.com/tech-europe/2012/05/25/… finden Sie einige gute Diskussionen.
David T. Macknet
Natürlich irre ich mich vielleicht - anscheinend haben sie die Anforderungen geändert? blog.silktide.com/2012/05/… spricht über eine Änderung der Anforderungen, daher weiß ich nichts mehr. Ich weiß nur nichts über diese Leute und ich lebe hier (vorerst)!
David T. Macknet
Das Register hat ein Banner, auf dem steht, dass Sie durch die weitere Nutzung der Website davon ausgehen, dass Sie der Verwendung von Cookies sowie einer Schaltfläche zum Akzeptieren zustimmen.
Iamichi
6
@MartinClarke - Nun ... eigentlich bin ich mir nicht so sicher, ob ich dem Beispiel eines Medienunternehmens folgen würde, insbesondere weil ich erwarten würde, dass BBC eine Sonderstellung in Großbritannien innehat und wahrscheinlich dazu aufgefordert wird, sich zu formen anstatt mit einer Geldstrafe geschlagen zu werden. Ich denke, es ist eher eine Frage des Risikos - BBC ist als öffentlich finanzierte Einrichtung nicht sehr gefährdet, wohingegen eine kommerzielle Website dies möglicherweise hat.
David T. Macknet
15

Ich fordere Nutzer oft nie auf, sich für Google Analytics zu entscheiden, weil ich niemals Cookies setze und niemals ihre IP (und andere persönliche Daten) speichere.

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

Lesen Sie diesen Code auch unter Konvertieren von Google Analytics-Cookies in lokalen Speicher / Sitzungsspeicher

Dieses Skript setzt keine Cookies, verfolgt sie jedoch über Google Analytics. Dies hat tatsächlich die gleichen Auswirkungen auf den Datenschutz wie die Verwendung von Cookies, da Google weiterhin die IP-Adresse des Benutzers aufzeichnet.

Hier kommt der anonymizeIp-Schalter ins Spiel. Dadurch wird Google angewiesen, nur eine anonymisierte Version der IP-Adresse zu speichern. Eine anonymisierte IP-Adresse gilt nicht als personenbezogene Daten, daher wird die Privatsphäre des Benutzers respektiert.

Das AFAIK-Cookie-Gesetz dreht sich alles um den Datenschutz und ermöglicht es der Website, deren Nutzung zu verfolgen. Ich bin kein Anwalt oder so, aber meiner Meinung nach entspricht dieses Skript dem EU-Cookie-Gesetz.

Schauen Sie sich dieses Plunk an, um es in Aktion zu sehen: http://plnkr.co/MwH6xwGK00u3CFOTzepK

Elmer
quelle
Hallo, das ist nicht immer ein sicherer Ansatz: Hier sind die Gründe.
Caesarsol
'anonymizeIp': trueDafür ist die Option vorgesehen, hier wird keine IP-Adresse gespeichert. Ich verwende localstorage gerne für Cookies aus mehreren Gründen, die nichts mit dem Cookie-Gesetz zu tun haben.
Elmer
5
Nein, dies entspricht überhaupt nicht: - anonymizeIp ist irreführend und enthält nach EU-Recht immer noch zu viele Informationen. - LocalStorage wird nach EU-Recht als "Cookie" betrachtet. Dieser Code enthält also weniger Informationen in GA und entspricht immer noch nicht mit dem Gesetz.
Flunch
Das "EU-Cookie-Gesetz" ist eigentlich eine Richtlinie, daher hängt es von den spezifischen Gesetzen der UE-Mitglieder ab. Beispielsweise hat die italienische Datenschutzbehörde ausdrücklich erklärt, dass für das italienische Recht keine Einwilligung des Benutzers erforderlich ist, wenn Sie die IP-Adresse anonymisieren und die gemeinsame Nutzung von Daten mit anderen Diensten auf der Google Analytics-Konsole deaktivieren.
mcont
3
@Flunch " anonymizeIp ist irreführend und enthält immer noch zu viele Informationen gemäß EU-Recht" Bitte geben Sie Referenzen an. Warum ist es nicht akzeptabel und wann wäre es in Ordnung? Was ist "zu viele Informationen" ?
Ali
3

Sie können Google Analytics-Cookies deaktivieren, indem Sie diesen Code oben im Google Analytics-Code hinzufügen (vor der Zeile: var _gaq = _gaq || [];):

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

Einige Funktionen von Google Analytics (z. B. Echtzeitstatistiken) funktionieren nach dieser Änderung jedoch nicht ordnungsgemäß. Weitere Informationen zu Google Analytics-Cookies: https://developers.google.com/analytics/devguides/collection/analyticsjs/domains?hl=de#disableCookies

kein Name
quelle
Was würde der var clientId = ...Code tun? Soweit ich weiß, definiert es eine lokale Variable innerhalb der Funktion, ist es nicht nutzlos?
Caesarsol
Ich denke, das ist nur ein Beispiel, Sie sollten clientIdinnerhalb der Funktion verwenden, wie es auf stackoverflow.com/questions/4502128/…
caesarsol
1

Die bisher übliche Methode, um damit umzugehen, ist die vom jquery-Plugin der Wolf-Software verwendete Methode, mit der verhindert wird, dass das Skript ausgeführt wird, bis sich der Benutzer anmeldet. Das ICO hat seine Richtlinien jedoch letzte Woche aktualisiert, um zu sagen, dass es akzeptabel ist, sich auf 'zu verlassen. implizite Zustimmung 'der auf der BBC-Website verwendeten Art. Ich glaube zwar nicht, dass dies im Sinne des Gesetzes liegt, aber es wird von denjenigen, die es durchsetzen, als akzeptabel angesehen. Angesichts der Tatsache, dass der größte Teil der EU die Richtlinie noch nicht umgesetzt hat, würde ich sagen, dass sie höchstwahrscheinlich dem Beispiel Großbritanniens folgen werden.

Hier gibt es einen interessanten Artikel über die Updates in Großbritannien:

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

Chris Disley
quelle
1

BEARBEITEN: Hierfür gibt es eine Google Analytics-Einstellung mit dem Asynchronous GA-Snippet.

Hierfür gibt es keine Google Analytics-Einstellung. Wie Sie vorschlagen, müssen Sie das Skript für diejenigen, die nicht zugestimmt haben, bedingt ausschließen, wenn Sie das Google Analytics-Javascript-Tracking-Skript verwenden möchten.

Es gibt bereits einige Lösungen, die hilfreich sein können, anstatt eigene zu entwickeln. Javascript: http://cookies.dev.wolf-software.com/demo/index.htm

Hier ist eine Lösung, die die Verwendung der Grundfunktionen von Google Analytics ohne Cookies ermöglicht. Auf der Seite des Tracking-Servers befindet sich dieses Beispiel in PHP: http://techpad.co.uk/content.php?sid=205

Alex Taylor
quelle
Danke für die Links. sehr nützliche Links.
JW.
1

Für eine weniger aufdringliche UX-Lösung können Sie die implizite Zustimmung für Google-Analyse-Cookies festlegen, indem Sie einen Link zu: cookiestatement.eu (kein Javascript, keine Popups, keine Anzeigen) setzen.

Matt Clegg
quelle
1

Es tut mir leid, dass ich zu spät gekommen bin, um zu antworten, aber ich habe kürzlich nach dem gleichen gesucht, bis ich selbst einen Weg gefunden habe. Es ist vielleicht nicht der richtige Weg, aber es funktioniert. (funktioniert nur vor Ort, deaktiviert GA nicht vollständig). Ich habe ein paar Tage lang getestet, um sicherzugehen.

Ich habe es geschafft, ein PHP-Cookie zu verwenden. Beginnen Sie zunächst mit dem Hinzufügen der Datei analyticstracking.php include ...

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

und in analyticstracking.php fügen Sie Folgendes hinzu ...

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

Bevor der Nutzer Cookies zugestimmt hat, funktioniert Google Analytics nicht mehr. Sobald dies der Fall ist, wird das "Einwilligungs-Cookie" gespeichert und GA kann funktionieren. Wenn das Google-Cookie jedoch zerstört wird, funktioniert GA nicht mehr (offensichtlich).

Wie ich schon sagte, es ist vielleicht nicht der richtige Weg, aber ich habe es ausprobiert und es tut es. Hoffe das hilft jemandem.

Pezmo
quelle
0

Ich hatte das gleiche Problem.

Irgendwann bekam ich eine Lösung in der Zeile von Elmers Antwort, ging aber in Bezug auf IPs auf Nummer sicher, das heißt ohne VerwendunglocalStorage

// Create a fake ID instead of storing anything locally
function guidGenerator() {
    var S4 = function() {
       return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
    };
    return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}

...
ga('create', 'UA-XXXXXX-Y', {
        'storage': 'none',
        'clientId': guidGenerator()
});

(-) Jede besuchte Seite zählt als neuer Besucher in Google Analytics, daher verliere ich dort eine ganze Reihe von Funktionen.

(+) Aber ich kann damit leben und glaube, dass ich in Bezug auf Datenschutzgesetze sicher bin.

Jedes Feedback oder Verbesserungsvorschlag ist mehr als willkommen.

J0ANMM
quelle
-3

GA funktioniert nicht ohne Cookies. Es wird benötigt, um den Besucher zu identifizieren, wenn er Ihre Website zuvor besucht hat. Daher gibt es in GA keine Einstellung dafür. GA zeichnet den Besucher nur dann nicht auf, wenn kein Cookie erstellt werden kann.

Wenn der Nutzer aus der EU stammt und sich nicht angemeldet hat, sollten Sie das Google-Analytics-Skript ausschließen, denke ich.

Drehbuchautor
quelle