Piwik Heartbeat-Timer (Besuchsdauer messen)

Piwik bietet eine Funktion, durch die eure Piwik-Installation alle x Sekunden von einem Besucher angepingt wird. So kann ermittelt werden, wie lange Besucher tatsächlich auf der Seite aktiv sind. Das wurde bereits vor ein paar Monaten mit Version 2.14 eingeführt und erfordert nur eine kleine Anpassung des Javascript Tracking-Codes.
Piwik: Enable-Heart-Beat-Timer
Die Funktion heißt “enableHeartBeatTimer” und wird durch die Zeile _paq.push([‘enableHeartBeatTimer’, 5]); aktiviert. Der zweite Parameter gibt an, alle wieviel Sekunden die Piwik-Installation angepingt werden soll. Die Entwickler-Dokumentation sagt dazu folgendes:
enableHeartBeatTimer( delayInSeconds ) – “Install a Heart beat timer that will regularly send requests to Piwik in order to better measure the time spent on the page. These requests will be sent only when the user is actively viewing the page (when the tab is active and in focus). These requests will not track additional actions or pageviews.”
Anfragen werden also nur gesendet, wenn der Nutzer die Seite auch im aktiven Tab und nicht etwa im Hintergrund oder einem anderen Tab geöffnet hat. Es muss nur der Javascript Tracking-Code aktualisiert werden, in der Administrationsoberfläche müssen keine Vorstellungen vorgenommen werden.
Der große Vorteil ist, dass die Besucher-Metriken für die Absprungzeit und die Aufenthaltsdauer damit bedeutend akkurater und aussagekräftiger werden. Bisher wurde die Aufenthaltsdauer aus der Summe der Zeitdifferenzen gemessen, die zwischen verschiedenen Seitenaufrufen vergeht. Doch bei einer einzelnen Seitenansicht ergibt sich daraus logischerweise keine tatsächliche Aufenthaltsdauer. Mit dem Heart-Beat-Timer ändert sich das zum Glück.
Zeile im vollständigen Tracking-Code
<script>
var piwikCustomVars = [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking', true]);
_paq.push(['enableHeartBeatTimer', 5]);
(function() {
...
})();
</script>
Achtung, Anfragen-Schwemme
Setzt das Zeitlimit nicht zu kurz, denn der Server wird kann so leicht mit Anfragen überschwemmt werden. Wenn Dutzende oder gar Hunderte Browser gleichzeitig Anfragen senden, dann macht sich das sicherlich früher oder später bemerkbar. Ich habe mich für 5 Sekunden entschieden und werde die Server-Log-Dateien einfach mal im Auge behalten. Notfalls muss ich die Zeitdauer erhöhen.
Quellen/Weiterlesen
- Developers @ Piwik.org: Javascript-Tracking-Guide
- Developers @ Piwik.org: Javascript Tracking API
- Piwik.org: Changelog Version 2.14
Auszug aus Chrome Entwickler-Konsole

Chrome Developer Console / Netzwerk: Pings an Piwik
0 Comments