Interne Verlinkungen in Google Analytics (UA und GA4) zu erfassen und anschließend zu analysieren ist in mehreren Hinsichten extrem spannend: Sie spielen für die Website-Usability eine große Rolle und sind auch für SEO-Optimierung unheimlich wichtig. Wie du das gesamte Tracking deiner Website-Verlinkungen mit dem Google Tag Manager (GTM) RICHTIG automatisieren kannst und von welcher Lösung ich abrate, erfährst du im folgenden Beitrag. + Exkurs: Externe Verlinkungen!
Inhalt
Interne Verlinkungen tracken: Die Vorteile
Interne Verlinkungen in Google Analytics liefern einen ganzen Blumenstrauß💐 an wertvollen Informationen.
Wurdest du von deinem Chef und / oder Kunden nicht auch schon mal gefragt:
- Welcher Button wurde auf Seite X besonders häufig geklickt?
- Welcher Link auf Seite Y funktioniert am besten?
- Wie wird das Menü eigentlich genutzt? Und können die vielen Menü-Unterpunkte nicht eigentlich entfernt werden, weil sie eh keiner anklickt und sie nur verwirren?
- Welcher Teaser performt eigentlich am besten?
Meist ist dabei nicht die Frage OB ein bestimmter Button oder Link geklickt wurde: Ja, natürlich nutzen User das Menü – am häufigsten den Button links oben um das Menü zu öffnen.
Das wird immer der meist geklickte Link sein.
Dazu brauchst du keine Analyse.
Viel spannender ist jedoch WIE deine User bestimmte Interaktions- und Navigations-Elemente auf deiner Website nutzen.
Es gibt ja häufig viele, viele Wege um ans Ziel – der Conversion – zu gelangen.
Die Frage ist: Welcher Weg ist der Wichtigste?
Und welche Wege sind eventuell so unnötig, dass sie entfernt werden können um die Websitenutzung zu vereinfachen?
Interne Verlinkungen spielen also für die Website-Usability eine enorme Rolle.
So kann man bspw. pauschal sagen: Buttons und Links die über einen längeren Zeitraum hinweg gar nicht geklickt werden, sind entweder schlecht platziert oder schlichtweg unnötig.
Für häufig geklickte Buttons und Links können hingegen Tests vorgenommen werden um diese noch besser hervorzuheben. Wird bspw. häufig auf ein bestimmtes Produkt oder Produktkategorie geklickt, kann dieses im Teaser noch stärker promoviert werden.
Wird der Versandkosten-Link im Footer überdurchschnittlich häufig geklickt, lässt das jedoch eher darauf schließen, dass viele User (verzweifelt) nach einer bestimmten Information suchen. Hier könnte man einen Information-Balken „Versandfrei ab €70“ einführen und testen ob User dadurch schneller und einfacher die gewünschte Information finden:
Auch für SEO sind Tracking und Analyse von Onsite-Links extrem spannend, denn auch interne Links vererben Linkjuice. Zwar kann man damit die Domain-Pop nicht steigern, fürs Ranking macht es jedoch einen gewaltigen Unterschied ob eine Unterseite mit 2 Links oder 100 Links versorgt wird.
Hinter vielen großen SEO-Erfolgen verbirgt sich also auch eine clevere interne Verlinkung – und die gehört getrackt und regelmäßig analysiert.
Es kann also sein, dass JEDES Interaktions-Element auf deiner Website IRGENDWANN als wichtig klassifiziert wird: Heute fragt der Chef nach der Nutzung des Menüs, morgen nach den unzähligen Kategorien auf der Startseite, übermorgen nach den internen Teasern, in drei Wochen nach den Social-Media Icons…
Da kommt man mit dem Tracking gar nicht nach – vor allem wenn du für jede User-Interaktion ein individuelles Ereignis in Google Analytics anlegst.
Das ist zwar für die Analyse fein, weil du dadurch sehr spezifisch sein kannst.
Auf die Dauer ist das jedoch nicht handelbar.
Deswegen kann das Tracking der gesamten Onsite-Verlinkung deiner Website automatisiert werden!
Wie?
🔽 Das erfährst du im Folgenden: 🔽
Hinweis: Manche meinen, es ist nur sinnvoll das zu tracken was tatsächlich benötigt wird.
Ja das stimmt, weil das Analyse-Tool ansonsten überladen wird.
Tatsächlich sieht die Realität aber anders aus… Zumindest mir ist es schon mehrmals passiert, dass ich Trackings nachschleifen musste, weil der Kunde / der Chef den Bedarf erst später entwickelt hat. Ad-hoc konnte ich somit keine Antworten liefern, was aus Analyse-Sicht sehr (sehr) unangenehm ist.
Deswegen auch die Ffolgende, automatisierte Lösung und mein Motto beim Button-Tracking: Besser mehr als weniger!
Buttons und Links: Die Klassifizierung
Bevor es los geht müssen die vielen verschiedenen Interaktions- und Navigations-Elemente auf der Website erstmals identifiziert und kategorisiert werden.
Diese Arbeit übernehme ich im folgenden für dich.
Technisch gesehen gibt es auf einer Website typischerweise:
- Buttons (Hyperlinks)
- Links (Hyperlinks)
Formular Submits: Nicht Teil dieses Blogbeitrags!
Beispielsweise sind Hyperlinks:
- Links in Menüs
- Buttons auf Teaser
- Interne Werbebanner
- Klickbare Bilder
- Klickbare Icons z.B. Warenkorb, Login
Aus Google Analytics Sicht können all diese Hyperlinks in nur zwei Kategorien eingeteilt werden:
- Interne Links
- Ausgehende, sogenannte Outbound Links
Es gibt sogar noch eine dritte Kategorie, die jedoch nichts mit den Links AUF deiner Website zu tun haben:
- Externe Links die bspw. von Social Media oder deinem Newsletter auf AUF deine Website führen
Wichtig: In diesem Blogbeitrag geht es um Verlinkungen innerhalb deiner Website.
Externe Links, d.h. Links die von einer anderen Website, Plattform oder Social Media auf deine Website linken und typischerweise mit UTM-Parameter vertaggt sind, werden in diesem Beitrag nicht berücksichtigt.
Jedoch habe ich weiter unten ein paar wichtige Informationen zusammengefasst, die du unbedingt lesen solltest.
Die Details:
Interne Buttons und Links
Interne Buttons und Links sind alle Klicks auf Hyperlinks, die von einer Seite deiner Website auf eine andere Seite deiner Website führen.
Der User bleibt also in deinen Universum und verlässt deine Website nicht.
Interne Links sind ALLE Links innerhalb deiner Website.
Beispiele:
- Klicks im Menü
- Klicks auf Teaser
- Klicks auf Banner
- Formular Submits
- Newlsetter Anmeldung
- Links im Footer
Outbound Buttons und Links
Outbound Buttons und Links sind Klicks auf ausgehende Links, die also weg von deiner Website führen.
Der User verlässt somit deine Website, dein Universum und wird auf eine andere, externe Webseite oder Plattform geführt.
Beispiele:
- Social Media Interaktionen: Liken, Teilen, Sharen
- Links auf externe Ressourcen
- Affiliate Links
Wie interne und externe Verlinkungen auf deiner Website am besten in Google Analytics erfasst werden, erfährst du im folgenden.
Starten wir mit der internen Verlinkung:
Best Practice Tracking interner Links
Die beste, schönste, einfachste und automatisierte Lösung interne Verlinkungen in Google Analytics zu erfassen ist: via Google Tag Manager. 🥁
Der große Vorteil am Google Tag Manager ist, dass du nur EINMAL das zentrale Tracking Pixel im Quellcode deiner Website implementieren musst und zukünftige Tracking-Wünsche flexibel und direkt über das Tag Management Tool ausspielen kannst – ohne Unterstützung deiner IT.
Der noch größere Vorteil vom Google Tag Manager ist jedoch, dass du das Tracking für die interne Verlinkung sowohl in Universal Analytics (alt) als auch für das neue Google Analytics 4 vornehmen kannst – ohne großes pi pa po.🤓
Generell benötigst du für das Tracking der internen Website-Links ein benutzerdefiniertes Ereignis (Custom Event).
Hinweis: Warum ein Event? Weil User-Interaktionen in Google Analytics per Default als Event getrackt werden.
In Universal Analytics ist ein Event ein vorgegebenes Konstrukt mit 4 möglichen Parametern:
- Ereignis Kategorie (Pflicht!)
- Ereignis Aktion (Pflicht!)
- Ereignis Label
- Ereignis Wert
In Google Analytics 4 ist ein Event frei definierbar – verpflichtend ist lediglich der Ereignisname:
- Ereignis Name (Pflicht!)
- max. 50 Custom Parameter
An diese Vorgaben müssen wir uns halten, der Rest ist frei definierbar.
Wichtig: Im Folgenden zeige ich dir wie ich die interne Verlinkung in Google Analytics Best Practice tracke. Ich hab schon zig Implementierungen gemacht und diese Vorgehensweise hat sich für mich am besten bewährt.
Du kannst das Tracking aber jederzeit anpassen, erweitern und somit für dich individualisieren. Du musst dich auch nicht an meine Nomenklatur halten, sondern Event und Parameter benennen wie du gerne möchtest. Das Tracking ist dann gut, wenn es für dich passt!
Das Konzept
Vor der Umsetzung musst du dir überlegen was du überhaupt wissen möchtest und wie du die gewünschte Information in Google Analytics darstellst.
Mit der internen Verlinkung möchten wir wissen von WELCHER SEITE auf WELCHEN LINK geklickt wurde und WOHIN der Link leitet.
Dazu benötigst du 1) die Seite auf welcher sich der Link befindet.
Die Seite erhältst du in Universal Analytics über die Standard-Dimension „Seite“.
In Google Analytics 4 heißt die Standard-Dimension „page_location“.
Da diese Information bereits im Standard verfügbar ist, benötigst du kein extra Tracking: ✅
Als 2) benötigst du die Information um welchen Link es sich handelt.
Ich meine, diese Information erhält man am besten über den Link Text:
Als 3) benötigst du die Information WOHIN der Link leitet, also die Link URL.
Außerdem können wichtige Zusatzinformationen, wie bspw. ob der Link im Menü oder der Button im Teaser geklickt wurde, erfasst werden. Das erleichtert die Menü- und Teaser-Analyse im nachhinein ungemein.
Menü und Teaser sind nur Beispiele. Die Liste lässt sich jederzeit beliebig erweitern, falls später wichtige Zusatzinformationen hinzu kommen.
Tipp: Der schönste Weg ist, diese Zusatzinformation in eine Custom Dimension zu speichern.
Aus Erfahrung weiß ich aber, dass in der Analyse auf die Custom Dimension vergessen wird. Deswegen bin ich dazu über gegangen alle Informationen direkt in das Event zu packen.
Damit haben wir alles definiert und können die Anforderungen nach Google Analytics übersetzen:
Definition Interne Verlinkungen in Universal Analytics:
- Ereignis Kategorie: Interne Verlinkung
- Ereignis Aktion: Link Text: z.B. Digital Analytics (Menü)
- Ereignis Label: Link URL : z.B. /analytics/
Definition Interne Verlinkungen in Google Analytics 4:
- Ereignisname: interne_verlinkung
- Paramter 1 “link_text”: z.B. Digital Analytics (Menü)
- Parameter 2 “link_url”: z.B. /analytics/
Kurze Beschreibung der beiden Definition: Die Ereignis Kategorie bzw. der Ereignisname kategorisiert das Event.
In die Ereignis-Aktion schreibe ich den Link- oder Button-Text.
Damit ich später in der Analyse auch noch weiß, dass es sich um den Link-Text handelt, schreibe ich zusätzlich die Beschreibung „Link Text“ hardcoded VOR den Text.
Beispiel: link_text: z.B. Digital Analytics (Menü).
Das hat sich bisher gut bewährt!
In das Ereignis-Label schreibe ich WOHIN der Link oder Button linkt. Auch hier schreibe ich die Beschreibung VOR den Text, damit ich später in der Analyse weiß um welche URL es sich handelt.
Wichtig: GA4 benötigt die zusätzlichen Beschreibungen nicht, da die Parameter individuell benannt werden können und nicht „Aktion“ und „Label“ heißen.
Das Ganze klingt jetzt etwas kompliziert – ist es aber gar nicht.
Starten wir mit den Setup und spätestens mit der Analyse verspreche ich einen Aha-Moment💡:
GTM Setup für Universal Analytics
Für das Tracking der internen Verlinkung in Universal Analytics mit dem Google Tag Manager benötigst du:
- einen UA-Tag
- drei Built-In Variablen
- drei User-Defined Variablen
- einen Trigger
Zuerst müssen drei vom GTM integrierte Built-In Variablen aktiviert werden:
- Click Element
- Click Text
- Click URL
Gehe dazu in die Variablen –> Configure und wähle die drei vordefinierten Variablen aus, damit du sie im Anschluss nutzen kannst:
Die Variablen erscheinen jetzt im Bereich „Built-In“ unter Variablen.
Lege im nächsten Schritt eine neue User-Defined Variable für die Click Location an, d.h. ob der Klick im Menü oder Teaser stattgefunden hat:
- Name: JS – Internal Linking – Click Location
- Variablen Typ: Custom JavaScript
- Custom JavaScript: kopiere folgenden Code in das Feld und nimm ggfs. Anpassungen vor
Wichtig: Die Click Location holst du dir am besten via CSS und den Query Selector.
Da die verschiedenen Elemente wie Menü, Teaser, etc. auf jeder Website anders angesprochen werden, musst du hier Anpassungen für deine Website vornehmen. Wie du das am besten machst verrät dir Simo Ahava in seinem CSS Selector Guide.
function(){
var elem = {{Click Element}};
var menu = document.querySelector("#menu");
if(menu.contains(elem)){
return "Hauptmenü";
}
return "";
}
Den Code kurz erklärt: Zuerst hol ich mir das Click Element, d.h. der Links bzw. Button auf den geklickt wurde. Im Anschluss hole ich mir das gesamte Menü und überprüfe ob das Click Element im Menü enthalten ist.
Wenn ja, hervorragend weil dann speichere ich mir „Hauptmenü“ als Click Location. Du kannst statt Hauptmenü auch Menü, Topmenü, etc. schreiben.
Wenn nein, dann ist das Click Element nicht Teil des Menüs und es wird nichts übergeben.
Hinweis: Du kannst hier mit weiteren if-Bedingungen weitere Überprüfungen für deinen Teaser oder sonstige wichtige Elemente hinzufügen, die du speziell im Tracking ausgewiesen bekommen möchtest.
Die fertige Variable sollte wie folgt aussehen:
Lege im nächsten Schritt eine weitere User-Defined Variable für den Click Text an:
- Name: JS – Internal Linking – Click Text
- Variablen Typ: Custom JavaScript
- Custom JavaScript: kopiere folgenden Code in das Feld
function(){ var clicktext = {{Click Text}}; if(!clicktext || clicktext==undefined || clicktext.trim().length<=0){ var elem = {{Click Element}}.querySelector("img"); if(elem.alt.length>0){ clicktext="Bild: "+elem.alt; }else{ var url = elem.src; clicktext="Bild: "+url.substring(url.lastIndexOf('/')+1); } } //die nächsten Zeilen sind nur notwendig, wenn das Menü getrackt werden soll var location = {{JS - Internal Linking - Click Location}}; if(location.length>0){ clicktext = clicktext+" ("+location+")"; } return clicktext; }
Den Code kurz erklärt: In der Regel reicht die integrierte Click Text Variable vom GTM völlig aus. Allerdings kann das Click Element auch ein Bild sein. Da ein Bild keinen Text hat, kann die Click Text Variable auch leer sein. Deswegen hol ich mir via querySelector das Bild und prüfe ob ein Alt-Text vorhanden ist. Wenn der Alt-Text vorhanden ist, schreibe ich diesen in den Click Text. Ist der Alt-Text nicht vorhanden, nehme ich den Datei-Namen vom Bild.
Falls du Klicks auf Bilder nicht tracken möchtest, kannst du diese Variable einfach weglassen und stattdessen nur die Build-In Variable Click Text verwenden.
Die fertige Variable sollte wie folgt aussehen:
Speichern.
Zuletzt benötigst du noch eine Variable für den Trigger. Lege dazu eine weitere User-Defined Variable für den Click URL Hostname an:
- Name: Click URL Hostname
- Variablen Typ: Auto-Event Variable
- Variable Type: Element URL
- Component Type: Host Name
Die fertige Variable sollte wie folgt aussehen:
Speichern.
Jetzt puzzeln🧩 wir alles zusammen.
Lege im nächsten Schritt den UA-Tag an:
- Tag Typ: Google Analytics: Universal Analytics
- Track Type: Event
- Category: interne_verlinkung
- Action: Link Text: {{JS – Internal Linking – Click Text}}
- Label: Link URL: {{JS – Internal Linking – URL}}
- Non-Interaction Hit: False
- Google Analytics Settings: deine Settings Variable
Der fertige Tag sollte wie folgt aussehen:
Füge dem Tag im letzten Schritt den Trigger hinzu:
- Trigger Type: Click – Just Links
- This trigger fires on: Some Link Clicks
- Bedingung: Click URL Hostname contains yourwebsite.com
Hinweis: Auch mailto:-Links sind interne Links. Diese schließe ich allerdings aus der Analyse aus, da Email Adressen PII sind und NICHT (niemals!!) in Google Analytics gespeichert werden dürfen.
Mehr zu PII und Google Analytics erfährst du hier: >> PII Check – Warum du deine Analytics Daten verlieren könntest (und was du dagegen tun kannst)
Der fertige Trigger sollte wie folgt aussehen:
Trigger speichern.
Tag speichern.
GTM-Setup im Vorschau-Modus testen und wenn alles klappt, dass interne Verlinkungs Tracking für UA publishen.
Weiter geht’s mit dem GA4 Setup für den Google Tag Manager:
GTM Setup für GA4
Für das Tracking der internen Verlinkung in Google Analytics 4 können folgende Einstellungen aus dem UA Setup übernommen werden:
- alle Variablen
- der Trigger
Hinweis: Wenn du das Setup NUR für GA4 vornimmst, musst du zuerst die Variablen erstellen. Springe dazu in das Kapitel: GTM Setup für UA.
Die Variablen-Erstellung kannst du 1:1 übernehmen, denn für das GA4 Setup nutze ich die selben Variablen.
Wenn du das Setup für UA UND GA4 vornimmst, hast du die Variablen bereits erstellst und kannst direkt mit der Tag-Erstellung fortfahren.
Für GA4 neu erstellt werden muss:
- der GA4-Tag
Hinweis: Das ist auch der große Vorteil des Google Tag Managers, denn die meisten Einstellungen für das Universal Analytics Setup können ganz einfach für GA4 übernommen werden. Das reduziert die Arbeit deutlich. 💪
Erstelle also einen neuen GA4-Tag:
- Tag Name: GA4 – Event – Internal Linking
- Tag Type: Google Analytics: GA4 Event
- Configuration Tag: wähle deinen GA4 – Basis Configuration Tag
- Event Name: interne_verlinkung
- Event Parameter 1:
- Parameter Name: link_text
- Value: {{JS – Internal Linking – Click Text}}
- Event Parameter 2:
- Parameter Name: link_url
- Value: {{JS – Internal Linking – URL}}
Der fertige GA4-Tag sollte wie folgt aussehen:
Füge dem Tag den selben Trigger wie für Universal Analytics hinzu.
Tag speichern.
GTM-Setup im Vorschau-Modus testen und wenn alles klappt, dass interne Verlinkungs Tracking für GA4 publishen.
✋ Moment, du bist noch nicht fertig.
Damit deine benutzerdefinierten Parameter in Google Analytics 4 erfasst werden, müssen diese erst in GA4 registriert werden.
Wichtig: Ohne Registrierung deiner custom Parameter KEINE Daten in GA4! Der nächste Schritt ist also zwingend notwendig, damit du die interne Verlinkung in Google Analytics 4 analysieren kannst.
Gehe dazu in deine GA4 Property –> Berichtsbereich –> Konfigurieren –> Benutzerdefinierte Definitionen:
Klicke auf den großen blauen Button „Benutzerdefinierte Dimension erstellen“:
- Dimensionsname: link_text
- Bereich: Ereignis
- Beschreibung: Der Link Text für das Tracking der internen Verlinkung.
- Ereignisparameter: link_text
Die fertige Custom Dimension sollte wie folgt aussehen:
Speichern.
Erstelle eine zweite Custom Dimension:
- Dimensionsname: link_url
- Bereich: Ereignis
- Beschreibung: Die URL von wo aus bei der internen Verlinkung hingelinkt wird.
- Ereignisparameter: link_url
Die fertige Custom Dimension sollte wie folgt aussehen:
Ab jetzt werden die internen Button- und Link-Klicks in deinen Google Analytics Properties erfasst. ✅
Interne Verlinkungen analysieren
Ist das Tracking-Setup via GTM erst mal erledigt, musst du in der Regel ein paar Tage warten bis sich eine gute Datenbasis in Google Analytics gebildet hat.
Dann geht es aber ran an die Analysen:
in Universal Analytics
Die internen Link Clicks können in Universal Analytics über zwei Wege analysiert werden:
- Standard Reports
- Custom Reports
Um deine internen Link Clicks in den UA Standard Reports zu analysieren, wähle den Ereignis-Report unter Verhalten –> Ereignisse –> Wichtigste Ereignisse und klicke auf die „Interne Verlinkung“:
Damit hast du deine Analyse schon mal auf die „interne Verlinkung“ eingeschränkt.
Du siehst nun die Ereignisaktion – den Link Text – als primäre Dimension in einer Analyse.
Der Link Text alleine sagt jedoch nicht viel aus, deswegen kannst du dir zusätzlich als sekundäre Dimension das Ereignislabel – die Link URL – dazu holen:
Nun beginnt die Analyse-Arbeit:
- Über die Filter-Funktion kannst du dir beliebige Link Texte oder Link URLs filtern.
- Füge statt dem Ereignislabel die Dimension „Seite“ oder beliebige andere sekundäre Dimensionen hinzu.
- Ändere die primäre Dimension auf „Ereignislabel“ um die Link URL mit beliebig anderen Dimensionen zu kombinieren.
Der Standard-Report ist schon mal ganz spannend für eine erste Analyse.
Wie du siehst, sind die Standard-Reports jedoch stark eingeschränkt.
Deswegen empfehle ich die Nutzung von Custom Reports.
Diese findest du in der Berichtsnavigation ganz weit oben unter Anpassung –> Benutzerdefinierte Berichte.
Klicke auf „+ Neuer benutzerdefinierter Bericht“ und starte deine individuelle Analyse.
Analysiere beispielsweise wie deine User von Seite X nach Seite Y navigieren:
Der Report ist so zu lesen: Deine User steigen auf der „Seite“ ein und navigieren über den Button bzw. Link „Ereignisaktion“ zur Seite „Ereignislabel“. Die Metrik „Ereignisse gesamt“ zeigt wie häufig diese Verlinkung im ausgewählten Zeitraum geklickt wurde.
Den Custom Report kannst du selber nachbauen oder die Vorlage hier in dein Universal Analytics laden:
Das ist jetzt allgemein betrachtet vielleicht noch nicht soooo mega spannend.
Spannender ist es natürlich, wenn du dir bestimmte Seiten ansiehst:
Im Screenshot drüber analysiere ich bspw. meine GA4-Seite. Hier sammle ich alle Beiträge die ich zu GA4 schreibe.
Abgesehen davon, dass es im Analysezeitraum nur wenige Aufrufe gab (wichtige Info!), sind 2 User direkt auf der Seite eingestiegen und haben zum Glück consent🍪 gegeben – DANKE!😘
Ein User hat auf das Analytics Pioneers Award Bild geklickt – vermutlich weil er dazu weitere Infos haben wollte. Ich leite allerdings nur auf die Startseite weiter –> wichtiger Optimierungs-Punkt!
Ein User hat in der Sidebar auf meinen Schedule & Send Email Addon Banner geklickt: cool!
Im Header-Menü wurde 2x geklickt und der Ecommerce Blogartikel wurde 1x geklickt.
Das sind schon mal wertvolle erste Insights, die einerseits zu weiteren, tieferen Analysen führen und anderseits direkte Optimierungs-Maßnahmen ableiten lassen. ✅
Noch spannender ist es aber wenn du auf das Menü / den Teaser filterst:
Denn jetzt kannst du die Nutzung deines Menüs ganz im Detail analysieren:
- Welche Menüpunkte werden überhaupt geklickt – und welche nicht.
- Auf welcher Seite wurde welcher Menüpunkt geklickt.
- Funktioniert jeder Klick oder gibt es Fehler.
Damit sollte keine deiner Fragen – oder Fragen von deinem Chef / deinen Kunden – zu internen Verlinkungen unbeantwortet bleiben. Falls doch, lass es mich in den Kommentaren wissen und wir erweitern das Tracking gemeinsam. 🙌
in Google Analytics 4
Auch in GA4 können internen Links via Standard- und Custom-Reports analysiert werden.
Achtung: Da sich die Berichtsnavigation und Benutzeroberfläche von GA4 laufend ändert, kann es sein, dass dein GA4 anders aussieht als mein GA4 in den Screenshots. In der Regel solltest du dich trotzdem schnell zurecht finden. Falls nicht: Schreib mir gerne einen kurzen Kommentar unter dem Beitrag und ich erstelle einen neuen Screenshot. DANKE für deine Mithilfe! 😘
Den Standard-Report Ereignisse findest du in Google Analytics 4 unter Berichte –> Lebenszyklus –> Engagement –> Ereignisse. Klicke auch hier auf „interne_verlinkung“ um tiefer in die Analyse einzusteigen:
Die Parameter „link_text“ und „link_url“ kannst du derzeit nur über die Echtzeit in der Analyse-Karte „Ereignisse der letzten 30 Minuten“ analysieren:
Hat in den letzten 30 Minuten allerdings niemand auf einen internen Link geklickt, ist der Parameter leer.
Andersrum verschwinden die Informationen nach 30 Minuten wieder, da es nur der Echtzeit-Bericht ist.
Alles noch ausbaufähig in Google Analytics 4, deswegen empfehle ich auch hier die Nutzung von Custom Reports.
Der Custom Reporting Bereich heißt in GA4 „Erkunden“. Am besten wählst du das „Freie Format“ (vormals Explorative Analyse):
Im freien Format kannst du dir deinen Custom Report genauso zusammenbauen wie in Universal Analytics:
Tipp: Wie der Explorer in Google Analytics 4 genau funktioniert, kannst du hier nachlesen: >> GA4 – Der ultimative Einsteiger- und Durchstarter-Guide #Explorer
[Ergänzung] Pfadanalyse in GA4
Ergänzend zum custom Link-Tracking via GTM, bietet Google Analytics 4 eine ausgezeichnete Pfadanalyse, die dir visuell darstellt, wie User durch deine Website navigieren.
Damit kannst du analysieren welche Seiten deine User hintereinander aufrufen bzw. welche Ereignisse sie auslösen:
Tipp: Wie die Pfadanalyse in Google Analytics 4 genau funktioniert, kannst du hier nachlesen: >> GA4 – Der ultimative Einsteiger- und Durchstarter-Guide #Pfadanalyse
[Unterstützung] Heatmap Analysen mit Hotjar
Zusätzlich unterstützen Heatmap & Behavioral Analytics Tools wie Hotjar die Analyse von internen Verlinkungen.
Beispielsweise können sehr lange Seiten, die über sehr viele interne Verlinkungen verfügen mit einer Heat- oder Clickmap visueller und somit einfacher analysiert werden:
Auch wenn eine Seite über mehrere gleiche Verlinkungen verfügt wie bspw. 3x den selben CTA-Button, ist die Analyse welcher Button am besten funktioniert über eine Clickmap schneller und einfacher analysiert.
Best Practice Tracking von Outbound Links
Neben dem Tracking der internen Verlinkung können auch ausgehende Links in Google Analytics erfasst werden.
Im folgenden zeige ich das Setup via Google Tag Manager. Bei den Analysen kannst du dich an jene für das interne Link Tracking orientieren.
GTM Setup für Universal Analytics
Um ausgehende Links in Universal Analytics via GTM zu erfassen, benötigst du:
- einen UA-Tag
- einen Trigger
Wichtig: Die Variablen kannst du aus dem internen Link Tracking wiederverwenden.
Erstelle zuerst den UA-Tag:
- Tag Name: UA – Event – Outbound Link Clicks
- Tag Type: Google Analytics: Universal Analytics
- Track Type: Event
- Category: z.B. Outbound Links
- Action: Link Text: {{JS – Internal Linking – Click Text}}
- Label: Link URL: {{JS – Internal Linking – URL}}
- Google Analytics Settings: deine Settings Variable
Der fertige UA-Tag sollte wie folgt aussehen:
Als nächstes benötigst du den Trigger:
- Trigger Name: Links – Outbound Link Click
- Trigger Type: Click – Just Links
- This trigger fires on: Some Link Clicks
- Click URL Hostname does not contains yourwebsite.com
Der fertige Trigger sollte wie folgt aussehen:
Trigger speichern.
Tag speichern.
GTM im Vorschau-Modus testen und wenn alles passt, publishen.
Fertig.
[Fixfertig] Outbound Links in Google Analytics 4
Der große Vorteil von Google Analytics 4 ist, dass Outbound Links bereits mit dem Basis-Tracking Code erfasst werden.
Du benötigst KEINE zusätzliche Implementierung via Google Tag Manager.
Wichtig ist allerdings, dass du unter Administration –> Datastreams –>Web-Datenstream die „Klicks auf externe Links“ bei den optimierten Analysen aktiviert hast:
Per Default sind alle optimierten Analysen aktiviert. Jedoch können diese auch deaktiviert werden.
Sollten bei dir also KEINE Daten für externen Links in GA4 einlaufen, überprüfe deinen Web-Datenstrom.
Tipp: Was der Datenstrom ist und was die Einstellungen alle bedeuten, kannst du hier nachlesen: >> GA4 – Der ultimative Einsteiger- und Durchstarter-Guide #Datenstrom
Hast du dich eventuell den ganzen Blogartikel über schon gefragt: Und what the f**** ist mit EXTERNEN Links die AUF deine Website führen? 🤔
[WICHTIG] Bitte nicht: UTMS für interne Links
Es gibt interne Links, die innerhalb deiner Website verlinken.
Es gibt outbound Links, die von deiner Website hinaus ins große, weite WWW verlinken.
Und es gibt externe Links, die AUF deine Website führen. In der Regel sind das deine Kampagnen-Links, wie bspw.:
- ein organischer Facebook Post
- eine bezahlte Instagram Anzeige,
- Links in deinen Newslettern
Externe Links haben jedoch NICHTS mit der Verlinkung innerhalb deiner Website zu tun.
Externe Links werden mit sogenannten UTM-Kampagnen-Parameter vertaggt, die speziell für das Tracking benutzerdefinierter Kampagnen (SEO, SEA, Social, Referrer, Email, etc.) gedacht sind.
Erst via UTM-Parameter wird dein Traffic in Google Analytics dem richtigen Kanal zugeordnet, sprich ein Klick auf einer Social Media Anzeige bspw. dem Paid Social Kanal.
🛑✋Wichtig: UTM-Parameter sind ausschließlich für das Tracking externer Kampagnen (SEO, SEA, Social, Referrer, Email, etc) vorgesehen und sollten NIEMALS für interne Links genutzt werden.
Der Hintergrund dafür ist, dass jedesmal wenn UTM-Parameter an deinen URLs hängen eine neue Sitzung in Google Analytics eröffnet wird – völlig automatisch.
Würdest du UTM-Parameter für deine Onsite-Links (interne und ausgehende Links) verwenden, würdest du jedesmal wenn ein User dein Menü benutzt oder auf einen Teaser klickt, eine neue Sitzung initiieren und somit die Sitzungen künstlich nach oben treiben.
Noch schlimmer ist allerdings, dass du dadurch die ursprüngliche Traffic Quelle überschreibst und somit nicht mehr weißt woher deine User tatsächlich gekommen sind.
Du kannst keine Kanal-Analysen und keine Customer Journey Analysen mehr durchführen!
Deswegen ist es unter keinen umständen ratsam UTM-Parameter für das Onsite-Link-Tracking zu verwenden, denn es würde deine Google Analytics Akquisitions-Daten komplett verfälschen.
Da kannst du das Tracking auch gleich bleiben lassen…
Bitte nicht: ITMS / XTMS
Jetzt habe ich schon mehrmals gesehen und auch in diversen Blogs gelesen, dass für das Tracking der Onsite-Verlinkung anstelle der UTM-Parameter eigene ITM- oder XTM-Parameter eingesetzt werden.
Beispielsweise: https://shop.xyz.com/product/?itm_medium=banner&itm_source=website&itm_campaign=product&itm_content=internerlink
Das ist NICHT sinnvoll!
Einerseits weil du händisch für jeden internen oder ausgehenden Link diese Parameter definieren und hinzufügen musst.
Das bedarf sehr, sehr viel manuellen Aufwand.
Und wenn du einmal darauf vergisst, ist das Tracking unvollständig.
Und wenn mehrere Personen an der Website arbeiten und Onsite Links setzen, dann würde ich sehr schnell von einem Sauhaufen🐷 ausgehen.
Das Ganze ist also aus meiner Sicht nicht wartbar.
Andererseits erzeugst du dadurch unheimlich lange, hässliche URLs, die wiederum die Analyse-Arbeit in Google Analytics erschweren.
Außerdem bist du auf 5 Parameter beschränkt, wenn du dich an die UTM-Parameter Nomenklatur hältst.
Deswegen rate ich ganz stark von dieser Lösung ab und empfehle das super einfache Tracking via GTM.
Fragen?
Nicht vergessen: Bei Fragen immer gerne Fragen!
👉 Schreibe deine Fragen gerne einfach in die Kommentare. Ich helfe, wo ich kann.
Happy Analyzing deiner Onsite-Links,
Deine Michaela
Liebe Michaela,
wieder mal ein sehr schöner und ausführlicher Artikel! Danke dafür.
Was mir nicht ganz klar ist, wieso custom Javascript statt der integrierten click text variable? Stehe ich hier auf dem Schlauch?
Viele Grüße und weiter so,
Stella 🙂
Hallo Stella,
vielen lieben Dank und hervorragende Frage!
Ich war nämlich faul und habe bisher den Code noch nicht erklärt – da stand bisher noch xxx. 🙈
Das habe ich jetzt aber nachgeholt und ich glaube, damit beantworte ich auch schon deine Frage: In der Regel reicht die integrierte Click Text Variable vom GTM völlig aus. Allerdings kann das Click Element auch ein Bild sein. Da ein Bild keinen Text hat, kann die Click Text Variable auch leer sein. Deswegen hol ich mir via querySelector das Bild und prüfe ob ein Alt-Text vorhanden ist. Wenn der Alt-Text vorhanden ist, schreibe ich diesen in den Click Text. Ist der Alt-Text nicht vorhanden, nehme ich den Datei-Namen vom Bild.
Es ist aber kein must-have eine extra Click-Text-Variable anzulegen. Vielmehr ist es eine sehr penible Lösung, weil mich Klicks auf Bilder auch interessieren. Das habe ich jetzt in den Beitrag auch dazu geschrieben. :-))
Ganz liebe Grüße,
Michaela
Hi Michaela,
Beim Versuch alles umzusetzen sind mir im Tag Manager verschiedene Fehlermeldungen aufgekommen, bei der Variable „JS – Internal Linking – Click Text“
Einmal schriebst du ja selbst
„//die nächsten Zeilen sind nur notwendig, wenn das Menü getrackt werden soll“
Beim ersten mal habe ich einfach den ganzen Code kopiert inkl. der Variable
„JS – Internal Linking – Click Location“ – Diese wurde von dir aber nicht aufgezeigt, so dass sie bei mir im Tag Manager ja gar nicht erst existiert, das war also die erste Fehlermeldung.
Anschließend wollte ich den Teil dann rausschneiden, da du ja geschrieben hast dass der Teil nur optional ist, wenn man das Menü tracken will (was genau meinst du damit eigentlich?), so dass der Code nur noch so aussah
function(){
var clicktext = {{Click Text}};
if(!clicktext || clicktext==undefined || clicktext.trim().length0){
clicktext=“Bild: „+elem.alt;
}else{
var url = elem.src;
clicktext=“Bild: „+url.substring(url.lastIndexOf(‚/‘)+1);
}
}
Als ich es dann im Vorschau Modus testen wollte bekam ich folgende Meldung:
Der Container enthält folgende Fehler:
Typ: JavaScript-Compiler-Fehler
Position: JS – Internal Linking – Click Text
Beschreibung: Fehler in Zeile 12, Zeichen 1: Parse error. ‚}‘ expected
Habe ich irgendwas falsch gemacht?
Grüße
Max
Hallo Max,
an sich alles richtig gemacht, du hast beim rauslöschen nur eine geschwungene Klammer zu viel gelöscht.
Am Ende von „die nächsten Zeilen sind nur notwendig, wenn das Menü getrackt werden soll“ befindet sich noch eine Klammer die bisschen reingerückter ist als der Code. Die Klammer musst du noch hinzufügen, dann sollte die Fehlermeldung weg sein.
Ganz liebe Grüße,
Michaela
Hallo Michaela,
danke für den hilfreichen Beitrag!
Ich habe eine Frage: Ich sehe in der Übersicht der Ereignisse zahlreiche Custom Events, die vermutlich über den Tag-Manager eingebunden wurden – zumindest sind diese nicht über „Ereignis erstellen“ ersichtlich. Ich sehe aber auch, dass diese Ereignisse nicht unter benutzerdefinierte Dimensionen registriert sind, aber trotzdem Werte gemessen werden.
Wie kann das sein?
Danke für Feedback!
LG
Roland
Hi Roland,
vielen Dank für dein Kommentar! :-))
Ereignisse teilen sich immer in Ereignis Name (Pflichtfeld) und optional bis zu 25 benutzerdefinierte Parameter, die zu einem Ereignis dazu getrackt werden können (Custom Dimensions).
Der Ereignisname (Pflichtfeld) erscheint automatisch in der Übersicht der Ereignisse in GA4. Dazu ist keine weitere Einstellung erforderlich – außer eben das Tracking über den GTM oder „Ereignis erstellen“.
Nur die optionalen benutzerdefinierten Parameter müssen erst als Custom Dimension registriert werden, damit die Daten erfasst und in GA4 analysiert werden können. Insgesamt stehen max. 50 Custom Dimensions auf Ereignisebene und weitere 25 auf User-Ebene zur Verfügung.
Ganz liebe Grüße,
Michaela
Hallo Michaela,
super Blogpost – besten Dank dafür!
Kannst du mir sagen, warum ich (not set) unterhalb der benutzerdefinierten Parametern erhalte, wenn ich auf Ereignisse > benutzerdefiniertes Event > benutzerdefinierte Parameter gehe? Hattest du so einen Fall auch schon? Habe alles per GTM + GA4 korrekt aufgesetzt.
Vielen Dank!
Gruß,
Thimo
Hallo Thimo,
schick mir dazu gerne einen Screenshot, sonst weiß ich nicht ganz was du meinst.
Email an: kontakt@analyticskiste.blog
Vielen lieben Dank
Michaela
Hallo Michaela,
klasse Artikel. Bei einem Punkt stehe ich auf dem Schlauch.
Bei geklickten Links kommt bei mir als Ereginisaktion leider immer nur ein „undefined“ an. Woran könnte das liegen? Label zeigt die Webseite korrekt und die Kategorien tracken auch die internen Linkklicks. Es geht nur um die Aktion.
Hi Andreas,
du kannst statt der JS-Variable auch nur mal {{Click Text}} in die Ereignisaktion eintragen. Damit kannst du prüfen ob der Click-Text grundsätzlich leer ist oder das JS nicht stimmt.
Ganz liebe Grüße
Michaela
Der Klicktext hat funktioniert. Habe mir dann die Variable nochmal genau angeschaut und dann ist es mir aufgefallen.
Der Query Selector für die Navigation hatte noch die falsche ID.
Tipp für alle: Bei der Click Location ist dies in der Regel die erste div ID die im Quellcode nach dem Logo zu finden ist.
Hallo Andreas,
suuuper, perfekt. Dann klappt es jetzt. :-))
Danke für den Hinweis mit der ID, dass übernehme ich direkt in den Blogartikel.
Ganz liebe Grüße
Michaela
Hallo, vielen Dank für die tolle Erläuterung.
ich hatte nur ein Problem meine Daten abzuschicken, {{JS – Internal Linking – URL}} wurde mir als fehlerhaft gemeldet.
Also habe ich im Tag GA4 – Event – Internal Linking den zweiten Parameter mit {{Click URL Hostname}} ausgetauscht, dann ging es. Die Frage ist nur, ob nun das Tracking noch korrekt ist. Kannst du mir helfen?
Gern auch als Info per Mail
Hallo Sindy,
eventuell wurden die Bindestrich falsch kopiert. Du kannst die Variable ganz einfach über das Icon neben der Zeile auswählen, da sollte sie verfügbar sein.
Ansonsten verwende einfach {{Click URL}}, Click URL Hostname wäre nur die eigene Domain, da fehlen dir die Infos in der Analyse.
Ganz liebe Grüße
Michaela