Matomo zeigt nur die Spitze des Eisbergs

Zeichnung eines im Wasser treibenden Eisbergs; nur 10% sind über der Wasserlinie, 90% sind darunter

Alles, was wir über die Nutzung wussten, ist falsch. Das war mein erster Gedanke, als ich die bisher mit Matomo ermittelten Zugriffszahlen mit den Zahlen aus dem Server-Logfile verglichen habe.

Schon aus einem vorherigen stichprobenartigen Vergleich war bekannt, dass es deutliche Unterschiede bei der Zählung der Besuche zwischen Matomo und Logfile gibt:

Bildschirmfoto eines Tweets. Der Text lautet: “Krass, wie unterschiedlich Zählungen von Besuchern ausfallen können: links offline mit Matomo aus dem Serverlog gezählt, rechts online mit Matomo gezählt. Offenbar lassen sich Linux-Nutzer nicht so gerne zählen.” Darunter ein Bild: “Zwei Tabellen mit Besucherzählern nach Betriebssystem: links führt GNU/Linux mit 335 Besuchen, gefolgt von Windows 10 mit 249 Besuchen. rechts kommt GNU/Linux gar nicht vor, Windows 10 hat 134 Besuche.”

Ein paar Hintergrundinformationen, wieso die Zählung unterschiedlich ist. Im Serverlogfile wird jede Anfrage an den Webserver verzeichnet, der HTML-Code der Webseite, alle Bilder, JavaScript-Code, Stylesheets usw. Aus diesen Antworten baut der Webbrowser dann die Ansicht der Webseite zusammen. Matomo hingegen zählt die Besuche anders. Hier wird JavaScript-Code und/oder ein Zählpixel in die Seite eingebunden, das vom Webbrowser aufgerufen bzw. ausgeführt werden muss. Das ist aber letztlich nur eine Bitte, der ein Browser nicht nachkommen muss. Zudem führt Matomo die Zählung nicht durch, wenn der Do not track HTTP-Header gesetzt ist, man also angegeben hat hat, dass man nicht von Trackingsoftware gezählt werden möchte. Insbesondere datenschutzaffine Personen haben ihre Browser so eingestellt, dass sie nicht von Matomo gezählt werden, sei des durch Setzen von Do not track oder indem sie der Zählbitte von Matomo nicht nachkommen, z.B. durch Browserplugins, die einen Aufruf von Matomo blockieren.

Warum man man es trotzdem so kompliziert? Manchmal kommt man nicht so einfach an die Serverlogfiles heran, weil der Dienstleister das nicht vorsieht. Bei der Meldung an Matomo werden zudem deutlich mehr Informationen über das Gerät und den Webbrowser übertragen, z.B. Größe der Anzeige, unterstützte Plugins usw. Damit kann man seine Webseite besser an die Bedürfnisse seines Publikums anpassen. Durch diese ausführlichen Informationen kann Matomo auch wiederkehrende Besucher*innen deutlich besser erkennen. Im Serverlogfile sind die Informationen deutlich spärlicher:

192.168.1.0 - - [30/Sep/2022:01:49:25 +0200] "GET /config/getuser?index=0 HTTP/1.1" 200 9890 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0"

Man sieht die (anonymisierte) IP-Adresse, den Zeitpunkt des Zugriffs, die angeforderte Webseite und den User-Agent, also die Selbstbeschreibung des Webbrowsers bzw. Programms, das den Zugriff durchgeführt hat. Vorteil vom Serverlogfile ist, dass alle Zugriffe protokolliert werden. Das ist aber auch zugleich ein Nachteil. Wie oben geschildert gehören zu einer Webseite in der Regel eine Vielzahl von Dateien (Bilder, Stylesheets, JavaScript). Eine einzige Ansicht der Webseite taucht folglich im Serverlogfile mit einer Vielzahl von Einträgen auf. Außerdem stammt ein großer Teil der Aufrufe von Bots/Crawlern, die für ihre Zwecke (Suchmaschinen, Anbieter von SEO-Dienstleistungen) eine Kopie der Webseite haben wollen. Darüber habe ich schon im Beitrag Kommt ein Bot zu Besuch geschrieben.

Es ist also gar nicht so einfach, aus der Menge der Daten im Serverlogfile die richtigen Informationen herauszufinden. Zum Glück gibt es dafür Programme. Ich habe zum Verarbeiten der Logfiles GoAccess (mit der Option --ignore-crawlers) verwendet. Als Beispiel habe ich mir die Logfiles des Open-Data-Portals für den September 2022 tageweise angesehen. Während die Anzahl der Aktionen nicht so richtig interessant ist (man könnte immer wieder auf Neu laden klicken und so die Zahl künstlich in die Höhe treiben), ist die Zahl unterschiedlicher Besucher*innen (in GoAccess unique_visitors genannt) aussagekräftiger. Hier ist der direkte Vergleich der von Matomo und den mit GoAccess aus dem Logfile ermittelten Zahlen:

Diagramm, das die eindeutigen Besucher im Open-Data-Portal Schleswig-Holstein für jeden Tag im September 2022 zeigt. Einmal wurde mit Matomo gemessen, das zweite Mal mit GoAccess. Während die mit Matomo gemessenen Werte immer knapp unter 100 liegen, schwanken die mit GoAccess gemessenen Werte zwischen 250 und 450, in einem Fall sogar bis 550.

Im Vergleich zu Matomo sind die aus dem Logfile ermittelten Zahlen um den Faktor 4 größer. In den bisherigen Zählungen wurden 75% der Besucher*innen nicht berücksichtigt. Die Nutzung offener Daten ist deutlich größer als bisher angenommen.

Das Fehlen von ¾ der Aufrufe in den bisherigen Zählungen hat aber noch weitere Konsequenzen. Die bisher auf Basis der Zahlen von Matomo ermittelte Liste der beliebtesten Datensätze im Open-Data-Portal stimmt so nicht. Abgesehen von den generell höheren Aufrufzahlen gibt es einige Datensätze, die bisher gar nicht auftauchten, aber tatsächlich mit einigem Abstand am häufigsten abgerufen werden.

Viele Open-Data-Portale in Deutschland ermitteln ihre Zahlen mit Matomo. Bei der Nutzung von Open-Data dürfte es also ein ziemlich großes Dunkelfeld geben.