Praxisanleitung: Interne Links in Google Analytics mit dem GTM automatisiert und richtig tracken27 min Lesezeit

Michaela Linhart 14 Comments

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! 

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:

Versandfrei ab X Euro

Screenshot: Info Balken auf der Website – Versandfrei ab X Euro

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.

Google Tag Manager - Das umfassende Handbuch

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:

Link Text eines Hyperlinks

Screenshot: Link Text eines Hyperlinks

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:

Build In Variablen im GTM

Screenshot: Build In Variablen im GTM

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:

GTM Variable - Click Location

Screenshot: GTM Variable – Click Location

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:

GTM - Custom JS Variable für Click Text

Screenshot: GTM – Custom JS Variable für Click Text

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:

GTM Variable - Click URL Hostname.PNG

Screenshot: GTM Variable – Click URL Hostname

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:

GTM - UA Tag für interne Verlinkung

Screenshot: GTM – UA Tag für interne Verlinkung

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:

GTM - Trigger für interne Links

Screenshot: GTM – Trigger für interne Links

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:

GTM - GA4 Tag für interne Links

Screenshot: GTM – GA4 Tag für interne Links

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:

Custom Dimension Setup in GA4

Screenshot: Custom Dimension Setup in GA4

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:

Custom Dimension Setup Click Text in GA4

Screenshot: Custom Dimension Setup Click Text in GA4

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:

Custom Dimension Setup Click Text in GA4

Screenshot: Custom Dimension Setup Click Text in GA4

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“:

Interne Verlinkung in UA analysieren

Screenshot: Interne Verlinkung in UA analysieren

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:

Interne Verlinkung in UA analysieren - Ereignsaktion und label

Screenshot: Interne Verlinkung in UA analysieren – Ereignsaktion und label

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:

Custom Report internal linkage - Analyse

Screenshot: Custom Report internal linkage – Analyse

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:

Custom Report Setup für Internal Linkage

Screenshot: Custom Report Setup für Internal Linkage

Das ist jetzt allgemein betrachtet vielleicht noch nicht soooo mega spannend.

Spannender ist es natürlich, wenn du dir bestimmte Seiten  ansiehst:

Analyse der GA4 Seite auf analyticskiste.blog

Screenshot: Analyse der GA4 Seite auf analyticskiste.blog

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:

Analyse des Menüs auf analyticskiste.blog

Screenshot: Analyse des Menüs auf analyticskiste.blog

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:

Interne Verlinkung in GA4 Standardreports

Screenshot: Interne Verlinkung in GA4 Standardreports

Die Parameter „link_text“ und „link_url“ kannst du derzeit nur über die Echtzeit in der Analyse-Karte „Ereignisse der letzten 30 Minuten“ analysieren:

Custom Parameter Analyse in GA4

Screenshot: Custom Parameter Analyse in GA4

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):

Freies Format für Interne Verlinkung Analyse in GA4

Screenshot: Freies Format für Interne Verlinkung Analyse in GA4

Im freien Format kannst du dir deinen Custom Report genauso zusammenbauen wie in Universal Analytics:

Interne Verlinkung Custom Report in GA4

Screenshot: Interne Verlinkung Custom Report in GA4

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:

Google Analytics 4 - Neue Pfadanalyse erstellen

Screenshot: Google Analytics 4 – Neue Pfadanalyse erstellen

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:

Hotjar Klickmap Startseite

Screenshot: Hotjar Klickmap Startseite

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:

Outbound Link Tracking via GTM

Screenshot: Outbound Link Tracking via GTM

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:

Outbound Link Trigger für GTM

Screenshot: Outbound Link Trigger für GTM

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:

GA4 Einstellung für Klicks auf externe Links

Screenshot: GA4 Einstellung für Klicks auf externe Links

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

Es ist nie zu spät für gute News:

Jederzeit abbestellbar

 

  • Stella sagt:

    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

  • Max sagt:

    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

  • Roland sagt:

    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

  • Thimo sagt:

    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

  • Andreas sagt:

    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

      • Andreas sagt:

        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.

  • Sindy Siekiera sagt:

    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