Zum Hauptinhalt springen

Kein separater Klar Pixel für Server-Side-GTM-Tracking nötig

Warum du fuer sGTM keinen zusaetzlichen Pixel brauchst und wie du die bestehende datasourceId nutzt

Verfasst von Frank Birzle

Wenn du Server-Side-Tracking mit dem Google Tag Manager (sGTM) aufsetzt, fragst du dich vielleicht, ob ein neuer Klar Pixel nötig ist. Die kurze Antwort ist nein – du kannst den Pixel nutzen, den du bereits für deinen Store konfiguriert hast. Dieser Artikel erklärt, warum kein zusätzlicher Pixel nötig ist, zeigt dir, wo du die erforderliche numerische datasourceId findest, und liefert die wesentlichen Schritte, um Server-Side-Tracking korrekt umzusetzen.


Brauchst du einen separaten Klar Pixel?

Jeder Klar Pixel, den du im Store Configurator erstellst, erzeugt eine eindeutige datasourceId (der numerische Teil der Pixel-URL, z. B. 123456789 in https://123456789.your-domain.com/). Diese ID ist alles, was für Server-Side-Tracking nötig ist. Einen weiteren Pixel hinzuzufügen würde nur dieselbe Funktionalität duplizieren und könnte zu unnötigen DNS-Einträgen führen.

  • Der bestehende Pixel funktioniert sowohl für Client-Side- als auch für Server-Side-Tracking.

  • Es sind keine zusätzlichen CNAME-Einträge nötig; die ursprüngliche DNS-Konfiguration bleibt gültig.

  • Du musst in deinen Server-Side-Payloads nur die numerische datasourceId referenzieren.


Deine datasourceId finden

Öffne die Pixel-URL, die du in Klar erstellt hast (sie sieht aus wie https://YOUR_NUMERIC_ID.your‑domain.com/). Die Zahl vor dem ersten Punkt ist die datasourceId.

Beispiel:

https://123456789.your-domain.com/ → datasourceId = 123456789


Server-Side-Tracking in sGTM konfigurieren

Folge diesen Schritten, um Events von deinem Server mit der bestehenden datasourceId an Klar zu senden.

  1. Validiere deine Domain im Store Configurator von Klar, falls noch nicht geschehen.

  2. Richte den Tracking-Endpoint ein – alle Events müssen per POST an folgende Adresse gesendet werden:

    https://september.durchsichtig.xyz/server-side-event/{EVENT_NAME}

  3. Füge die erforderlichen HTTP-Header in jede Anfrage ein:

    • Content‑Type: application/json

    • x‑serverside‑ip: die IP-Adresse des Kunden (für Server-Side-Tracking verpflichtend)

  4. Baue das Request-Payload anhand des BaseEvent-Schemas (siehe Abschnitt unten). Das Feld dataSourceId muss die numerische ID enthalten, die du im vorherigen Schritt ermittelt hast.

  5. Deploye den Code in deiner Server-Umgebung (Node, PHP, Python usw.) und teste jeden Event-Typ.


Base-Event-Schema (erforderliche Felder)

Alle Events teilen die folgende Struktur. Ersetze die Platzhalterwerte durch deine tatsächlichen Daten.

{  "eventName": "VisitEvent",               // specific event type  "createdAt": "2024-04-11T11:11:15.783Z", // ISO‑8601 timestamp  "pageUrl": "https://your‑shop.com/page",  "septemberId": "a1b2c3d4e5f6g7h8",       // 16‑character nanoid per user  "googleAnalyticsId": "GA1.2.1234567890.1234567890",  "facebookId": "fb.1.1234567890.1234567890",  "dataSourceId": "523072759",            // <-- numeric ID from your pixel  "referrer": "https://google.com",  "hasGivenConsent": true,  "customerId": "cust_123456",  "screen": "1920x1080",  "shopSystem": "shopify"}

Beispiel: VisitEvent-Request

Unten siehst du ein vollständiges cURL-Beispiel, das ein VisitEvent an Klar sendet.

curl -X POST https://september.durchsichtig.xyz/server-side-event/VisitEvent \\  -H "Content-Type: application/json" \\  -H "x-serverside-ip: 203.0.113.45" \\  -d '{    "eventName": "VisitEvent",    "pageTitle": "Best Product of the World",    "createdAt": "2024-04-11T11:11:15.783Z",    "pageUrl": "https://your‑shop.com/home",    "septemberId": "a1b2c3d4e5f6g7h8",    "googleAnalyticsId": "GA1.2.1234567890.1234567890",    "facebookId": "fb.1.1234567890.1234567890",    "dataSourceId": "523072759",    "referrer": "https://google.com",    "hasGivenConsent": true,    "customerId": "cust_123456",    "screen": "1920x1080",    "shopSystem": "shopify"  }'

Weitere Event-Typen

Setze dasselbe Muster für jedes Klar-Event um, das du tracken musst. Die vollständige Liste umfasst:

  • VisitEvent

  • ProductViewedEvent

  • AddToCartEvent

  • RemoveFromCartEvent

  • UpdateCheckoutEvent

  • PaymentInfoEvent

  • ShippingInfoEvent

  • OrderEvent

  • UpdateABGroupEvent

  • CustomConversionEvent

Jedes Event ergänzt ein paar spezifische Felder (z. B. productId, checkoutId, customConversionId), während die BaseEvent-Felder identisch bleiben.


Häufige Fehler beheben

Wenn Klar einen 400-Status zurückgibt, prüfe den „X‑Klar‑Failure"-Response-Header für die genaue Ursache:

  • read-headers – fehlende oder fehlerhafte erforderliche Header.

  • get-body – Request-Body fehlt oder ist kein JSON.

  • invalid-json – JSON-Syntaxfehler im Payload.

Behebe das erkannte Problem und sende die Anfrage erneut. Bei ungelösten Problemen wende dich an den Klar-Support.


Weitere Ressourcen

  • Offizieller Guide: „Setting up the Klar Pixel via Server‑Side Tracking" (Schritt-für-Schritt-Anleitung).

  • Datenschutz-Snippet: Füge den bereitgestellten Text zu deiner Datenschutzerklärung hinzu, wie in den Einstellungen der Klar-Pixel-Data-Source beschrieben.

  • Support: Wende dich bei weiteren Fragen an den Klar Customer Support.

Hat dies deine Frage beantwortet?