Leserengagement über die Scrolltiefe messen in Matomo und Google Analytics

Schon in den vorhergehenden Beispielen ging es um die Frage, wieweit ich das Leserengagement erfassen kann, wenn der Besucher nur eine Seite besucht – as bei Blogs bekanntlich häufiger der Fall ist. Im dritten Teil geht es nun das Messen der Scrolltiefe.

Content-Messen in Matomo

Um das Funktionieren dieser Methode zu verstehen, stellt man sich einen längeren Text in aufeinander abfolgende Textblöcke vor. In HTML bedeutet das, dass ein Text in eine Folge von Containern zerlegt wird (selbstverständlich gilt das für alle Arten von Content wie Bilder, Videos etc.). Jeder dieser Container wird dann gekennzeichnet.

Für diese Methode gibt es eine eigene Terminologie: Der Contentnamen (content-name) bezeichnet den Textblock als ganzen, die Contentteile die einzelnen Container (content-piece). Impressions bezeichnen dann die Häufigkeit der aufgerufenen einzelnen Teil, Interaction die Interaktion des Besuchers mit den jeweiligen Elementen (Klick auf Video, Bild zur Vergrößerung).

Matomo hat schon in der Grundinstallation einen Report Inhalt im Bereich Verhalten, allerdings werden dort ohne vorherige Anpassung der Technik keine Daten gesammelt. Erste Voraussetzung für das Datensammeln ist eine Erweiterung des Trackingcodes von Matomo um folgende Zeile: 

 _paq.push([‚trackVisibleContentImpressions‘]);

Alternativ könnte auch der Code “trackAllContentImpressions” lauten, aber damit erfasse ich gerade nicht die einzelne Abfolge von Textteilen. Aber genau das möchte ich ja wissen, ob der zweite, dritte Container meiner Texte erreicht werden. Dazu wird der ganze Text als Container mit dem Tag data-track-content ausgzeichnet und dem Container mit dem zusätzlichen Tag data-content-name=”XXX” eine bezeichnung verpasst. Die einzelnen Untercontainer erhalten nun spezifische Auszeichnungen mit einem weiteren Tag: data-content-piece=”Teil1”. Ähnlich wie im Event-Tracking stehen Name und Teil in einem hierarchischen Verhältnis, d.h. unter dem Namen stehen die jeweils above the fold erreichten Teile. Sicher wird Teil 1 häufiger erreicht werden als der letzte Teil.

Auch hier stelle ich mir die Frage, wie ich die Container dimensionieren soll. Ich selbst orientiere mich an den Zwischenüberschriften, die jeder strukturierte Text haben sollte. (Einen langen Fließtext wird im Internet kaum jemand lesen wollen.)

Alternative – Scrolltiefe messen mit JavaScript

Die Erstellung solcher Container ist manuell oder auch mit dem Tag Manager aufwändig. Eine interessante Alternative bietet Sebastian Offers in seinem Blog. Er misst das Leserengagement mit Hilfe eines Scripts, das den Umfang (letztlich angezeigte Höhe im Browserfenster) des gesehenen Textes in Verhältnis setzt zur Gesamthöhe und daraus den prozentualen Anteil errechnet. Das Skript erfasst dabei Leseschritte in Prozentstufen, die ich als String frei wählen kann. Nur würde ich größere Lesefortschritte messen als in dem Beispiel angegeben (also 15 – 30 – 45 % usw.). Das Skriptbeispiel steht hier: https://www.analytics-sem-tutorials.de/piwik-analytics/matomo-scroll-tracking/ 

Scrolltiefe messen mit dem Google Tag Manager

Google Analytics bietet über den Tag Manager eine mittlerweile relativ komfortable Option, die Scrolltiefe – ähnlich wie bei Sebastian – in % zu messen. Dazu muss ich zunächst die drei integrierten Scroll-Variablen aktivieren.

 Als Triggertyp wähle ich Scrolltiefe und gebe dann die Prozentsätze ein (s.o. 15 – 30 – 45 % usw.). 

Ich könnte auch Pixel als Maßstab nehmen, das halte ich allerdings für weniger anschaulich. Im Trigger gebe ich noch eine zusätzliche Bedingung ein z.B. dass der Tag nur aktiviert wird, wenn z.B. im Seitenpfad “/blog/” oder “/aktuelles/” steht (sonst arbeitet er alle Seiten durch). Zuletzt richte ich einen Event-Tag ein, mit der Kategorie “Scrolltiefe”. Unter Aktion stelle ich dann {{Page Path}}, um zu wissen, welcher Beitrag gerade getrackt wird. Im Label kommt die Variable {{Scroll Depth Threshold}}% zum Zuge. 

Nach Prüfung des Tags kann ich ihn veröffentlichen. 

Matomo Webanalyse – URL #Hash in URLs erfassen

Anker verlinken von der eigenen Website heraus i.d.R. andere Seiten, meist auch externe Seiten, wie beispielsweise Links zu den sozialen Accounts. In diesem Falle möchte man ja die Besucher eigentlich nicht verlieren. In der Konsequenz setze ich diese Links mit einem zusätzlichen Target-Parameter: target=_”blank”.

Verbleiben dagegen die Besucher auf der Seite, dann besteht eigentlich kein Grund, dass bei einem Klick auf einen internen Link eine neue Seite aufgeht. Ich halte das sogar – Ausnahmen gibt es – für eine schlechte Nutzerführung. Ich erinnere mich noch an eine Website eines Münchner Bildungsanbieters: bei jedem internen Linkklick ging ein neuer Tab auf. Fünf Klicks = fünf neue Tabs.

Viele Websites setzen Anker, die gewöhnlich zur Navigation innerhalb einer Seite eingesetzt werden. Das ist v.a. bei umfangreichen Seiten nützlich; oben erhalte ich wie in einer Abfolge von Überschriften einen Überblick über den gesamten Seiteninhalt. Jede Überschrift ist mit genau dem Absatz verlinkt, auf den ihr seiteninterner Anker verweist. Insbesondere so genannte Onepager arbeiten mit diesem Prinzip.

Also als Beispiel steht oben auf der Seite: <a href=“#Tracking-von-Hashurls“>Tracking von #-URLs</a>
Weiter unten steht dann der anzusteuernde Absatz: <h2><a id=“Tracking-von-Hashurls“>Eine zweite Überschrift</a></h2>

In der Regel erhält dann mit dem Kick auf den Anker-# auch die URL eine zusätzliche Parameter-Auszeichnung wie z.B. cofima.de/20-09-22/webanalysis-mit-matomo#tracking -von-Hashurls

Soweit so gut. Die Frage stellt sich selbstverständlich beim Websitetracking: werden die Seiten mit #-Parameter erfasst? Oder nicht? Die erste Nachricht: nein, Matomo erfasst diese Seitenauszeichnungen nicht. Hier bieten sich drei (sicher habe ich weitere Möglichkeiten übersehen) Lösungen an – wie immer in der Webanalyse mit unterschiedlicher Qualität.

Parameter in den globalen Websiteeinstellungen von Matomo anpassen

Die einfachste und damit zugleich schlechteste Möglichkeit besteht in der Anpassung der Globalen Website-Einstellungen. Hier findet man relativ weit unten in der Verwaltung den Punkt: “URL Fragmente behalten”. Ins leere Feld kann man nun einen Haken setzen. Allerdings wird der Klick und Aufruf der URL mit Parameter nur getrackt, wenn die Seite aktiv direkt aufgerufen wird (also eigentlich der Anker auf einer anderen Seite steht, als der Zielabsatz). Auf der Matomoseite wird diese Einschränkung deutlich gemacht: If the user loads example.html and then clicks on an anchor link to example.html#contact within this same page, Matomo will not track this click as a new page view.

Matomo Globale Website Einstellung URL Parameter Tracken

Da die Ankerklicks aber meistens von derselben Seite erfolgen, werden sie nicht erfasst. Außer der Besucher ist so freundlich, die Seite mit dem #-Parameter nach dem Aufruf noch einmal zu aktualisieren. Was nicht unbedingt wahrscheinlich ist.

Anker in einem neuen Tab öffnen

Eine Lösung wäre demnach, dass zusätzlich zur ersten Maßnahme die #-URL direkt aufgerufen wird. Der Link muss also in einen neuen Tab oder gar ein neues Fenster führen. In dem Falle wäre dann der Ankerlink um die Targetdefinition ergänzt: <a href=“#Tracking-von-Hashurls“ target=”_blank”>Tracking von #-URLs</a>

Anker-Klicks tracken mit Matomo-Ereignis

Eine etwas aufwändigere aber auch sichere Alternative besteht darin, jeden Ankerklick als Ereignis zu definieren. Bekanntlich wird ein Ereignis-Tracking meist dann eingesetzt, wenn eine Aktion eines Nutzers keinen erfassbaren URL-Wechsel nach sich zieht (Videoklick, Bildvergößerung, Formular absenden). Ereignisse erhalten eine hierarchische Bezeichnungstriade aus Kategorie, Aktion und Name (Value lasse ich hier einmal beiseite). Ereignisse finden sich im Reportbereich Verhalten. Der Code: onclick=“javascript:_paq.push([‚trackEvent‘, ‚Kategorie‘, ‚Aktion‘, ‚Name‘]);

Man könnte also Kategorie = Seitennamen setzen, Aktion=Klick und Name=ID. Das sähe dann so aus: <a href=“#Tracking-von-Hashurls“ onclick=“javascript:_paq.push([‚trackEvent‘, ‚Matomo Webanalyse‘, ‚Klick‘, ‚Tracking-von-Hashurls‘]);>Tracking von #-URLs</a>

Hier erledigt die Kategorie die Grobunterscheidung, falls ich mehrere Seiten mit AnkerURLs habe, der Name dann die Differenzierung auf jeder einzelnen Seite. Selbstverständlich wäre auch eine andere Matrixstruktur denkbar, die ggf. schwerer zu übersehen ist: Kategorie = Ankerklick, Aktion = Seitenname und Name = ID. D.h. Aktion muss nicht unbedingt einer tatsächlichen Nutzeraktion entsprechen. In dem Falle hätte ich ggf. nur eine Kategorie unter der die verschiedenen Seitennamen stehen. Der Klick auf den Seitennamen im Report öffnet dann den Überblick über die einzelnen Namen = IDs.

Der (un-)heimliche Leser – Messung des Leserengagements in der Webanalyse

Vor kurzem las ich in dem Newsletter von 121watt (07.07.2020) folgenden Passus: “Ob dein Content sein Ziel erreicht und gut bei deiner Zielgruppe ankommt, kannst du anschließend anhand verschiedener Kennzahlen überprüfen. Eine niedrige Absprungrate gepaart mit einer langen Verweildauer sprechen zum Beispiel dafür, dass sich deine Nutzer intensiv mit deinen Inhalten auseinandersetzen und du ihre Bedürfnisse richtig adressierst.”

Selbstverständlich wissen Alexander Holl und sein Trainerteam es besser, als ihre plakative Aussage hier vermuten lässt.. Denn Absprungrate und Verweildauer sind sehr grobe Kennzahlen für das Besucherengagement. Für mich gaben sie einen Anlass, über das Messen des Engagements, die die Besucher Seiten-Inhalten widmen, etwas detaillierter zu schreiben.

Read More