Zum Hauptinhalt springen

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

Erfahre, warum du für das Server-Side-Tracking mit dem Google Tag Manager keinen zusätzlichen Klar Pixel erstellen musst und wie du die bestehende datasource ID in deiner Implementierung nutzt.

Verfasst von Frank Birzle

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

Brauchst du einen separaten Klar Pixel?

Jeder Klar Pixel, den du im Store-Konfigurator erstellst, generiert 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 benötigt wird. Ein weiterer Pixel 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 lediglich die numerische datasourceId referenzieren.

So findest du deine datasourceId

Ö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

Befolge diese Schritte, um Events von deinem Server mithilfe der bestehenden datasourceId an Klar zu senden.

  1. Validiere deine Domain in Klars Store-Konfigurator, falls du das noch nicht getan hast.

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

    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 (verpflichtend für Server-Side-Tracking)

  4. Erstelle den 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 Serverumgebung (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 findest 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

Implementiere dasselbe Muster für jedes Klar-Event, das du tracken möchtest. Die vollständige Liste umfasst:

  • VisitEvent

  • ProductViewedEvent

  • AddToCartEvent

  • RemoveFromCartEvent

  • UpdateCheckoutEvent

  • PaymentInfoEvent

  • ShippingInfoEvent

  • OrderEvent

  • UpdateABGroupEvent

  • CustomConversionEvent

Jedes Event fügt einige spezifische Felder hinzu (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 Response-Header „X‑Klar‑Failure“ auf die genaue Ursache:

  • read-headers – erforderliche Header fehlen oder sind fehlerhaft.

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

  • invalid-json – JSON-Syntaxfehler im Payload.

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

Weitere Ressourcen

  • Offizielle Anleitung: „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-Datenquelle beschrieben.

  • Support: Wende dich für weitere Fragen an den Klar-Kundensupport.

Hat dies deine Frage beantwortet?