Tobias Scheible Cyber Security & IT-Forensik Dozent
Matomo Cookies

Matomo Statistiken ohne Cookies

In Sachen Cookies herrscht derzeit viel Unsicherheit. Die ePrivacy-Verordnung ist noch nicht umgesetzt und das Urteil des BGH fordert die aktive Einwilligung. Mit Matomo ist der Seitenbetreiber auf der sicheren Seite, hier ist sogar eine Nutzung komplett ohne Cookies gut möglich. Dabei gibt es keine Einbußen für die Besucherstatistik. Dazu ist nur eine zusätzliche Zeile Code notwendig.

Mittwoch, 17. Juni 2020
1 Kommentar

Das Bundesgericht hat sich mit der Frage beschäftigt, in welcher Form eine Einwilligung zur Akzeptierung von Cookies realisiert werden muss. Der Hintergrund war ein voreingestelltes Ankreuzkästchen. Das Gericht hat nun geurteilt, dass dies nicht ausreichend ist. Der Benutzer muss aktiv einwilligen (Zusammenfassung).

Wird Matomo als Statistiksoftware eingesetzt, ist dies eine elegante Lösung, um komplett auf Cookies zu verzichten. Das danken auch die Besucher, da sie nicht mit einer Einwilligung genervt werden. Daher stelle ich hier vor, wie Matomo konfiguriert werden muss, damit keine Cookies verwendet werden und somit keine Zustimmung oder Cookie-Banner notwendig sind.

Matomo Konfiguration

Um Besuche zu analysieren, verwendet Matomo standardmäßig 1st Party Cookies, die auf der Domain der Website gesetzt werden. Die von Matomo erstellten Cookies beginnen mit: _pk_ref, _pk_cvar, _pk_id und _pk_ses.

Matomo Cookies - Entwicklertools
Cookies von Matomo in den Entwicklertools
Matomo verwendet vier Cookies Cookies von Matomo in den Entwicklertools

Wenn ein Besucher in der Datenschutzerklärung die Verwendung von Matomo mit der iFrame-Opt-out-Methode ausschließt, erstellt Matomo das Cookie matomo_ignore, das innerhalb der Domain des Matomo-Servers gesetzt ist. Wenn Matomo auf einer anderen Domain als der Website eingerichtet ist, die verfolgt wird, wird das Cookie ein Cookie von Drittanbietern. Der Cookie matomo_ignore beinhaltet keine personenbezogenen Daten oder eine ID. Der Cookie-Wert ist für alle Besucher gleich.

Dank der aktiven Community hinter dem Open-Source-Projekt kann Matomo flexibel konfiguriert werden. Dazu muss nicht das System an sich angepasst werden, es reicht aus, den Trackingcode zu modifizieren.

Cookies deaktivieren

disableCookies

Um Matomo ohne Cookies zu betreiben, reicht es aus, den folgenden Eintrag direkt vor dem trackPageView Eintrag im Trackingcode hinzuzufügen:

_paq.push(['disableCookies']);

Hier der komplette Trackingcode von Matomo (ohne Cookies):


<script type="text/javascript">
  var _paq = window._paq || [];
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//example.com/matomo/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>

Auswirkungen

Open-Source-Webanalytik-Plattform Matomo
Dashboard der Open-Source-Webanalytik-Plattform Matomo
Matomo - Open Web Analytics Platform Dashboard der Open-Source-Webanalytik-Plattform Matomo

Auf meinen Seiten habe ich schon länger die Verwendung von Cookies deaktiviert und konnte keine negativen Folgen feststellen. Matomo speichert in den Cookies eine eindeutige Besucher-ID, mit der Besucher aus früheren Besuchen erkannt werden können. Wenn Cookies deaktiviert sind, kann Matomo weiterhin eindeutige Besucher anhand von IP-Adressen und anderen Footprints ermitteln. Bei der Kennzahl der wiederkehrenden Besucher kann es unter Umständen zu ungenauen Angaben kommen. Da mich aber nur interessiert, wie häufig einzelne Artikel aufgerufen werden und wie lange die Besucher bei einem Artikel bleiben, ist es für mich nicht relevant.

Kampagnen und Zielverfolgung

Allerdings kann es bei den Kampagnen und der Zielverfolgung zu Einschränkungen kommen. Wird zum Beispiel ein Newsletter verschickt und der Besucher klickt auf einen Link, wird der Besuch erfasst. Kehrt der Besucher drei Tage später auf die Seite zurück und führt eine Aktion durch, kann dies nicht mehr in Zusammenhang mit dem Newsletter gebracht werden. Die sollte aber nur einen kleinen Teil der Zielverfolgung betreffen.

Cookies Zeitvorgabe

Verfallszeiten

Die Cookies von Matomo werden auf dem Client gespeichert und besitzen eine automatische Verfallszeit. Das heißt, dass sie nach Ablauf des Zeitraumes automatisch vom Webbrowser gelöscht werden. Mit Matomo können die Zeitvorgaben, also wie lange ein Cookie gespeichert wird, flexibel konfiguriert werden. Dazu stehen verschiedene Konfigurationsmöglichkeiten für insgesamt drei Cookies zur Verfügung.

Der erste Eintrag wird verwendet, um die Aufrufe von Unterseiten einem Besucher zuzuordnen. Daher kann das Cookie nach dem letzten Besuch relativ schnell gelöscht werden. Im Beispiel habe ich den Wert auf 30 Minuten gesetzt, dies entspricht auch dem Standard. Alle Angaben erfolgen dabei als Sekunden.

setSessionCookieTimeout(seconds)

Werden Kampagnen oder Ziele eingesetzt, wird dafür ein zusätzliches Cookie gesetzt. Im Beispiel wird nach 7 Tagen das Cookie vom Webbrowser wieder gelöscht. Der Standard ist hier 6 Monate.

setReferralCookieTimeout(seconds)

Der letzte Cookie wird verwendet, um wiederkehrende Besucher zu tracken. In diesem Beispiel habe ich die Speicherdauer auf 14 Tage gesetzt. Der Standard ist hier 13 Monate.

setVisitorCookieTimeout(seconds)

Hier der komplette Trackingcode von Matomo mit den gesetzten Cookies-Konfigurationen:


<script type="text/javascript">
  var _paq = window._paq || [];
  _paq.push(['setSessionCookieTimeout', '1800']);
  _paq.push(['setReferralCookieTimeou', '604800']);
  _paq.push(['setVisitorCookieTimeout', '1209600']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//example.com/matomo/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>

Weitere Fragestellungen

Im Vordergrund des Urteils des Bundesgerichtshofs stand die aktive Einwilligung der Benutzer. Dies ist nun ausreichend geklärt. Allerdings gibt es noch weitere Fragestellungen rund um Cookies und DSGVO.

Technisch notwendig

Fest steht, dass keine Einwilligung für technisch notwendige Cookies erforderlich ist. Allerdings gibt es für technisch notwendig keine festen Regeln, daher werden die Auslegungen von den Anbietern immer wieder weit gedehnt. Grundsätzlich werden als Beispiele Session-Cookies für die Verwaltung eines Logins oder das Speichern eines Warenkorbs aufgeführt. Dazu zählen auch Opt-Out-Cookies, in denen eine Ablehnung gespeichert worden ist.

Die Einwilligung entfällt außerdem gemäß der ePrivacy Richtlinie (PDF) (Art. 5 Abs. 3 der Cookie-Richtlinie 2002/58/EG), wenn ein Cookie zur elektronischen Kommunikation notwendig ist. Dies betrifft zum Beispiel Chats oder Messanger.

Sicherheit

Bisher ist noch nicht abschließend geklärt, welche Cookies zur Abwehr von Angriffen gesetzt werden dürfen. Einige Systeme und Frameworks sehen es vor, dass ein Cookie mit einer eindeutigen Session ID beim ersten Aufruf gesetzt wird. Auf den Serverseiten werden die IP-Adresse und die Webbrowser Kennung (Referrer) gespeichert. Bei einer Aktion, wie einem Login oder das Absenden eines Kontaktformulars, werden die Daten abgeglichen. Stimmen sie überein, handelt es sich um einen normalen Besucher. Wenn nicht, könnte es ein Bot oder ein Angreifer sein. Es gibt auch Systeme, die die Zeit zwischen zwei Login-Versuchen messen. Sind die Zeiten zu kurz, handelt es sich nicht um einen Menschen, sondern um ein Angriffstool.

Damit die IP-Adresse als personenbezogenes Datum eingestuft wird, müsste dafür vorher eine eindeutige Zustimmung erfolgen. Allerdings funktionieren viele solcher Systeme im Hintergrund, ohne dass der Benutzer davon etwas mitbekommt. Außerdem wird ein Angreifer keine Zustimmung geben. Hier ist noch nicht geklärt, ob dies als technisch notwendig gilt, da die Seite auch ohne die Schutzmaßnahmen funktionieren würde. Auf der anderen Seite muss ein Betreiber aber die Daten seiner Besucher vor Angreifern schützen.

Der momentane Weg ist, dass alle Techniken anonymisierte Verfahren einsetzen. Interessant in diesem Zusammenhang ist das „Whitepaper zur Pseudonymisierung“ der Fokusgruppe Datenschutz.

Cookies vs. Local Storage

Momentan liegt der Fokus sehr stark auf dem Einsatz von Cookies. Eine weitere Möglichkeit, Daten zu speichern, ist die Methode Web Storage, die in Session Storage und Local Storage aufgeteilt werden können. Beide funktionieren wie eine Art Datenbank. Daten können mit Schlüsselworten gespeichert werden, über diese sind sie auch wieder abrufbar. Die Daten im Session Storage werden gelöscht, sobald die Seite geschlossen wird.

Local Storage

Beim Local Storage sieht die Sache anders aus. Hier gibt es kein automatisches Löschen und es ist, anders als beim Cookie, kein Ablaufdatum vorgesehen. Die Daten können nur durch Leeren des Verlaufs gelöscht werden. Da immer mehr Anwendungen dazu übergehen, den Local Storage anstatt Cookies zu nutzen, führen viele Regelungen ins Leere, da die Dauer, wie lange Daten gespeichert werden, nicht festgelegt werden kann. Wie oben beschrieben, dass ein Cookie eine Verfallszeit von 14 Tagen hat, lässt sich damit nicht realisieren.

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Ralf am 20. Dezember 2020 um 16:13 Uhr

Hallo Tobias,

vielen Dank für diesen ausführlichen Artikel.
Es ist super, dass man Matomo Cookies frei betreiben kann. Aber eigentlich stellt sich nur die Frage, dass man Besucher nicht ohne Einwilligung tracken darf. Da wird man nicht drumherum kommen, auch wenn man es lokal auf seinem Server installiert hat und eine ADV mit dem Hoster abgeschlossen hat.

Gruß Ralf

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.