URLs gezielt segmentieren – ein Ärgernis bei Matomo und mögliche Lösungen

In meinen Schulungen und Beratungen zu Matomo taucht mit Regelmäßigkeit die Frage auf: Wie kann ich gezielt URLs oder URL-Bereiche segmentieren? Die Frage, die dahinter steht, zielt auf eine Überprüfung des eingestellten Contents. Habe ich im Verzeichnis “Aktualitaet” eine Sammlung meiner Presse- und sonstigen Mitteilungen, stelle ich mir (oder der leitende Verantwortliche) die Frage, wie und in welchem Umfang die eigenen Seitenbesucher die Beiträge konsumieren.

Dabei spielen verschiedene Metriken eine Rolle, z.B.

  • Häufigkeit der Seitenansicht und einzelnen Seitenansicht
  • Wie oft war die Seite Einstiegsseite (für SEO relevant)?
  • Besuchszeit auf der Seite (ggf. in Bezug gesetzt zur Zeichenanzahl)
  • Wieviel Prozent der Seite wurden erscrollt?

Umfangreiche Beitragsseiten haben oft das Schicksal von Ausstiegsseiten. Das heißt, ihre Besuchszeit ist zuletzt 0 Sekunden. Ein HeartBeatTimer oder das Scroll-Ereignis können hier Abhilfe schaffen. Hier finden Sie Beiträge zum HeartBeatTimer und zur Messung des Leserengagements (Einrichtung des Scrollens mit dem Matomo Tag Manager).

Gezielte URL Segmentierung war in Matomo einmal möglich

Tatsächlich war es in Matomo möglich, Seiten-URLs gezielt als Segment anzulegen und auszuwerten. Gezielt heißt, dass in diesem Segment nur diese Seiten oder Seiten dieses Verzeichnisses im Seiten-Report ausgegeben wurden. Mit dem Update auf Matomo-Version 3.12 war diese Option passé.

Die Sessions mussten zwar nach wie vor die Bedingung erfüllen, dass in ihrem Verlauf die gewünschten Seiten aufgerufen wurden. Aber alle anderen besuchten Seiten flossen ebenfalls in die Reports mit ein und “verwässerten” damit das Segmentierungs-Ergebnis.

Unternehmen, die hunderte Seiten und Bereiche automatisiert auswerteten, hatten plötzlich keine brauchbaren Reports mehr. Ein Shitstorm war unausweichlich.

Eine Lösung – aber nur für die Zukunft: Matomo-Ziele?

Nun wurde empfohlen, statt der URL-Segmentierung Ziele anzulegen. Das wäre sicher ein probates Mittel; denn Ziele fokussieren genau ihre Bedingungen. Eine Zieldefinition ist einfach eingerichtet über die Zieleverwaltung, bei die Seiten-URL bestimmte Bedingungen erfüllen muss. Hier können also Verzeichnisbereiche oder einzelne Seiten als Ziel definiert werden und segmentiert werden.

Ziele in Matomo einrichten - Seiten-URL

Nun kann man auch auf dieses Ziel segmentieren über die Ziel-ID.

Allerdings sind nur die Zielreports fokussiert auf die Bedingungen, der Seitenreport selbst zeigt wiederum alle in der Session aufgerufenen Seiten, so dass die Empfehlung, auf Ziele zu gehen, eine unbefriedigende Lösung darstellt. Am Zustand des URL Reports ändert sich also auch hier nichts, auch hier werden alle sessionbezogenen URLs ausgegeben.

Filter in Matomo Custom Reports

Das kostenpflichtige Matomo Plugin Custom Reports ermöglicht das Einrichten eines benutzerdefinierten Reports als Tabelle (in Tabellen-Reports stehen die Dimensionen voran, ähnlich wie in Universal Analytics). Die ausgewählte Dimension Seiten-URL kann dann noch weitere Dimensionen erhalten (Gerätetyp z.B.). Der Dimension werden nun Metriken zugeordnet (Besuche, Absprungrate, Besuchszeit usw.). Mit dem zusätzlichen Setzen einer Bedingung – besuchte Seiten URL enthält oder entspricht … wird ein Filter auf genau die gewünschten Seiten gesetzt. Im Custom Report sieht das so aus:

Benutzerdefinierten Bericht Matomo einrichten

Und die Filter-Bedingung geht dann auf die entsprechende Seite oder das Verzeichnis.

Custom Report Matomo einrichten

Der Nachteil dieses Vorgehens ist ähnlich wie bei dem Zielreporting, dass nur Daten, die in Zukunft eingehen, verarbeitet werden. Anders als Segmente gehen in Ziele- und Benutzerdefinierte Reports nur Daten ein, die ab dem Zeitpunkt ihrer Erstellung gesammelt werden.

Matomo hat hier allerdings einen Workaround entwickelt, wie historische Daten dennoch einbezogen werden können. In dem Falle geht es darum, Daten zu “entvalidieren”, also invalidate Data. In diesem Prozess werden dann die Raw Logs erneut auf die Datenbank überschrieben und stehen dann auch für neue Reports zur Verfügung. Entweder werden die Daten nach der Autoarchivierung wieder überschrieben, oder sie werden mit dem eingerichteten Cronjob zum gegeben Zeitpunkt wieder aktualisiert.

Matomo zeigt drei Wege auf, historische Daten aufzubereiten, zwei seien hier genannt. Einmal gibt es für diesen Prozess ein kostenloses Plugin: https://plugins.matomo.org/InvalidateReports 

Alternativ kann man via API -URL den Prozess anstoßen, dafür gibt Matomo ein Beispiel:

?module=API&method=CoreAdminHome.invalidateArchivedReports&idSites=1,3,5&dates=2011-10-15,2012-01-01&token_auth=xyz – hierfür benötigt man das Athentifizierungstoken. Die URL kann auch gezielt auf Segmente angewendet werden mit einer zusätzlichen Angabe: &segment=pageUrl=@example.org/contact

Die Matomo Alternative – Eintrag in die config.ini.php

Alternativ kann man als Admin in die config.ini.php unter [General] folgenden Eintrag vornehmen: enable_segments_cache = 0

In dem Falle wird der Zustand vor der Version 3.12 wieder hergestellt und nur die URLs Segmentiert, die der Bedingung entsprechen. In meinem Foodblog https://arteculinaria.net habe ich diese Option implementiert. Beim Segmentieren auf alle Blogartikel werden nur diese in dem Seitenreport angezeigt. (Segment auf Seiten-URL enthält /20, da alle Artikel-URIs im Blog im Permalink mit dem Jahresdatum /20… beginnen)

Segmentierung Matomo mit alternativer Lösung

Segmentvergleiche sind nach wie vor möglich. Hier sind 6 Besuche über andere nicht erfasste Gerätetypen gekommen. Die Vergleichssegmente beziehen sich wie man sieht auf das erste Segment Blogartikel.

Segmentvergleich-matomo

 

Eine weitere (kostenlose) Option: Custom Dimensions

Mit entsprechend definierten Custom Dimensions ist es ebenfalls möglich, einen Report gezielt auf bestimmte URLs oder Verzeichnisse zu erzeugen. Dazu lege ich in der Administration unter Websites => Custom Dimensions auf der Hit-Ebene eine neue Custom Dimension an, z.B. mit dem Namen „Seitenaufruf Blog“. Das muss auf der unteren Ebene (also nicht der Sessionebene) geschehen, weil es ja um einzelne Seitenaufrufe geht. Im Seitenaufruf definiere ich den Pfad, der extrahiert werden soll. Die regulären Ausdrücke müssen in Klammern stehen.

Beim Anlegen der Dimension vergibt Matomo eine ID, die ich mir merke. Jetzt wechsle ich in den Matomo Tag Manager und rufe die Matomo Tracking Variable auf und trage ziemlich weit unten unter Custom Dimension die ID ein und als Variable {{PagePath}}.

Nach einer bestimmten Zeit (hängt von der Datenaktualisierung bei Matomo ab) finde ich unter Verhalten => Seitenaufrufe Blog meinen Report:

Auch diese Lösung hat den Nachteil, dass ich für historische Daten eine Invalidation durchführen muss, oder auf historische Daten verzichte.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht.