Startseite » Blog » Google AdWords

02.03.2019

Spätestens seit Inkrafttreten der DSGVO bieten viele Webmaster eine Opt Out Lösung für das Tracking mit Google Analytics an. Wer mit einer ähnlichen Methode wie hier im Blog beschrieben einen JavaScript basierten Link zum Setzen eines Opt Out Cookies in den Datenschutzhinweisen bereitstellt, wird mit ITP 2.1 und folgenden Versionen der Intelligent Tracking Prevention ein Problem bekommen: Die verwendeten Cookies haben in diesem Browser nur noch eine Lebensdauer von sieben Tagen. Danach ist der Opt Out unwirksam und die Besucher werden erneut getracked, wenn sie wieder auf die Seite zurückkehren.

opt-out in Safari mit ITP

Das ist natürlich ein Problem. Und es betrifft in der einen oder anderen Form fast alle cookie-basierten Opt Out Varianten. Dieser Beitrag zeigt daher eine Methode zur Aktualisierung des Opt Outs bzw. (wenn bisher nicht verbaut) eine Alternative, die nicht allein auf Cookies setzt.

Vorbemerkung: Die hier gezeigte Lösung basiert auf der Verwendung von localStorage in modernen Browsern wie dem betroffenen Safari. Wie im Beitrag zu ITP 2.1 auf markus-baersch.de beschrieben, kann sie nur dann genutzt werden, wenn nur ein Host (z. B. nur www.gandke.de) mit stets dem gleichen Protokoll (z. B. https) ausgeliefert und vermessen wird. Für andere Fälle finden sich im verlinkten Beitrag zu ITP auch Alternativen wie das Setzen des Cookies durch ein serverseitiges Script statt per JavaScript im Browser, so dass die Lebensdauer nicht eingeschränkt wird.

Parallele Verwendung von localStorage

Um statt wie in der oben angesprochenen Anleitung zur Erstellung eines Opt Out Links beschrieben nur den Cookie per JavaScript zu schreiben und diesen im Opt Out-Block oder dem Tag Manager auszulesen, wird parallel localStorage genutzt. Darin wird wie im Cookie der Opt Out Wunsch protokolliert. Cookies werden weiterhin genutzt und dienen der Kompatibilität mit alten Browsern. Das Löschen von Cookies allein führt aber nicht (mehr) zur Reaktivierung des Trackings. Ein so gesetzter Opt Out ist deshalb auch von dauerhafterer Natur. Zur Umsetzung sind folgende Änderungen gegenüber der ursprünglichen Anleitung nötig:

Script ergänzen

Der im Abschnitt "Cookie setzen" beschriebene Block mit dem Link und dem dort direkt untergebrachten Setzen des Cookies wird wie folgt ergänzt.

<script>
function doOptOut() {
//Cookie setzen - als Fallback, wenn kein localStorage genutzt werden kann
document.cookie='ga-disable-UA-12345-67=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';window['ga-disable-UA-12345-67']=true;
//zusaetzlich in localStorage ablegen
if (window.localStorage) window.localStorage.setItem('GAOptOut', 'true');
//Meldung ausgeben
alert('Tracking via Google Analytics wurde deaktiviert.')
}
</script>
<a href="#" onclick="doOptOut();return false">Opt-Out Cookie für diesen Browser und diese Website setzen</a>

Hierbei ist der Übersicht halber die Funktion ausgelagert statt direkt auf das onclick-Ereignis gelegt worden. Bei der eigenen Umsetzung kann man die eine oder andere Form wählen. Wichtig ist nur, dass dabei auch der localStorage bedient wird. Ansonsten passiert hier das Gleiche wie in der ursprünglichen Fassung.  Zur Vereinfachung wurde der Schlüssel im localStorage nicht analog zum Cookie unter Verwendung der Property ID benannt, sondern mit dem allgemeinen Namen GAOptOut versehen. An der Funktion ändert sich dadurch nichts.

Opt Out Cookie und localStorage Wert auslesen

Hat man den Trackingcode direkt in die Seiten implementiert, muss der grün markierte Bereich im Codeblock unter "Trackingcode anpassen" gegen die folgende, umfangreichere Fassung inkl. Blick in den lokalen Speicher des Browsers ersetzt werden. Die Zeile 5 nach dem Kommentar braucht man dabei nur, wenn vorher ein Link angeboten wurde, der gemäß der alten Fassung der Anleitung lediglich Cookies setzt. Anderenfalls sonst kann diese Zeile (inkl. des Kommentars in Zeile 4) einfach entfallen.

var gaOptOut='ga-disable-UA-12345-67';
var optOutSet = document.cookie.indexOf(gaOptOut+'=true') > -1;
if (window.localStorage) {
//Fuer Abwaertskompatibilitaet: Falls (noch) nur Cookie vorhanden ist, auch in localStorage speichern
if (optOutSet) window.localStorage.setItem('GAOptOut', 'true');
optOutSet = optOutSet || (window.localStorage.getItem('GAOptOut') === 'true');
}
if (optOutSet) window[gaOptOut] = true;

Auf diese Weise funktionieren beide Varianten, so dass der Cookie nach wie vor ein Fallback bietet, wenn der Browser kein localStorage unterstützt.

Wird der Google Tag Manager genutzt, muss statt des unter "Blockierenden Trigger anlegen" beschriebenen First Party Cookies eine JavaScript-Variable genutzt werden. Um Kompatibilität zum Rest der Anleitung zu erhalten, erhält diese den gleichen Namen und Rückgabewert.  Der komplette Rest der Anleitung bleibt unverändert gültig.

JS Variable in GTM

Der Code der JavaScript-Variable zum Kopieren:

function() {
var rs = document.cookie.indexOf('ga-disable-' + {{gaPropertyId}} + '=true') > -1;
if (window.localStorage) rs = rs || (window.localStorage.getItem('GAOptOut') === 'true');
return rs;
}

Optional: Status des Opt Out anzeigen

Da spätestens mit Verwendung des localStorage schnell "unklar" wird, ob nun gerade getracked wird oder nicht, ist eine Statusanzeige des Opt Out eine gute Ergänzung. Auch kann man dabei einen Link anbieten, der den Opt Out per Cookie und localStorage zurücksetzt... schließlich reicht es nun nicht mehr, die Cookies zu löschen, um wieder am Tracking teilzunehmen und die direkte Manipulation des localStorage für den Benutzer ist keine echte Option.

Das kann auf verschiedenste Weise passieren - in den Datenschutzhinweisen von Analytrix findet sich ein einfaches Beispiel, aus dem man die Funktion updateOptOutStatus() sowie deren Aufrufe und das <p>-Element mit der Id gaoptoutstatus übernehmen kann, um eine ähnliche Status-Anzeige zu realisieren. Das Ergebnis sieht im Fall von Analytrix so aus:

Ausgabe des Opt Out Status per JavaScript

Mit diesen Anpassungen ist der Opt Out für ITP 2.1 und - hoffentlich auch einstweilen folgende Versionen - gerüstet. Ein anderes Problem hingegen ist das Tracking selbst, welches ebenfalls (nicht nur bei Google Analytics) von der verkürzten Laufzeit der Cookies betroffen ist. Auch hierzu finden sich im in der Vorbemerkung referenzierten Artikel zu ITP einige Ansätze zur Lösung.



Warum mit uns?

Langjährige Erfahrung
im Onlinemarketing:
Suchmaschinen-Marketing
erfolgreich seit 1996

Angebot anfordern

Zertifizierter Google AdWords Partner

Alle Kontenmanager unserer Google AdWords Agentur sind qualifizierte und durch Google zertifizierte AdWords Experten.

Faire Festpreise
jederzeit kündbar
seriöse Optimierung.