[TYPO3-UG Freiburg] Google-Analytics optOut-Cookie für DSGVO

Ben Robinson robinson2.ben at gmail.com
Sat May 5 11:13:00 CEST 2018


Hallo zusammen,

ich hätte mal eine Frage an unsere JavaScript-Experten :-)

Um aus einer Datenschutzerklärung heraus ein Cookie zur Deaktivierung von Google-Analytics zu setzen, z.B. über einen solchen Link:
<a href="javascript:gaOptout()">Google Analytics für diese Website deaktivieren</a>
, wird eine kleine JS-Funktion benötigt, sowie eine kleine Anpassung des Analytics-Tracking-Codes. In den meisten Anleitungen sieht das etwa so aus:

<script>
		var disableStr = 'ga-disable-UA-12345678-2';
		if (document.cookie.indexOf(disableStr + '=true') > -1) {
			// Erläuterungen siehe https://developers.google.com/analytics/devguides/collection/analyticsjs/user-opt-out
			window[disableStr] = true;
		}
		
		(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-12345678-2', 'auto');
		ga('set', 'anonymizeIp', true);
		ga('send', 'pageview');
</script>

zzgl. folgender oder ähnlicher Funktion zur Erzeugung des Cookies:

function gaOptout() {
	if (typeof disableStr === 'undefined' || disableStr === null) {
		console.log('Var disableStr not found');
	} else{
		document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
		window[disableStr] = true;
		alert('O.K.');
	}
}


Zwei Sachen sind mir dabei unklar – vielleicht kann mir hier jemand weiter helfen:

1.
Warum sollte man die Tracking-ID (z.B. UA-12345678-2) mit ins Cookie schreiben? Falls sich die ID mal ändern sollte, verlieren sämtliche alte Cookies Ihre Wirkung.
I.d.R. möchte man das Tracking ja für die komplette Domain deaktivieren und da würde eine Cookiebezeichnung wie 'ga-disable' ja reichen.
Bei mehreren Websites/Datenschutzerklärungen auf einer Domain könnte man sich ja mit 'ga-disable-projektname' behelfen.
Spricht da was gegen?

2.
Warum sollte man …
window[disableStr] = true;
… nutzen und sich darauf verlassen, dass Google das berücksichtigt und kein Tracking stattfindet?
Das Google-Script würde ja trotzdem geladen werden und Traffic verursachen. Wäre es nicht besser den Tracking-Code nur auszuführen, wenn kein Cookie gesetzt wurde?
Beispiel (nicht gestestet):
if(document.cookie.indexOf("ga-disable") < 0) {
	(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-12345678-2', 'auto');
	ga('set', 'anonymizeIp', true);
	ga('send', 'pageview');
}

Was meint Ihr? Wie macht Ihr das?

Viele Grüße
Ben




More information about the TYPO3-UG-Freiburg mailing list