Opt-Out für Google Analytics in Contao

Hinweis: Dieser Artikel ist von 2015. Das hier beschriebene Vorgehen ist mittlerweile u.U. nicht mehr aktuell.

In diesem Artikel wollen wir euch zeigen, wie ihr mit rudimentären Kenntnissen und ohne Contao-Erweiterung euren Seitenbesuchern das Google Analytics Opt-Out-Cookie zur Verfügung stellen könnt.

Analytics Contao Datenschutz

Diese Woche hatten wir gleich zwei Anfragen wie man Google Analytics datenschutzkonform in Contao einbindet. Obwohl das Problem mit Google Analytics und dem deutschen Datenschutz seit über 6 Jahren besteht, gibt es bis heute weder eine 100%-ige Aussage darüber, ob man Google Analytics in Deutschland überhaupt einsetzen darf, noch ob die vielerorts beschriebenen Maßnahmen vor Strafe schützen.

Hinweis: Dieser Artikel gibt lediglich unsere Meinung und Arbeitsweise wieder. Wir sind keine Anwälte und dies stellt keine Rechtsberatung dar. Wir haben diesen Artikel auch mit keinem Anwalt besprochen und empfehlen unseren Kunden stets, sich mit einem Medienanwalt/ihrem Rechtsbeistand in Verbindung zu setzen.

5 Schritte, um Analytics datenschutzkonform einzusetzen

Wenn wir Google Analytics in eine Contao-Website integrieren sollen, gehen wir mit unseren Kunden nach dem bei datenschutzbeauftragter-info.de empfohlenen Verfahren vor:

  1. Vertrag zur Auftragsdatenverarbeitung mit Google
  2. Anonymisierung der IP-Adressen
  3. Widerspruchsrecht der Betroffenen
  4. Angepasster Datenschutzerklärung
  5. Ggf. Löschung von Altdaten

Für uns als Entwickler sind dabei vor allen Dingen die Punkte 2. Anonymisierung, 3. Widerspruch und 4. angepasste Datenschutzerklärung relevant. Die Anonymisierung der IP-Adressen ist in einigermaßen aktuellen Contao-Versionen kein Thema mehr. Über die Einstellungen und dort den Reiter Datenschutz-Einstellungen, sind standardmäßig zwei Haken gesetzt. Wenn ihr diese Haken gesetzt lasst, habt ihr Punkt 3 schon erledigt.

Etwas kniffliger wird es bei Punkt 3 und 4: letztendlich steckt hinter Widerspruchsrecht und angepasste Datenschutzerklärung nichts anderes, als dass ihr das Google Analytics Script ein wenig modifizieren müsst und die Datenschutzerklärung für die die Nutzung von Google Analytics muss einen weiteren Absatz und einen Link zur Deaktivierung des Google Analytics Scripts enthalten.

Auf der Suche nach einer guten Dokumentation fanden wir nur Einträge, die entweder veraltet waren oder zusätzliche Erweiterungen benötigten. Deswegen wollen wir euch hier unsere Lösung kurz vorstellen.

Das Opt-Out-Cookie von Google Analytics in Contao nachrüsten

Damit Nutzer von dem Opt-Out-Cookie für Google Analytics auf Contao Websites Gebrauch machen können, müsst ihr lediglich das Template von analytics_google.html5 um einen weiteren Scriptblock ergänzen:

<script>
var gaProperty = '<?php echo $GoogleAnalyticsId; ?>';
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
} </script>

Diesen fügt ihr nach der IF-Abfrage und vor dem bereits vorhandenen Script-Block ein. Euer komplettes Template sollte bei einer aktuellen Contao-Installation dann in etwa so aussehen:

<?php
/**
* To use this script, please fill in your Google Analytics ID below
*/
$GoogleAnalyticsId = 'UA-XXXXXXXX-X';
/**
* DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!
*/
if ($GoogleAnalyticsId != 'UA-XXXXX-X' && !BE_USER_LOGGED_IN && sha1(session_id() . (!Config::get('disableIpCheck') ? Environment::get('ip') : '') . 'BE_USER_AUTH') != Input::cookie('BE_USER_AUTH')): ?>
<script> var gaProperty = '<?php echo $GoogleAnalyticsId; ?>';
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
} </script> <script>
(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', '<?php echo $GoogleAnalyticsId; ?>', 'auto');
<?php if (Config::get('privacyAnonymizeGA')): ?>
ga('set', 'anonymizeIp', true);
<?php endif; ?>
ga('send', 'pageview');
</script> <?php endif; ?>

Damit habt ihr den ersten Teil schon erledigt. Was jetzt noch fehlt ist die angepasste Datenschutzerklärung mit dem Link zur Deaktivierung von Google Analytics über das Opt-Out-Cookie. Da wir als Designer, -entwickler und Agenturen ja bei allen rechtlichen Dingen schon immer mit einem Fuß im Knast stehen, muss ich hier mit Sicherheit nicht erklären, warum ihr euch die modifizierte Datenschutzerklärung unbedingt vom Kunden zuschicken lassen und die Nachricht aufheben solltet.

Im letzten Schritt baut ihr dann in der modifizierten Datenschutzerklärung noch den Link zur Deaktivierung von Google Analytics ein. Der Code dafür lautet wie folgt:

<a href="javascript:gaOptout()">Google Analytics deaktivieren</a>

Da der TinyMCE Links mit Javascript-Anweisungen automatisch säubert, solltet ihr den Link am Besten als HTML-Element einfügen. Zum Schluss solltet ihr das Script natürlich noch mal auf Funktion prüfen, mit der Echtzeit-Darstellung in Google Analytics weiß man eigentlich direkt nach dem Klick auf den Deaktivieren-Link, ob das Opt-Out-Cookie funktionert.

Gesetzt dem Fall, dass euer Kunde seinen Job auch gemacht hat und den Vertrag zur Auftragsdatenverarbeitung mit Google (Punkt 1) verschickt und für das Tracking – bei einem bestehenden Account das bisherige Property in Google Analytics gelöscht und – ein neues Property angelegt hat (Punkt 5), sollte eure Contao-Installation nun den in Deutschland empfohlenen Datenschutz-Standards entsprechen [Klopfen auf Holz].