Spar dir den Cookie Banner: Google Analytics ohne Cookies nutzen

Google Analytics kann man auch ohne Cookies nutzen

Georg Kaser // SEO

Eines vorweg: Ich bin und war immer dafür, dass Datenschutz in der Webentwicklung oberste Priorität hat und man deshalb seine Anwendungen und Websites entsprechend aufbaut. Aber mal im Ernst - ER NERVT, der Cookiebanner: Was hat es denn für einen Sinn, Google Analytics einzusetzen, wenn der Besucher dem Cookie nicht zustimmt bzw. ablehnt und deswegen das Tool nichts aufzeichnet? Was ist schlecht daran, rauszufinden, wofür seine Besucher sich interessieren? Deshalb habe ich nach einem Weg gesucht, Analytics einzusetzen ohne dafür die Cookie Zustimmung einholen zu müssen - und bin fündig geworden.

Und zwar auf dem interessanten Blog von Helge Klein (Folgeempfehlung). Er hat einen Weg gefunden, den Tracking Code so zu modifizieren, dass kein Cookie mehr notwendig ist bzw. persönliche Daten an Google gesendet werden. Für Wordpress hat er auch gleich ein Plugin entwickelt und für Systeme wie REDAXO hat er auch den Code bereitgestellt, sodass jeder das auf seiner Seite nutzen kann.

Wird dieser Code anstatt des von Google bereitgestellten Tracking-Schnipsels benutzt, wird auf Cookies oder sonstige Art der Speicherung (Web Storage, Local Storage) verzichtet - von daher ist eine Einwilligung für das Setzen eines Cookis obsolet:

<script>
const cyrb53 = function(str, seed = 0) {
let h1 = 0xdeadbeef ^ seed,
h2 = 0x41c6ce57 ^ seed;
for (let i = 0, ch; i < str.length; i++) {
ch = str.charCodeAt(i);
h1 = Math.imul(h1 ^ ch, 2654435761);
h2 = Math.imul(h2 ^ ch, 1597334677);
}
h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
return 4294967296 * (2097151 & h2) + (h1 >>> 0);
};

let clientIP = "{$_SERVER['REMOTE_ADDR']}";
let validityInterval = Math.round (new Date() / 1000 / 3600 / 24 / 4);
let clientIDSource = clientIP + ";" + window.location.host + ";" + navigator.userAgent + ";" + navigator.language + ";" + validityInterval;
let clientIDHashed = cyrb53(clientIDSource).toString(16);

(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', 'YOUR-GA-TRACKING-CODE', {
'storage': 'none',
'clientId': clientIDHashed
});
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>


Was macht dieses Script?

  • Es sendet keine Daten an Google Analytics, wodurch ein Rückschluss auf die Identität des Besuchers möglich wäre.
  • Es wird für jede Website eine sog. Client ID generiert, sodass ein Tracking über mehrere Websites nicht möglich wird. Diese Client ID ist ein Hashwert, also mit einer sog. Hash Funktion aus verschiedenen Daten errechneter Wert (quasi verschlüsselt).
  • Die Daten für den Hash-Wert bestehen aus IP-Adresse (dafür muss der Server allerdings PHP unterstützen), Domain, User Agent, Sprache, und Gültigkeit in Tagen. 
  • Dieser Hash-Wert wird an Google Analytics geschickt

Fazit

Dieses Script beseitigt nicht nur die Cookies von Google, sondern verändert auch die Art wie die Client ID generiert wird - von daher eine schöne Lösung Google Analytics einzusetzen, die gleichzeitig auf die Privatsphäre der Besucher achtet. Daumen hoch. Trotzdem: Hinweis auf Google Analytics in den Datenschutzbestimmungen nicht vergessen!

Google Analytics kann man auch ohne Cookies nutzen
+49 157 84925965 Angebot anfordern
Logo

Ihr REDAXO Web-Entwickler aus Worms für Deutschland, Österreich und die Schweiz!
+49 157 84925965

Angebot anfordern