Daten in Matomo archivieren und löschen

Matomo als Open Source Webanalyse Software hat zahlreiche Einstellungen, die für den Datenschutz relevant sind. So kann man z.B. auswählen, wie viele Byte-Blöcke des Clients gelöscht werden sollen – die Empfehlung lautet bekanntlich: die letzten beiden.

Hier soll es jetzt um das Löschen von Daten gehen – dabei herrscht doch immer wieder Verwirrung, was da gelöscht wird und welche Daten nach der Löschung noch verfügbar sind.

Matomo kann bekanntlich auf eigenen Servern oder dem des eigenen Providers betrieben werden. Nun gibt es drei nennen wir es einmal Datenzustände. Die erfassten Daten werden zunächst in einen Zwischenspeicher geladen, bevor sie in die Datenbank geschrieben werden. In der Datenbank verfügen wir nun über sogenannte Rohdaten, aus denen wiederum aggregierte Datenreports erzeugt werden. D.h. die Rohdaten werden nach bestimmten Tabellenstrukturen (Scope) kombiniert.

Datenarchivierung bei Matomo

Matomo archiviert die Daten zunächst in seiner Voreinstellung bei Browseraufruf. Es ist ja verständlich, dass Matomo die aktuellen Daten mit jedem neuen Datenfluss für den aktuellen Tag neu berechnen muss. Dies kann je nach Trafficintensität allerdings zu einer Verlangsamung der Seite führen. In diesem Falle empfiehlt sich eine Automatisierung der Archivierung u regelmäßigen Zeitpunkten.

In dem Falle dient der Zwischenspeicher von Matomo als Puffer, der die Daten aktuell und vorberechnet bereithält (Vorkalkulation).

Mit einem so genannten Cronjob zur Archivierung der Daten kann Matomo so konfiguriert werden, dass Anfragen in der Benutzeroberfläche keine Archivierung auslösen, sondern die vorarchivierten Berichte auslesen. In der Verwaltung > System -> Allgemeine Einstellungen und stellt man die Voreinstellungen um auf:
Berichte archivieren, wenn sie im Browser angezeigt werden: Nein
Berichte höchstens alle X Sekunden archivieren: 3600 Sekunden

Hier die Standardeinstellungen

Archivierungseinstellungen bei Matomo
Ein weiterer Aspekt der Archivierung betrifft die Tatsache, dass alle Datenzeiträume archiviert werden. Solange das aktuelle Datum noch mit einbezogen ist in die Reports (z.B. Monats- oder Jahresreport), werden diese Archivreports ständig neu berechnet.

Konsequenzen der gesteuerten Archivierung

Die Einrichtung eines Cronjobs hat gewisse Konsequenzen auf die Verfügbarkeit der Daten. Die Standardreports werden als Vorkalkulation bereitgehalten. Spezielle Reports allerdings sind in ihrer Aktualität betroffen. Segmente z.B. werden erst nach der Archivierung der Daten von Matomo erzeugt. Ähnlich verhält es sich mit anderen Reports, wie z.B. den Customer Reports, die man mit dem gleichnamigen Plugin erzeugen kann.

Besucher-Logs in Matomo löschen

Matomo speichert die (anonymisierten) Besucherdaten, sie können im Report unter Besucher => Besucher-Log eingesehen werden. Man kann sich ein Bild von diesen Daten machen, indem man im Besucher-Logs Report unten die Daten einmal nach Excel exportiert. Diese Daten enthalten eine Fülle an Informationen (u.a. auch den Browser Fingerprint), die selbstverständlich die Datenbank stark belasten und im Laufe der Zeit immer mehr anwachsen lassen.
Daher empfiehlt sich, diese Daten regelmäßig zu löschen. Unter Administratio => Privatsphäre => Daten anonymisieren kann man den Zeitraum bestimmen, innerhalb dessen diese “Rohdaten” aufbewahrt werden sollen. Alle früheren Logs Daten werden gelöscht.

Alte Besuche-Logs - Rohdaten aus der Datenbank löschen

Es muss allerdings auch klar sein, dass spezialisierte Reports wie Segmente und Custom Reports, die auf diesen Daten beruhen und daraus erzeugt werden, nicht mehr verfügbar sind.
Die aggregierten Reports bleiben dagegen erhalten.

Alte vereinigte Berichtdaten aus Matomo löschen

Ein weiterer Punkt im Bereich Daten anonymisieren betrifft das Löschen der vereinigten Berichtdaten. In diesem Falle werden die Berichtdaten, die den Reports in Matomo zu Grunde liegen, komplett gelöscht.

Alte aggregierte Reports in Matomo löschen
Ich empfehle übrigens, den Zeitraum auf zwei Jahre zu setzen – so hat man noch die Option, einen Jahresvergleich anzustellen.

Zwei Aspekte sind hier noch anzumerken:

  1. Die gelöschten Reports können wieder hergestellt werden. Allerdings nur unter der Bedingung, dass die älteren Log-Daten nicht gelöscht wurden. In diesem (eher unwahrscheinlichen Falle) können die Reports erneut generiert werden. Hierfür kann zum Einen das Invalidate ReportPlugin verwendet werden – der Name ist ein wenig irreführend. Weitere Optionen wie z.B. eine Abfrage über die Matomo API werden hier beschrieben: https://matomo.org/faq/how-to/faq_155/
  2. Da jeder definierte Zeitraumreport (täglich, wöchentlich, monatlich, jährlich) archiviert ist, kann man beim Löschen von Reports bestimmte Ausnahmen definieren, die sich auf aggregierte Reports beziehen. Auch Segmente und sogar benutzerdefinierte Zeitspannen sind möglich.

Planung der Lösung – Löschungszeitraum automatisieren

Sobald man einen Zeitraum definiert hat, vor dem man Log-Daten oder aggregierte Reports löschen möchte, wird eine weitere Funktion bei Matomo aktiviert, die das Löschen in regelmäßigen Abständen vornehmen soll.
Diese Funktion zeigt auch die aktuelle Datenbankgröße an und das Volumen, das durch das angestrebte Löschen freigesetzt werden kann:

Definierte aggregierte Reports aufbewahren z. jährliche und monatliche

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert