AI Overview Klicks in Google Analytics tracken

Seit Google die AI Overview (AIO) auch in Deutschland eingeführt hat, kommen zunehmend Klicks auf die Seite, bei denen Nutzer direkt über die Verlinkten Quellen auf die spezifischen Textabschnitten geschickt werden. Ich möchte gerne die Klicks auf die AI Overview-Links von Google in GA4 tracken. Konkret geht es darum, zu erfassen, wie viele Nutzer über Googles neue KI-generierte Zusammenfassungen („AI Overview“) auf meine Seite kommen.

Wie wird aus den AIOs verlinkt?

Google AI Overview
Googles AI Overview bei einer Suchanfrage

Googles AI Overview oder kurz AIO ist eine Funktion, die KI-generierte Zusammenfassungen direkt in den Suchergebnissen anzeigt. Diese Zusammenfassungen erscheinen oberhalb der traditionellen Suchresultate und bieten Nutzern eine schnelle Übersicht zu ihrer Suchanfrage. In Deutschland wurde die Funktion Ende März 2025 eingeführt.

​In den AIOs werden dabei verschiedene Arten von Links zu weiterführenden Inhalten:​

  • Referenzlinks: Am Ende der AI Overview werden zusätzliche Quellen aufgeführt, die die bereitgestellten Informationen unterstützen. Zu finden in der rechten Box. Diese Links ermöglichen es den Nutzern, tiefergehende Einblicke zu erhalten und das Thema umfassender zu verstehen.
  • In-line Links: Diese Links sind direkt im Fließtext der Zusammenfassung eingebettet. Das erkennt ihr anhand des Link Symbols.. Nutzer können durch Anklicken dieser Links unmittelbar zu den entsprechenden Quellen gelangen, die spezifische Informationen oder weiterführende Details bereitstellen.​

Wie ist der Aufbau der Links?

Die AI Overviews von Google verlinken auf externe Inhalte, indem sie Textfragmente (#:~:text=) in den URLs verwenden. Das bedeutet: Wenn Nutzer auf diese KI-generierten Zusammenfassungen klicken, landen sie direkt auf einem ganz bestimmten Abschnitt des verlinkten Artikels, der dann vom Browser hervorgehoben wird (Quelle). Kleiner Dämpfer vielleicht: Es wird nicht an jedem Link so ein Textfragment angehängt.

Dieser Aufbau wurde bereits bei bekannten Links in Googles Featured Snippets oder der „Andere Nutzer fragten auch“-Box (People Also Ask) verwendet. Auch dort nutzt Google seit einiger Zeit URL-Textfragmente, um Nutzer gezielt zu den relevanten Textstellen zu führen, statt nur zur Seitenoberkante. Also wenn wir aktuell die AI Overview Linkklicks messen wollen, werden auch diese Links direkt gemessen.

Ein Beispiel für so einen Link:

https://www.webreload.de/google-analytics/#:~:text=Deine%20Tracking%2DInfrastruktur%20wird%20professionell%20aufgesetzt

Beim Klick auf den Link lande ich direkt beim Abschnitt, welcher auch noch hervorgehoben wurde:

Es wird direkt der Text markiert und zur Stelle gescrollt

Wie können die Klicks auf AIOverview von Google gemessen werden?

Die spannende Frage ist jetzt: Wie kann man diese AI Overview-Klicks eigentlich messen?

Ganz einfach über den URL-Hash geht das leider nicht – denn das Textfragment (#:~:text=...) wird von Chrome nach dem Laden der Seite wieder aus der URL entfernt. Heißt: Weder über die window.location.hash noch window.location.href geben dir den gewünschten Text oder auch den Hash hier zurück.

Um bei einem Seitenaufruf der eigenen Seite trotzdem messen zu können, braucht es also einen kleinen Trick – genauer gesagt: den Zugriff auf die Performance-Navigation API, die uns noch die ursprüngliche URL inklusive Textfragment liefert. (Danke hierfür an Eoghan für den Tipp). Damit kann man im Google Tag Manager das Fragment extrahieren und an Google Analytics schicken.

Ausgabe auf der Chrome Console

Und jetzt rein in den GTM

Um das messen zu können, legen wir im Google Tag Manager eine neue benutzerdefinierte JavaScript-Variable an.

  • Gehe in der linken Navigation zu „Variablen“
  • Klicke oben rechts auf „Neu“
  • Wähle als Variablentyp: „Benutzerdefinierte JavaScript-Variable“
  • Füge folgenden Code ein:
function() {
  var nav = performance.getEntriesByType("navigation")[0];
  if (!nav) return;
  
  var hash = new URL(nav.name).hash;
  var match = hash.match(/:~:text=([^&]*)/);
  
  return match ? decodeURIComponent(match[1]) : undefined;
}

Was wird hier genau gemacht?

Diese JavaScript-Funktion extrahiert Text-Fragment-Selektoren aus URLs mittels der Navigation Timing API (performance.getEntriesByType("navigation")), isoliert den Hash-Segment durch URL-Parsing und verwendet einen regulären Ausdruck (/:~:text=([^&]*)/) für die Extraktion des :~:text=-Parameters. Nach erfolgreicher Identifikation des Selektors wird der entsprechende Wert mit decodeURIComponent() URL-dekodiert zurückgegeben, anderenfalls liefert die Funktion undefined.

So sieht das dann aus:

Im Google Tag Manager die JavaScript Variable

Jetzt, wo die Variable steht, kannst du den erfassten Textfragment-Wert ganz einfach beim page_view-Event mit an GA4 schicken.

Öffne deinen GA4-Konfigurationstag im GTM (oder das Tag, das dein page_view feuert)

Scrolle zum Abschnitt „Konfigurationseinstellungen“

Füge einen neuen Parameter hinzu:

  • Parametername: z. B. text_fragment
  • Wert: wähle deine vorher erstellte Variable
    (z. B. {{CJV - Text Fragment}})

Speichern und veröffentlichen

Die Infos vom Text Fragment werden noch im gTag mitgesendet.

Das Ganze jetzt noch in GA4

Perfekt, letzter Schritt: Damit du den text_fragment-Parameter in Google Analytics 4 auch auswerten kannst, musst du ihn als benutzerdefinierte Dimension anlegen. Hier ist, wie du das machst:

  • Geh in dein Google Analytics 4 Property
  • Klicke links unten auf „Admin“
  • Unter der Spalte „Property“, wähle „Benutzerdefinierte Definitionen“
  • Klick oben rechts auf „Benutzerdefinierte Dimension erstellen“
    • Name: Text Fragment (oder ein anderer Klarname)
    • Bereich (Scope): Ereignis
    • Ereignisparameter: text_fragment (das muss exakt dem Namen entsprechen, den du im GTM-Tag vergeben hast)
  • Speichern

Ab jetzt wird der Textfragment-Wert in deinen GA4-Daten erfasst und steht dir in Berichten zur Verfügung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert