Geschrieben von

Google Analytics 4 mit serverside GTM

Webtracking

In diesem Beitrag zeige ich dir, wie du Google Analytics 4 über den Google Tag Manager Server-Container implementieren kannst. Wenn du mehr über serverside Tagging mit dem Google Tag Manager erfahren möchtest, dann empfehle ich dir meinen Beitrag auf t3n: “Google Tag Manager: So funktioniert das serverseitige Tagging”. Der Beitrag bietet dir einen guten Einstieg in das Thema und beleuchtet Vor- und Nachteile des Server-Containers.

Für das Setup von GA4 über den serverseitigen Google Tag Manager benötigst du vorab 2 Sachen:

Im besten Fall hast du auch eine eigene Subdomain für das serverseitige GTM-Setup, damit die Daten im First-Party-Kontext gesammelt werden. Um nun GA4 über den GTM-Server-Container zu implementieren, sind folgende Schritte notwendig:

  1. Google Analytics 4-Tag im Webcontainer implementieren
  2. GA4-Client im Server-Container erstellen
  3. GA4-Tag im Server-Container einrichten
  4. Testen und veröffentlichen

Google Analytics 4-Tag im Webcontainer implementieren

Die GA4-Hits werden zunächst vom Webcontainer aus zu unserem serverside Endpoint geschickt. Entsprechend brauchen wir zunächst ein Google Analytics 4-Tag in unserem Webcontainer. Wichtig ist dabei neben der Mess-ID vor allem das Feld “transport_url” unter “Festzulegende Felder”. Mit dieser Einstellung legt man fest, dass die Hits nicht direkt zum Google-Server geschickt werden sollen, sondern an den eigenen:

Update!
Nun steht die Option “An Servercontainer senden” zur Verfügung mit der man den Endpunkt festlegen kann.

“An Servercontainer senden” macht 2 Sachen:

  • Es setzt zum einen das vorher schon existierende transport_url-Feld.
  • Das Feld “first_party_collection” wird auf “true” gesetzt. Damit weiß das GA4-Tag im Client, dass die Daten nicht an einen Third-Party-Endpoint gehen (also nicht direkt zum Google-Server wie bisher), sondern das es sich um einen eigenen – vom Website-Betreiber geführten – Endpoint handelt. Das führt dazu, dass das GA4-Protokoll auch sensible Informationen mit dem eigenen Server teilen kann.

Für das Tag wählst du dann noch den entsprechenden Trigger, der auch den Consent des Nutzers berücksichtigt.

GA4-Client im Server-Container erstellen

Über das Feld “transport_url” gehen also die Hits zunächst an unseren eigenen Server. Der Server muss daher diese Hits beanspruchen und entgegennehmen. Im GTM-Server-Container übernimmt diese Aufgabe der Client, der die eingehenden Anfragen entgegennimmt und sie in das für die Tags (nächster Schritt) notwendige Event-Daten-Modell überführt.

Navigieren nun zu deinen Server-Container und klicke in der linken Navigation auf “Clients” und dann auf “Neu”. Klicke im Anschluss auf das Feld “Clientkonfiguration” und wähle den Client “Google Analytics: GA4”:

Benenne den Client dann z.B. “GA4”. Die Priorität kann auf 0 belassen werden. Mit dieser definierst du, welcher Client den Request tatsächlich beanspruchen soll, falls der Request an 2 verschiedene Clients gehen sollte (wobei immer nur ein Request von einem Client beansprucht werden kann). “GA4-Standardpfade” sollte aktiviert bleiben, damit der Client nach Hits mit dem Pfad /g/collect Ausschau hält (GA4-Hits). Die Einstellung “gtag.js-Standardpfade für bestimmte IDs” kann deaktiviert bleiben. Damit kann man das gtag.js-Tag über die Servercontainer-URL laden. Speichere den Client.

GA4-Tag im Server-Container einrichten

Nachdem nun ein Client den eingehenden GA4-Request beansprucht und in das Event-Daten-Modell umwandelt, braucht es ein Tag, damit der Hit an Google Analytics gehen kann. Navigieren dazu im Server-Container auf “Tags”, klicke dann auf “Neu” und wähle das Tag “Google Analytics: GA4”:

Hier muss nicht viel konfiguriert werden. Mess-ID und Ereignisname können ausgelassen werden. Diese werden vom GA4-Web-Tag übernommen. “Besucher-IP-Adresse entfernen” sollte aus Datenschutz-Gründen auf “wahr” gesetzt werden. Nun brauchen wir noch einen Trigger vom Typ “Benutzerdefiniert”. Auslösen soll dieser aber nur auf dem zuvor erstellten Client. Deshalb wählen wir hier die Variable “Client Name” und setzen sie gleich dem gewählten Namen des GA4-Clients:

Benenne das Tag sinnvoll und speichere ab.

Testen und veröffentlichen

Nun können wir das Setup testen. Wechsle bei beiden Containern (Web und Server) in den Vorschaumodus. Zuerst den Vorschaumodus des Server-Containers aktivieren, dann des Web-Containers. Über den Web-Container rufst du nun deine Website in einem neuen Tab auf. Nun müsstest du im Vorschaumodus des Web-Container wie gewohnt sehen, dass der GA4-Tag ausgelöst wird. Gleichzeitig siehst du im Server-Container wie der GA4-Request reinkommt und vom GA4-Client beansprucht wird. Zudem wird das GA4-Tag im Server-Container gefeuert, welcher den Hit an Google Analytics schickt.