Zum Hauptinhalt springen
5 Min. Lesedauer

Server-vs-Client-Abgleich

Kunden vergleichen ihre Zenovay-Zahlen regelmäßig mit GA4, Stripe-Belegen oder ihren eigenen Backend-Logs und stellen fest, dass die Zahlen nicht ganz übereinstimmen. Manchmal meldet Zenovay mehr Ereignisse, manchmal weniger. Die ehrliche Antwort lautet: Jedes Analytics-Tool — auch Zenovay — liefert eine Schätzung auf Basis dessen, was den Browser, was den Server und was eine Webhook-Bestätigung erreicht hat.

Der Abgleich ist Zenovays Mechanismus, um diese Lücke mit Konfidenz-Labels zu quantifizieren, statt sie zu ignorieren.

Was verglichen wird

Der Abgleich läuft als täglicher Job, der drei Wahrheitsschichten pro Website, Metrik-Typ und Tag vergleicht:

SchichtWas sie misstWo sie liegt
ClientVom Browser-Tracker ausgelöste Ereignissepage_views, user_events mit source = 'browser'
ServerÜber POST /api/v1/events ingestierte EreignisseDieselben Tabellen, source = 'server'
WebhookStripe-/LemonSqueezy-/Polar-Webhook-Bestätigungenpayment_events mit status = 'succeeded'

Für jedes (Website, Tag, Metrik)-Tripel werden gespeichert: wie viele Ereignisse jede Schicht gesehen hat, wie viele übereinstimmen, der geschätzte Verlust in Prozent und ein primärer Mismatch-Grund aus einer festen Liste.

Die drei V1-Metriktypen

V1 deckt die drei Metriken ab, für die es eine eindeutige Wahrheitsschicht gibt:

  1. Seitenaufrufe — Client (Browser) vs. Server (POST /api/v1/events).
  2. Ziel-Abschlüsse — Client-Zielereignisse vs. serverseitige Zielereignisse.
  3. Umsatz-Ereignisse — Client-Kaufereignisse vs. Stripe-Webhook-Wahrheit (payment_events).

Benutzerdefinierte Ereignisse, Identify-Aufrufe und andere Ereignistypen sind in V1 nicht enthalten — sie haben keine vergleichbare Wahrheitsschicht.

Wie der Verlust geschätzt wird

Für Seitenaufrufe und Ziele ist die Wahrheitsschicht server_count. Für Umsatz ist die Wahrheitsschicht webhook_count (der Webhook des Zahlungsanbieters ist die Quelle der Wahrheit — er hat tatsächlich abgerechnet).

geschätzter_Verlust = (Wahrheit - Client) / Wahrheit × 100

Negative Werte sind erlaubt: Wenn der Server mehr Ereignisse erfasst hat als der Browser-Tracker, ist auch das eine Information — Ihr Tracker hat Ereignisse verpasst, die die serverseitige Erfassung aufgefangen hat. Genau deshalb betreibt man beides.

Konfidenz-Labels

Jede Abgleichszeile trägt eines von drei Labels:

LabelWann es greift
Hohe KonfidenzBeide Schichten haben jeweils ≥100 Ereignisse, geschätzter Verlust unter 30 %.
Mittlere KonfidenzEine der Schichten liegt im Bereich 50–100 Ereignisse, oder der Verlust liegt zwischen 30 % und 60 %.
Begrenzte DatenUnter 50 Ereignisse auf einer Schicht, Verlust über 60 %, oder nur eine Schicht überhaupt vorhanden.

„Begrenzte Daten" ist kein Fehler, der behoben werden muss — es bedeutet nur, dass die Stichprobe zu klein oder einseitig ist, um eine sichere Aussage zu treffen. Konfidenz-Labels halten die Trust-Ansicht ehrlich.

Mismatch-Gründe

Wenn der Abgleich eine relevante Lücke erkennt, wählt er einen von sieben Gründen, sortiert nach Erkennungspriorität:

GrundErkennungsregelHandlungsbedarf?
webhook_delayClient > Webhook um ≥20 % UND heutige Webhook-Anzahl ≥2σ unter 6-Tage-Mittel
client_blockedServer > Client um ≥10 %
route_mappingTop-1–2-Routen verursachen ≥50 % der Lücke
duplicate_suppressionDie Ingest-Pipeline hat Browser-Ereignisse innerhalb des Tages dedupliziertinformativ
id_stitchingHohe Varianz nicht zugeordneter Client-Ereignisse über Besucher-Segmenteinformativ
no_server_layerserver_count = 0 und client_count > 0informativ
unknownKeine Schwelle erreichtinformativ

Drei Gründe sind handlungsrelevant — die Maßnahme liegt bei Ihnen (CSP korrigieren, SDK-Retry konfigurieren, Stripe-Webhook-Auslieferung prüfen). Die anderen vier liefern diagnostischen Kontext.

Wo Sie es sehen

Öffnen Sie ein beliebiges Domain-Dashboard in app.zenovay.com und wählen Sie den Reiter Trust. Sie sehen dort:

  • Den geschätzten Tracking-Verlust der letzten 7 Tage mit Konfidenz-Label.
  • Eine Aufschlüsselung pro Metrik (Seitenaufrufe, Ziele, Umsatz) mit Client- / Server- / Übereinstimmungs-Zahlen und der Lücke als gestreifter Abschnitt einer Vollständigkeitsleiste.
  • Die wichtigsten Mismatch-Gründe nach Ereignisauswirkung sortiert, mit Handlungsempfehlungen für die handlungsrelevanten.
  • (Pro und höher) Eine Drilldown-Tabelle pro Route, die zeigt, welche Routen den größten Anteil an der Lücke haben.

Was es nicht ist

  • Es ist keine Garantie für Korrektheit. Es ist eine Messung der Messqualität.
  • Es ist kein Versuch, die Lücke zu schließen. Die Maßnahmen — CSP-Konfiguration, Webhook-Konfiguration, Route-Normalisierung — liegen auf Ihrer Seite.
  • Es nennt keine Drittanbieter-Dienste, die Sie nicht ohnehin schon nutzen. Mismatch-Gründe bleiben generisch, damit die Handlungsempfehlungen unabhängig von Ihrem Stack relevant bleiben.
  • Es führt keine neue Datenerfassung ein. Der Abgleich liest bestehende Zeilen aus page_views, user_events und payment_events — keine neuen Cookies, keine neuen Identifier, die Cookieless-Tracking-Garantie bleibt unverändert.

Plan-Verfügbarkeit

Der Trust-Reiter selbst ist in jedem Plan verfügbar. Drilldown pro Route und Handlungsempfehlungen für handlungsrelevante Gründe sind ab Pro verfügbar. Free zeigt Aggregate und Grund-Bezeichnungen ohne Routen-Detail.

Verwandte Konzepte

War diese Seite hilfreich?