Opt-In für Matomo (Piwik) unter Drupal

Opt-In für Matomo (Piwik) unter Drupal

Tracking-Software wie Matomo (vormals Piwik) ist dazu da, das Verhalten von Besuchern auf Webseiten zu verfolgen und zu analysieren. Will man das als Besucher vermeiden, gibt es grundsätzlich die Möglichkeit im Browser eine "Do-not-Track"-Einstellung zu aktivieren. Richtig konfiguriert beachtet Matomo diese Einstellung. Darüber hinaus gibt es die Möglichkeit ein Opt-out in Form eines iFrames auf der Webseite einzubinden, z.B. auf der Seite mit der Datenschutzerklärung. Was es bisher (= Version 3.6 von Matomo) nicht gibt , ist eine Opt-In-Funktion, d.h. dass Besucher explizit Ihre Zustimmung erteilen müssen, bevor Matomo mit dem Tracking beginnt. Um diese Funktion zu realisieren, ist etwas Arbeit erforderlich und das Modul EU Cookie Compliance.

Und so geht's:

  1. Zunächst einmal installiert man Matomo (vormals Piwik) - vorzugsweise unter der gleichen Domain wie die zu trackende Webseite, damit umgeht man schon mal alle 3rd-Party-Cookie-Probleme.
     
  2. In Drupal installiert und konfiguriert man das  "EU Cookie Compliance"-Modul. Folgende Einstellungen sind wichtig:
    Consent method: Opt-in. Don't track visitors unless they specifically give consent. (GDPR compliant)
    Die Texte, die im Banner erscheinen müssen angepasst (und ggf. übersetzt werden). Insbesondere dieser Text ist falsch: "By clicking any link on this page you are giving your consent for us to set cookies.". Ein Klick auf "any link" bewirkt nämlich gerade keinen Consent!
    Zustimmung zurückziehen: "Enable floating privacy settings tab and withdraw consent banner" aktivieren. Damit erscheint unten auf der Seite ein kleiner Tab, den man aufmachen kann, um die Zustimmung zum Tracking zu widerrufen.
    Script scope: auf "Header (Scripts variable)" setzen.
    Standardmäßig ist eine Cookie-Lifetime (für den EU-Cookie "cookie agreed", nicht für die Matomo Tracking-Cookies!) von 100 Tagen gesetzt. Diesen Wert kann man nach belieben verändern. Soll der Cookie immer beim Beenden des Browser gelöscht werden, setzt man einen Haken bei  "Prompt for consent (from the same user) at every new browser session. ". Dann wird der Cookie auch dann am Ende der Sitzung gelöscht, wenn der Browser ansonsten so konfiguriert ist, dass er alle Cookies beim Beenden behält.
     
  3. Jetzt installiert und konfiguriert man das Matomo-Modul.
    Wichtig: In den Einstellungen des Moduls muss man unter "Benutzer" den Eintrag "Das Tracking ist standardmäßig aktiviert, Benutzer mit Tracking wahlweise An- oder Abschalten-Berechtigung können es abschalten" aktivieren. Das klingt zwar erstmal wiedersprüchlich, aber wir verwenden einen anderen Mechanismus, um das Tracking an- und abzuschalten.

    Matomo-Modul: cookie-agreed wird am Ende der Browser-Session gelöscht

  4. Jetzt braucht es noch etwas zusätzliches Javascript, um dafür zu sorgen, dass Matomo erst dann mit dem Tracken anfängt, wenn der Besucher seine Zustimmung durch Anklicken des "OK"-Buttons im Cookie-Banner erteilt hat. Dieses Javascript wird in den Einstellungen des Matomo-Moduls eingetragen unter "Erweiterte Einstellungen >> Benutzerdefinierter JavaScript-Code >> Codeausschnitt (vorher) ". Dort tragen wir Folgendes ein:

    <code>if (!Drupal.eu_cookie_compliance.hasAgreed()){_paq.push(['requireConsent']);_paq.push(['disableCookies']);}if (Drupal.eu_cookie_compliance.hasAgreed()){_paq.push(['setConsentGiven']);}</code>

    Hierdurch wird abgefragt, ob in dem Cookie-Modul die Zustimmung erteilt wurde. Solange dies nicht der Fall ist werden im Matomo-Modul die Tracking-Cookies gelöscht. Die erteilte Zustimmung wird ein einem Cookie "cookie-agreed" gespeichert und bleibt mindestens während der laufenden Browser-Sitzung erhalten (siehe auch die Einstellungen für EU-Cookie-Compliance unter Punkt 2).

    Weiterhin muss im Feld "JavaScript-Bereich " der Scope auf "Fußbereich" gesetzt werden.

    Benutzerdefinierte Einstellungen für Matomo Tracking Opt-In

     

So sieht das dann aus, wenn man sich im Browser die Cookies anzeigen läßt:

Consent erteilt:

Zustimmung für Matomo-Tracking erteilt

_pk sind die beiden Matomo Tracking-Cookies. Cookies-agreed hat den Wert 2, d.h. Tracking wurde vom User erlaubt. Der letzte Cookie "Sess..." ist der Drupal Session-Cookie, der gesetzt wird, wenn man sich auf der Seite ins Backend einloggt. Oben sieht man gerade noch den Tab "Privacy settings". Wenn man diesen anklickt, kann man seine Zustimmung zum Tracking widerrufen. Hat man das getan, sieht die Cookie-Landschaft so aus:

Zustimmung zum Matomo-Tracking widerrufen

Die Matomo Tracking-cookies sind jetzt weg und cookie-agreed steht auf "null". Das Tracking ist also deaktiviert und es erscheint wieder das Banner, in dem man seine Zustimmung erteilen kann. Klickt man hier übrigens auf "Ablehnen" so taucht das Banner während der Laufzeit von cookie-agreed nicht mehr auf! Ansonsten wird es beim Durchklicken durch die Webseite auf jeder Seite erneut eingeblendet. Lässt man das cookie-agreed Cookie beim Beenden der Browsersitzung löschen, so erscheint das Abfragebanner ebenfalls wieder beim nächsten Aufruf der Seite.

Ach ja, noch ein Punkt, den man beachten muss: Das Matomo iFrame für das Opt-out darf man nicht mehr verwenden und muss es ggf. aus der Datenschutzerklärung entfernen und dort den Hinweis auf die Widerspruchsmöglichkeit umformulieren.