GA4 aus dem Web-GTM über deinen Server-Container senden
Dein Server-Container läuft, aber noch schickt ihm niemand Daten. In dieser Lektion legst du eine GA4-Property an, fügst deinem Web-Container ein Google-Tag und GA4-Event-Tags hinzu und sagst ihnen, dass sie jeden Hit an deine eigene Subdomain statt an Google senden sollen. Der Browser spricht dann nur noch mit sgtm.example.com, im First-Party-Kontext, und der Server-Container entscheidet, wohin die Daten als Nächstes gehen.
Fortgeschritten 12 Min. Lesezeit
Das lernst du
- Eine GA4-Property und einen Web-Datenstream anlegen und die Mess-ID finden.
- Im Web-Container ein Google-Tag mit
server_container_urlanlegen. - Eigene Events und E-Commerce-Events mit GA4-Event-Tags senden.
- In den DevTools prüfen, dass die Hits an deine Subdomain gehen.
01 GA4-Property und Web-Stream anlegen
Überspring diesen Abschnitt, wenn du schon eine GA4-Property hast. Du brauchst nur ihre Mess-ID.
- 1 Öffne analytics.google.com, geh zu Admin und klicke auf Create, dann auf Property.
- 2 Gib einen Property-Namen, deine Berichtszeitzone und Währung ein und vervollständige dann die Unternehmensangaben.
- 3 Wenn du aufgefordert wirst, mit der Datenerfassung zu beginnen, wähle Web, gib die URL deiner Website und einen Stream-Namen ein und klicke auf Create stream.
- 4 Kopiere die Measurement ID aus den Stream-Details. Sie sieht aus wie
G-XXXXXXXXXX.
02 Google-Tag mit deiner Server-URL anlegen
Das Google-Tag lädt GA4 auf der Seite und sendet den page_view. Eine einzige Einstellung, server_container_url, ändert, wohin seine Hits gehen.
- 1 Geh in deinem Web-Container zu Tags, klicke auf New und wähle Google tag als Tag-Typ.
- 2 Füge deine Mess-ID in Tag ID ein.
- 3 Füge unter Configuration settings eine Zeile mit dem Parameter und Wert unten hinzu.
- 4 Setze den Trigger auf Initialization - All Pages (oder All Pages), benenne das Tag und speichere.
Configuration parameter: server_container_url
Value: https://sgtm.example.comVerwende exakt die URL deines Server-Containers: https://, ohne Pfad und ohne abschließenden Schrägstrich. Initialization - All Pages feuert vor allen anderen Tags, sodass auch früh ausgelöste Events schon wissen, wohin sie ihre Daten schicken.
03 Events mit GA4-Event-Tags senden
Seitenaufrufe kommen vom Google-Tag. Alles andere, etwa Registrierungen und Käufe, braucht ein Tag vom Typ Google Analytics: GA4 Event. Nutze den sign_up-Trigger aus Lektion 1 wieder:
- 1 Lege ein Tag vom Typ Google Analytics: GA4 Event an.
- 2 Setze Measurement ID auf
G-XXXXXXXXXX(deine ID). Das Event läuft über das Google-Tag mit derselben ID, einschließlich seiner Server-URL. - 3 Setze Event Name auf
sign_up. Füge unter Event Parametersmethodmit der zuvor angelegten Data Layer Variable hinzu. - 4 Wähle den Custom Event-Trigger
sign_upund speichere.
Für E-Commerce schreibt deine Website die Kaufdaten in das ecommerce-Objekt, das GA4 erwartet. Leere vorher das vorherige ecommerce-Objekt, wie in diesem Beispiel.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'T-10293',
value: 129.90,
currency: 'EUR',
items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
}
});- 1 Lege einen Custom Event-Trigger für
purchasean. - 2 Lege ein Tag vom Typ Google Analytics: GA4 Event mit dem Event Name
purchasean. - 3 Öffne More Settings, dann Ecommerce, setze den Haken bei Send Ecommerce data und wähle Data Layer als Data source.
- 4 Hänge den
purchase-Trigger an und speichere.
04 Was sich im Browser ändert
Ohne Server-URL sendet GA4 die Hits an google-analytics.com. Mit ihr gehen dieselben Hits an deine Subdomain, auf den Pfad /g/collect:
https://sgtm.example.com/g/collect?v=2&tid=G-XXXXXXXXXX&en=page_view&...- Die Anfrage bleibt auf deiner eigenen Domain und ist für den Browser damit First-Party.
- Weniger Blocker schlagen an, weil sie nicht mehr an eine bekannte Analytics-Domain geht.
- Der Server-Container sieht jeden Hit, bevor ein Anbieter ihn sieht. Genau dort kannst du Daten später filtern oder anreichern.
05 Prüfen und veröffentlichen
- 1 Klicke im Web-Container auf Preview und verbinde dich mit deiner Website. Das Google-Tag sollte bei Initialization feuern und die GA4-Event-Tags bei ihren Events.
- 2 Öffne im Fenster der Website die DevTools, geh zum Tab Network und filtere nach
collect. - 3 Lade die Seite neu. Du solltest Anfragen an
https://sgtm.example.com/g/collectmit Status200oder204sehen und keine angoogle-analytics.com/g/collect. - 4 Wenn alles passt, klicke auf Submit und veröffentliche den Web-Container.
- Auf der Website ist kein fest eingebautes gtag.js-Snippet für dieselbe ID mehr vorhanden.
- Im Google-Tag ist
server_container_urlauf deine Subdomain gesetzt. -
/g/collect-Anfragen gehen ansgtm.example.com. - Die Preview des Server-Containers zeigt eingehende Anfragen (wie du sie liest, erklärt die Lektion zur Fehlersuche).
Häufige Fragen
Kann ich das ohne GTM direkt in gtag.js einstellen?
Ja. Ergänze server_container_url im config-Befehl, zum Beispiel gtag('config', 'G-XXXXXXXXXX', { server_container_url: 'https://sgtm.example.com' });. Der Rest des Kurses geht von GTM aus.
Brauche ich auch ein Google-Tag für Google Ads?
Nicht für diese Lektion. GA4-Hits reichen, um den Server-Container zu versorgen, und serverseitige Tags anderer Anbieter können dieselben eingehenden Daten wiederverwenden.
Die Anfragen gehen immer noch an google-analytics.com. Was ist falsch?
Meist ist die Änderung noch nicht veröffentlicht, ein anderes Google-Tag oder ein fest eingebautes gtag.js-Snippet für dieselbe ID lädt ohne die Einstellung, oder der Parametername enthält einen Tippfehler. Er muss exakt server_container_url lauten.
Bereit, es in die Praxis umzusetzen?
Richte in wenigen Minuten einen Server-GTM-Container auf deiner eigenen Domain ein. Für den Free-Tarif brauchst du keine Karte.
Kostenloses Konto erstellen