Google Tag Manager
Ein kostenloses Tool zur Verwaltung von Tracking-Tags, Pixeln und Code-Snippets auf Websites – ohne Entwickler-Abhängigkeit.
Tracking-Daten werden vom Server statt vom Browser gesendet – für bessere Datenqualität, Privacy-Compliance und Unabhängigkeit von Ad-Blockern.
Server-Side Tracking verlagert das Tracking vom Browser auf deinen Server. Statt dass der Browser des Nutzers Daten direkt an Google Analytics oder Meta sendet, gehen die Daten erst an deinen Server – und von dort weiter.
Client-Side vs. Server-Side:
Client-Side (traditionell):
Browser → [GA4, Meta, Google Ads]
(direkt, kann geblockt werden)
Server-Side:
Browser → Dein Server → [GA4, Meta, Google Ads]
(First-Party) (von dir kontrolliert)
Warum ist das besser?
| Problem | Client-Side | Server-Side |
|---|---|---|
| Ad-Blocker | Blockiert Tracking | Funktioniert trotzdem |
| Browser-Limits | ITP, Cookie-Limits | Umgehbar |
| Datenqualität | ~70-80% erfasst | ~90-95% erfasst |
| Datenkontrolle | Keine | Volle Kontrolle |
| Performance | Viele Scripts | Weniger Browser-Last |
Der Trade-off:
┌─────────────┐ ┌─────────────────┐ ┌─────────────┐
│ Browser │────▶│ Server-Side │────▶│ GA4 │
│ (GTM) │ │ GTM Container │ │ Meta │
└─────────────┘ │ (Cloud Run) │ │ Google Ads│
└─────────────────┘ └─────────────┘
│
▼
┌─────────────────┐
│ Daten- │
│ Transformation │
│ - PII filtern │
│ - Anreichern │
└─────────────────┘
1. Server Container erstellen:
2. Custom Domain konfigurieren:
tracking.deinedomain.de → Server Container
First-Party-Kontext: Cookies von eigener Domain
3. Client-Side anpassen:
4. Server-Side Tags:
Meta und Google bieten Server-Side APIs:
Meta Conversions API:
// Server sendet an Meta
{
"event_name": "Purchase",
"event_time": 1678901234,
"user_data": {
"em": "hashed_email",
"ph": "hashed_phone"
},
"custom_data": {
"value": 99.99,
"currency": "EUR"
}
}
Vorteile:
Server-Side ermöglicht Datenverarbeitung vor dem Senden:
PII filtern:
Eingehend: user_email=max@example.com
Ausgehend: user_email=[REDACTED] oder gehasht
Daten anreichern:
Eingehend: user_id=12345
Lookup: CRM-Daten
Ausgehend: user_id=12345, customer_segment=premium
Daten reduzieren:
Eingehend: Volle IP-Adresse
Ausgehend: Anonymisierte IP
| Option | Kosten | Komplexität | Für wen |
|---|---|---|---|
| Google Cloud Run | ~20-100€/Mo | Mittel | Technische Teams |
| Stape | Ab 20€/Mo | Niedrig | Marketing-Teams |
| AWS/Azure | Variabel | Hoch | Enterprise |
| Self-Hosted | Server-Kosten | Sehr hoch | Spezialfälle |
1. Hybrid-Ansatz:
2. Event Deduplication:
3. Monitoring:
4. Fallback:
Client-Side Tracking ist wie ein Paket, das der Kunde selbst zur Post bringt – er kann es vergessen oder verlieren. Server-Side ist wie ein Kurier, der es direkt abholt – zuverlässiger und unter deiner Kontrolle.
Tracking-Daten werden vom Server an Analytics/Ads gesendet, nicht vom Browser
Funktioniert trotz Ad-Blockern und Browser-Einschränkungen
Bessere Datenqualität, aber komplexeres Setup und Hosting-Kosten
Ad-Blocker-Resistenz
Tracking funktioniert auch wenn Nutzer Ad-Blocker verwenden
Bessere Conversion-Daten
Meta Conversions API und Google Ads liefern vollständigere Daten
First-Party-Kontext
Daten werden von eigener Domain gesendet, nicht von Drittanbietern
Datenkontrolle
PII filtern, Daten anreichern oder reduzieren vor dem Senden
Client-Side: Browser sendet Daten direkt an GA4/Meta. Server-Side: Browser sendet an deinen Server, Server sendet an GA4/Meta. Mehr Kontrolle, aber komplexer.
Wenn du signifikanten Traffic durch Ad-Blocker verlierst, Conversion-Daten für Ads optimieren willst, oder mehr Datenkontrolle brauchst – ja. Für kleine Websites oft Overkill.
Hosting-Kosten: Google Cloud Run ab ~20-50€/Monat, Stape ab 20€/Monat. Plus Setup-Aufwand. ROI durch bessere Daten oft positiv.
Es ermöglicht bessere Compliance (PII filtern, Daten minimieren), ersetzt aber nicht den Consent. Tracking ohne Einwilligung bleibt problematisch.