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.
Validiere deine Domain in Klars Store-Konfigurator, falls du das noch nicht getan hast.
Richte den Tracking-Endpunkt ein – alle Events müssen per POST gesendet werden an:
https://september.durchsichtig.xyz/server-side-event/{EVENT_NAME}Füge die erforderlichen HTTP-Header in jede Anfrage ein:
Content‑Type:
application/jsonx‑serverside‑ip: die IP-Adresse des Kunden (verpflichtend für Server-Side-Tracking)
Erstelle den Request-Payload anhand des BaseEvent-Schemas (siehe Abschnitt unten). Das Feld
dataSourceIdmuss die numerische ID enthalten, die du im vorherigen Schritt ermittelt hast.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.
