Besuchslänge von 0 sec. ausschließen und tatsächliche Zeit erfassen

Hallo in die Runde,

mein Piwik zeigt mir an, dass sehr viele Besucher nur 0 - 10 sec Besuchslänge haben. Wie ich bereits herausgefunden habe, liegt dies daran, dass Besucher nur eine Seite aufrufen (Aktion 1) und beim Verlassen Piwik keine weitere Aktion trackt (keine Aktion 2). Die Besuchszeit berechnet sich auch Zeitpunkt 2 - Zeitpunkt 1. Ohne Zeit 2 also keine Differenz, daher Ergebnis gleich 0.

Lösungen habe ich einige im Netz gefunden, jedoch sind diese schon recht alt bzw. bringen neue Probleme mit sich, so dass ich fragen wollte, wie ihr es aktuell umsetzt. Bzw. ob ihr es überhaupt behebt. Ich arbeite gerade mit Piwik 2.16.1.

Die Lösung von SteveG aus dem Thread Sehr viele Besucher mt 0-sec Aufenthaltsdauer erfasst sorgt dafür, dass allen Besucher, die nach einem Seitenaufruf wieder gehen, per default 30 sec Besuchslänge unterstellt wird. Somit kann ich zwar die 0 sec umgehen, aber ich erfahre nicht, wie lang die Besucher tatsächlich da waren, was ich gerne wissen würde.

Dann habe ich noch einen Beitrag von geservon gefunden, der jedoch von 2013 ist. Und einen Beitrag auf virtual-maxim (Piwik: Aufenthaltsdauer und Absprungrate korrigieren | virtual-maxim) der von 2014 ist. Bei beiden bin ich mir auf Grund der zwischenzeitlichen Piwik-Updates und dem allgemeinen Wandel der Browser und Co nicht sicher, ob sie up to date sind.

Ich unterstelle, dass das Thema auch für andere User relevant ist und würde mich über eine Rückmeldung von Euch freuen. Danke schon mal im Voraus.

Grüße … Pierre

Hört sich danach an, dass du das Heartbeat-Plugin deaktiviert hast. (Piwik Settings > Administration > Plugins)

Wenn doch aktiviert, ist dein Javascript-Code korrekt? Die Heartbeat-Zeile sollte so aussehen:

_paq.push(['enableHeartBeatTimer']);

(Ohne weitere Angaben ist das Default-Interval 15s, für andere Werte siehe hier.)

Tom

1 Like

Morgen Tom,

vielen Dank für Deine Hilfe.

Das Heartbeat-Plugin war aktiviert.
Allerdings hatte mein Code nicht die Zeile enthalten.

Nun funktioniert es. Herrlich.
Tolle Community. Gefällt mir :slight_smile:

VG Pierre

Hi,

bei mir war das mit den vielen 0 - 10s auch so. Ich wusste gar nicht, dass man das ändern kann.
Ist die Zahl der Sekunden unbegrenzt, die man als Default-Interval eintragen kann, oder geht das nur bis zu einem bestimmten Wert?
Ich würde bei mir jetzt gerne 45 Sekunden eintragen. Verstehe ich es richtig, dass die Zugriffe dann zu den Besuchen/Zugriffen bei 31 - 60s hinzugefügt werden?

Da das Interval das Interval für den Heartbeat-Ping ist, dürfte es (für dein Anliegen) egal sein, ob du es auf 15s lässt oder auf 45s stellst (45 ist ein Vielfaches von 15).

Mit 45s sparst du halt ein bisschen Ressourcen. Dafür zählen halt dann alle Besucher unter 45s als 0s. Denke ich mal.

Ah ja, okay. Ich hab mir alles noch mal genau durchgelesen und jetzt verstehe ich es richtig.
Ich denke, ich mache es so, dass ich den Heartbeat bei 15s belasse oder höchstens 20s eintragen werde.
Danke!

Ich kram dieses alte Thema noch mal hervor.
Ich habe das Gefühl, es werden nicht mehr alle Zugriffe getrackt, wenn die Besuche nicht so lange dauern.
Momentan habe ich es noch so eingetragen, wie es auch hier angegeben ist:

_paq.push([‘enableHeartBeatTimer’, 15]);

Ist das noch richtig oder muss die 15 mit Apostrophen eingefasst werden, also so?:

_paq.push([‘enableHeartBeatTimer’, ‘15’]);

Nein, 15 ist eine Zahl und kein Text und braucht daher keine Anführungszeichen

Alles klar, danke.
Kann man eigentlich auch eine Zahl eintragen, die kleiner als 15 ist, z.B. die 10?
Oder wird ein Besuch erst ab 15 Sekunden erfasst?

Hallo,

Du kannst jede beliebige Zahl eintragen. Alle X Sekunden schickt dann der Browser eine Anfrage an Matomo. Bei zu kleinen Zahlen kann das natürlich recht viel Serverlast erzeugen.

Das setzt aber voraus, dass der Heartbeat Timer funktioniert, tut er aber seit den letzten Versionen nicht mehr…