Matomo tracked keine Bots

Okay,
Ich muss leider aufgeben.

Der Tracking-Teil ist einfach und man kann dadurch auch gleich mit Segments nach Bots filtern. Aber mir fällt keine Möglichkeit ein, wie man die Ergebnisse im Visitor Log, Profile, Reports usw. anzeigen kann ohne sehr viel davon selbst zu schreiben.

Daher lasse ich die Idee hiermit einmal ruhen:

Kein Problem, es funktioniert ja, aber trotzdem vielen Dank für Deine Unterstützung!

1 Like

Nur der Vollständigkeit halber, was mir beim PHP Client negativ aufgefallen ist. Die Tracking Funktion hängt an jede aufgerufene URL den _GET Parameter an jede URL dran. Nachdem sehr viele URLs umgeschrieben werden und auch der _GET Parameter davon betroffen ist, ist das zusätzliche dranhängen des $_GET Parameter eher eine unnötige Unschönheit. Betroffen oder besser gesagt ausgelöst wird das in der MatomoTracker.php

    protected static function getCurrentQueryString()
    {
        $url = '';
        if (isset($_SERVER['QUERY_STRING'])
            && !empty($_SERVER['QUERY_STRING'])
        ) {
            $url .= ''; // $_SERVER['QUERY_STRING entfernt
        }

        return $url;
    }

Darauf hätte man schon stoßen können, wenn man die erste Zeile der Beschreibung des BotTracker-Plugins gelesen hätte: “BotTracker ist a plugin to exclude and separately track the visits of bots, spiders and webcrawlers, that hit your page”

Das Plugin schließt also alle Bots from Tracking aus und schreibt seine Daten in eine eigene Tabelle.

Am Einfachsten: Einfach den Image-Pixel einbauen:

How do I enable tracking for visitors when JavaScript cannot be used on a page (or for Visitors that have disabled Javascript)? FAQ - Analytics Platform - Matomo

und Parameter &bots=1 aktivieren.

Sollte man es dann noch detaillierer benötigen, dann kann man sich mit einem kleinen Plugin eine CustomDimension schreiben lassen:

Auch wenn nun alles so funktioniert, wie erwartet und ich bereits geschrieben habe, aber das mit dem Image Pixel ist alles andere als eine Lösung, um Bots tracken zu können. Ein Blick in die access_log verrät auf einfachste Weise, dass dieses Image Pixel nur dafür dient, um im Fall von deaktiviertem Javascript den Request trotzdem tracken zu können UND die aufgerufene Seite auch vollständig gerendert wird, was im Fall von Bots definitiv nicht zutrifft. Andernfalls würde man das in der access_log sehen können.

Kannst Du Dir diesen Satz von Dir nochmal durchlesen. Da ist ein leichter Widerspruch drin…

Jeder andere Mitleser hat das wohl schon richtig verstanden. :wink:

Das Plugin schließt also alle Bots from Tracking aus

-> Die Daten werden nicht im “normalen” Matomo Tracking verarbeitet und aufgezeichnet

und schreibt seine Daten in eine eigene Tabelle.

-> Die “abgefangenen” Daten wandern in eine eigene Datenhaltung des Plugins und werden in den Reports gesondert angezeigt. Es wandern hier keine Daten in das “normale” Matomo Tracking.

Quatsch… damit kann man problemlos ein komplettes Tracking abbilden, nur eben nicht so komfortabel, wie durch das Javascript. Hier die Doku dazu: Tracking HTTP API: API Reference - Matomo Analytics (formerly Piwik Analytics) - Developer Docs - v3

Die meisten und interessanten Bots machen richtige GET requests. HEAD requests sind damit nicht abgedeckt, aber um das reporten zu wollen, braucht es schon einen ganz speziellen use-case.