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:

https://matomo.org/faq/how-to/faq_176/

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: https://developer.matomo.org/api-reference/tracking-api

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.

Nur um Dein Wissenspektrum etwas zu erweitern. GET allein ist kein Garant dafür, dass eine Seite auch gerendert wird. cURL lässt grüßen…

Genauso wenig ist es möglich ein uneingeschränktes Tracking nur mit dem Image Pixel zu ermöglichen. Warum nicht? Na ganz einfach, weil es dafür notwendig ist das Image bei noscript auch zu laden, was wiederrum die access_log ausweisen müsste. Tut es aber nicht.

Also erzähl mir nix!

Das stimmt, war aber auch nicht gemeint. Ein GET Request auf dem Image-Pixel schon.

Du bringst hier einiges mächtig durcheinander. Falls es dazu aber wieder konstruktive Fragen geben sollte, gern jederzeit das Forum verwenden.