Matomo HeartBeatTimer aktivieren

Für das DSGVO-konforme Tracking von Webseiten-Besuchern hat sich das Tracking Tool Matomo (ehemals Piwik) zum ernstzunehmenden Konkurrenten für eine Integration von Google Analytics entwickelt.  In unserer Anleitung für die Matomo Installatio haben wir ausführlich erklärt, wie man das smarte Tool auf einem eigenen Webserver hosten und in die eigenen Websites integrieren kann. Das freut nicht nur die Datenschutzbeauftragten in der Nachbarschaft, sondern ermöglicht uns auch ein flexible Konfiguration der eigenen Tracking-Einstellungen. Und hier spielt der Matomo HeartBeatTimer eine wichtige Rolle.

In diesem Beitrag lösen wir nämlich ein häufig vorkommendes Problem bei der Nutzung von Matomo, das für einzelne Seitenaufrufe eine Seitenverweildauer von 0 Sekunden angezeigt wird. Dazu aktivieren den HeartBeatTimer im Tracking-Skript von Matomo.

Das 0 Sekunden Seitenverweildauer-Problem in Matomo

Tracking-Tools wie Matomo messen das Verhalten von Seitenbesuchern über eine einfache Funktionsweise. In den meisten Fällen wird dazu lediglich die Zeitspanne verglichen, die zwischen einem ersten Seitenaufruf und einem weitern Seitenaufruf bzw. einer klar messbaren Benutzerinteraktion liegt. Beträgt diese Zeitspanne zwischen „Klick 1“ (Seitenaufruf) und „Klick 2“ (Aufruf einer internen Verlinkung) beispielsweise 90 Sekunden, beträgt die Seitenverweildauer 1.30 Minuten.

Was passiert, wenn der Benutzer jedoch nur eine einzelne Seite aufruft und keine weiteren Interaktionen auf der Seite vornimmt? Genau. Die Seitenverweildauer beträgt 0 Sekunden.

Zumindest in der Theorie. Denn es kann durchaus vorkommen, dass ein Benutzer 2, 5 oder 30 Minuten auf einer einzelnen Seite verbringt, wenn die enthaltenen Informationen eine lange Verweildauer ermöglichen. Jedoch kann in der standardmäßigen Integration von Matomo oder Google Analytics dieser Sachverhalt nicht berücksichtigt werden.

Glücklicherweise existiert ein einfacher Lösungsansatz für dieses Problem. So lässt sich die Seitenverweildauer von Einzelbesuchen durch die Erweiterung des Tracking-Codes einfach sichtbar machen.

Matomo HeartBeatTimer aktivieren

Der Matomo HeartBeatTimer hat natürlich nur wenig mit Pulsmessgeräten und Smartwatches zu tun, ist in der Website-Praxis aber durchaus hilfreich. Die Funktion beschreibt eine Erweiterung des Tracking-Codes um eine Zeile, die für die Aktivierung einer Request-Funktonalität sorgt.

Dabei sendet Matomo standardmäßig alle 15 Sekunden einen Request über den Webserver an den User-Client und erhält damit einen Respond, der als Indikator für die weitere Benutzeraktivität auf der Seite gewertet wird, etwa vergleichbar mit dem Ping in einem Netzwerk.

Dazu wird lediglich der im <head>-Bereich einer zu analysierenden Website integrierte Tracking-Code von Matomo um die folgende Zeile angepasst:

<script>
_paq.push(['enableHeartBeatTimer']);
</script>

Es sei jedoch darauf hingewiesen, dass die Aktivierung des Timers bei leistungsschwachen Webservern mit einem hohen Besucheraufkommen (das sollte sich zwar ausschließen, kommt in der Praxis aber immer wieder vor) zu erheblichen Performance-Problemen führen kann.

Denn jeder Request/Respond-Vorgang konsumiert Rechenleistung und blockiert damit einen Teil der Performance-Ressourcen, die für die Verarbeitung anderer Anfragen fehlen kann. Wie du einen Webserver für WordPress optimierst, kannst du in unserem WordPress Performance Guide nachlesen.

Daher kann es sinnvoll sein, wenn die zusätzlichen Requests auf einen Zeitabstand von 30 Sekunden oder mehr erhöht werden, um die Ressourcen des Servers nicht unnötig zu strapazieren:

<script>
_paq.push(['enableHeartBeatTimer'], 30);
</script>

Wir ergänzen einen weiteren Parameter im Skript mit einer Zeitangabe in  Sekunden, die zwischen zwei HeartBeat-Abfragen liegen soll.

Im Anschluss können wir in Piwik für einzelne Seitenaufrufe ebenfalls eine zeitlich definierte Seitenverweildauer von mehr als 0 Sekunden feststellen. In einigen Fällen kann die Konfiguration von Triggern für die Messung der Verweildauer nötig sein.

Für Hilfe bei der Integration des Codes in dein WordPress Child Theme steht dir unser kostenloser WordPress Support gerne zur Verfügung.