Blog · Server-side
Data Tag statt GA4-Tag: so wenig Code im Browser wie möglich
Auch ein Skript vom eigenen Server ist Code, den der Browser Ihrer Kunden laden und ausführen muss. Wer server-side ernst nimmt, fragt deshalb: Brauche ich im Browser überhaupt noch das GA4-Tag?
Vom eigenen Server heißt nicht leicht
Viele Setups liefern gtm.js und gtag.js über den Server-Container aus. Das macht die Requests first-party. Am Umfang der Bibliothek ändert es nichts: Der Browser führt dasselbe Google-Skript aus wie vorher. Ein Data Tag geht einen Schritt weiter. Es nimmt das Event aus dem Data Layer und schickt es als schlanken Request an einen eigenen Endpunkt im Server-Container. Dort verteilt ein passender Client die Daten an alle Server-Tags.
Zwei Wege
| Stape Data Tag + Data Client | Eigenes Tag und eigener Client | |
|---|---|---|
| Kosten | Kostenloses Community-Template | Entwicklungszeit, Pflege bei Ihnen |
| Datenformat | Vorgegeben, nah am Data Layer | Ihr Data Contract (siehe Dokumentation und Data Contracts) |
| Client-ID | Data Client kann eine eigene ID erzeugen und als Cookie setzen | Selbst gebaut |
| Wann sinnvoll | Schneller Start, Meta, TikTok, Pinterest und ähnliche Plattformen | Feste Schemas, mehrere Frontends (Web, App), kein Fremdcode erwünscht |
Der Vorteil beider Wege gegenüber GA4 als Transport: Der Request ist nicht an die 25-Parameter-Grenze von GA4 gebunden (mehr dazu im Beitrag zu GA4 als Transportschicht). Sie bestimmen das Format.
Der Haken: GA4 rechnet im Browser mehr, als man denkt
Das GA4-Tag im Browser erzeugt vieles automatisch, was in keinem Data Layer steht:
- Client-ID im Cookie
_ga, die einen Browser wiedererkennt - Session-ID und Session-Zähler, gespeichert im Property-Cookie
first_visitundsession_start, die Grundlage für Neue Nutzer und Sitzungen- Interaktionszeit, aus der engagierte Sitzungen berechnet werden
- Quelle der Sitzung, abgeleitet aus Referrer und URL beim Sitzungsstart
Fehlt das, sieht GA4 jeden Hit als neue Sitzung, Umsatz landet unter „Unassigned“, Engagement-Kennzahlen werden sinnlos. Stape selbst empfiehlt für GA4 und Google Ads die offiziellen Google-Tags und das Data Tag für andere Plattformen.
GA4 vollständig ohne Browser-Tag ist möglich. Dann müssen Sie Client-ID, Session-ID, Session-Zähler, Erstbesuch und Sitzungsstart selbst führen, zum Beispiel serverseitig mit einem Zeitstempel des letzten Hits in einer Datenbank. Das ist ein eigenes kleines Projekt mit eigener Wartung.
Consent nicht vergessen
Wenn ein Data Client eine Client-ID erzeugt, wenn keine mitkommt, kann er auch ohne Einwilligung ein Cookie setzen. Prüfen Sie, ob das Data Tag im Browser erst nach Consent feuert. Wenn nicht, braucht der Server-Container eine Consent-Prüfung, bevor eine ID entsteht oder genutzt wird.
Meine Empfehlung
- Standard: GA4 mit dem offiziellen Tag, aber schlank: wenige Config-Parameter, nur was GA4 braucht. Alle anderen Plattformen über ein Data Tag.
- Fortgeschritten: GA4 ohne Browser-Tag nur, wenn jemand die Session-Logik dauerhaft betreut und die Abweichung zu einem Referenzzeitraum gemessen wird.
- Eigenes Tag: wenn mehrere Frontends dasselbe Schema senden sollen oder der Kunde keinen Fremdcode im Shop will. Dann ist der Data Contract die Spezifikation, und das Tag ist eine kleine Implementierung davon.
Quellen: Stape: Data Client · Stape Community: GA4 mit Data Tag · Stape Community: Client-ID und Consent · Stape: Cookieless GA4