Sitzungsdauer in Google Analytics richtig tracken

Die Sitzungsdauer ist fĂŒr Redakteure und Website-Betreiber einer der wichtigsten Messwerte in Google Analytics. Schließlich gibt dieser Wert darĂŒber Aufschluss, ob der Inhalt ĂŒberhaupt gelesen wurde und hilft dabei, Probleme zu identifizieren und Optimierungen vorzunehmen.

Wer sich schon mal intensiver mit Google Analytics beschÀftigt hat, wird aber feststellen, dass die durchschnittliche Sitzungsdauer hÀufig bei 0 Sekunden oder zumindest sehr geringen Werten liegt.

Gut erkennbar: Die verzerrte Sitzungsdauer bis Ende Februar und die korrekte Sitzungsdauer mit meiner Lösung

Das Problem: Google Analytics Sitzungsdauer bei 0 Sekunden

Die Ursache dafĂŒr liegt in der ZĂ€hlweise von Google Analytics: Weil ein stĂ€ndiger Abgleich des Artikels mit den Google-Servern sehr aufwĂ€ndig wĂ€re, ĂŒbermittelt Analytics neue Statistiken nur, wenn neue Interaktionen mit der Seite auftreten. Die Sitzungsdauer misst Analytics dann als Differenz zwischen der ersten und der letzten Interaktion einer Sitzung.

Das Problem dabei: Wenn ein Nutzer eure Seite ĂŒber Google besucht, den Inhalt liest, aber anschließend nicht mehr mit eurer Seite interagiert, fehlt die zweite Interaktion mit der Seite. Die Sitzungsdauer und die durchschnittliche Besuchsdauer fĂŒr die Seite werden daher mit 0 Sekunden angegeben. Dieser Messfehler ist bei AbsprĂŒngen besonders auffĂ€llig, betrifft aber grundsĂ€tzlich alle Ausstiegsseiten.

Die Lösung: Benutzerdefinierte Events verwenden

Benutzerdefinierte Ereignisse sind geeignet, um einen Endpunkt der Sitzung zu markieren, sodass daraus die Sitzungsdauer errechnet werden kann.

Das gute dabei: Die Ereignisse mĂŒssen nicht einmal durch den Nutzer ausgelöst werden. Es reicht vollkommen aus, eine Interaktion per JavaScript an Google zu senden.

Die einfachste Möglichkeit wĂ€re dafĂŒr, jede Sekunde ein Ereignis an Google zu senden. Damit hĂ€tten wir einen sekundengenauen Überblick ĂŒber die Sitzungsdauer. Diese Vorgehensweise wĂŒrde aber die Analytics-Server belasten und wĂ€re nicht sehr effizient.

Stattdessen bietet es sich an, beim Ausstieg aus der Sitzung ein Ereignis zu ĂŒbermitteln. DafĂŒr gibt es in JavaScript den EventListener beforeunload, der beim Schließen des Tabs ausgelöst wird.

Mit der Beacon-Technik von Analytics lassen sich dann benutzerdefinierte Ereignisse auch noch versenden, wenn der Tab schon einige Sekunden geschlossen ist. Damit die Absprungrate dennoch aussagekrĂ€ftig bleibt, setzen wir außerdem noch das Parameter nonInteraction auf true.

Zusammengefasst sieht das Snippet dann so aus:

window.addEventListener('beforeunload',
 function(){
  ga('send', 'event', 'Website', 'Unload', {transport: 'beacon', nonInteraction:true});
 }
);

Dieses Snippet muss in der Website unter dem Analytics-Skript ergĂ€nzt werden und sendet ein Event mit der Ereignis-Kategorie „Website“ und der Ereignis-Aktion „Unload“ an Analytics. Ob das Tracking richtig funktioniert, könnt ihr unter Verhalten ➝ Ereignisse ➝ Übersicht sowie unter Verhalten ➝ Website-Content sehen.