Elido
Alles, was Elido kann
Pro & Business

Conversion-Tracking. Attribute every dollar to the click that earned it.

Stripe- und Shopify-Webhook-Empfänger überprüfen Signaturen und verknüpfen den Umsatz mit dem ursprünglichen Kurzlink. Kampagnen-Attribution wird automatisch abgeleitet.

  • Server-side Stripe & Shopify attribution
  • click_id passthrough — no client JS needed
  • Revenue by link, campaign, day, platform
  • Automatic HMAC signature verification
elido.app — conversion attribution
elido.me/saleClickclick_id set?elido_cid=a3f9…cookie: cid=a3f9…Stripe Checkoutclient_ref = a3f9…€ 99.00 paidcheckout.session.completed webhook+€99 attributed
Server-side, no pixel gapsHMAC verified
Server-seitig
Attributionsmethode (keine Pixel-Lücken)
<5s
Verzögerung bei der Erfassung von Conversion-Events
100%
Attributionsgenauigkeit (kein Sampling)
3
Weiterleitungsziele (GA4, Meta, Mixpanel)

How it works

The click_id travels the entire funnel

A UUID is stamped at click time and passed through every step — URL parameter, session cookie, Stripe session, Shopify order — until the webhook fires and closes the attribution loop server-side. No client JavaScript is required for the attribution itself.

  1. Step 01

    Click short link

    elido.me/sale

    Edge stamps UUID v4

    cid: a3f9c1…
  2. Step 02

    click_id attached

    ?elido_cid=a3f9c1…

    URL param + first-party cookie

    cid: a3f9c1…
  3. Step 03

    User converts

    client_reference_id=a3f9c1…

    Stripe session carries click_id

    cid: a3f9c1…
  4. Step 04

    Webhook fires

    checkout.session.completed

    Revenue attributed to originating link

    cid: a3f9c1…

Integrations

Drop-in webhook receivers for Stripe and Shopify

Register the endpoint in your dashboard, paste the signing secret, and attribution starts flowing. HMAC signature verification happens before any payload is processed — spoofed webhooks are rejected before they touch your data.

Stripe
checkout.session.completed · payment_intent.succeeded
HMAC verified
Webhook endpoint
POSThttps://api.elido.app/webhooks/stripe
1. Verify Stripe-Signature header
2. Extract client_reference_id → match click_id
3. Record revenue against originating link
Server-side, no client JavaScript required
Shopify
orders/paid — order deduplication included
HMAC verified
Webhook endpoint
POSThttps://api.elido.app/webhooks/shopify
1. Verify X-Shopify-Hmac-Sha256 header
2. Read click_id from order note_attributes
3. Deduplicate by order ID, attribute revenue
Server-side, no client JavaScript required

Revenue dashboard

Revenue per link, per campaign, per day

Every short link gets a live revenue total — sum of all attributable conversion values through that link. Filter by campaign tag, date range, or platform. Export as CSV or stream to BigQuery via scheduled exports.

  • Revenue per link
    Summed conversion values, any currency, in the original denomination
  • CVR over time
    Conversion rate time-series alongside click volume
  • Forwarding to GA4 / Meta CAPI
    Fanned out asynchronously after conversion is recorded
  • Deduplication
    Idempotent on click_id + event_name — double webhooks don't double-count
Revenue attribution — last 30 days
Live
Revenue trend168k total
LinkClicksConv.RevenueCVR
elido.me/bfcm18,420847
76,280
4.6%
elido.me/sale11,034512
41,430
4.6%
elido.me/nl/shop8,901398
29,104
4.5%
elido.me/email-q26,201201
14,872
3.2%
elido.me/ig-bio5,03288
6,104
1.7%
Total revenue
167,790
Total conversions
2,046
Avg CVR
4.1%

What you can do

  • Stripe checkout.session.completed
  • Stripe payment_intent.succeeded
  • Shopify orders/paid
  • Kampagnen-Attribution vom Link abgeleitet
  • Umsatzübersicht im Dashboard

Wie server-seitige Conversion-Attribution von Ende zu Ende funktioniert

Client-seitige Pixel verlieren 20–40 % der Conversions aufgrund von Werbeblockern, iOS-Datenschutzbeschränkungen und Redirect-Ketten im Checkout. Die server-seitige Attribution schließt diese Lücke.

Click-ID-Weitergabe
01

Jeder Klick erhält eine UUID, die an das Ziel übergeben wird – der Attributionsanker für den Conversion-Abgleich

Wenn ein Nutzer auf einen Elido Short-Link klickt, generiert der Edge eine click_id (UUID v4) und hängt diese als Query-Parameter (elido_cid) an die Ziel-URL an. Ihr Checkout-Flow sollte diesen Parameter über jede Seite im Trichter hinweg beibehalten – die meisten SPA-Router und Server-rendered Checkout-Stacks leiten unbekannte Query-Parameter standardmäßig weiter, aber mehrstufige Checkouts mit Redirect-Ketten könnten diese entfernen. Die click_id wird auch in einem Session-Cookie auf der Zieldomain gespeichert, wenn Sie das 2KB-Attributions-Snippet von Elido einbinden (optional). Testen Sie den vollständigen Checkout-Flow vor dem Livegang: Klicken Sie auf einen Short-Link, schließen Sie einen Testkauf ab und überprüfen Sie, ob die elido_cid im Conversion-POST erscheint. Falls nicht, fügen Sie eine Query-Parameter-Weiterleitung in Ihrer Checkout-Middleware hinzu. Dies ist der häufigste Fehler bei der Attributions-Einrichtung – nicht der Webhook, sondern der Verlust des Query-Parameters im Checkout.

Stripe-Integration
02

Stripe-Webhook-Receiver verifiziert Signaturen und ordnet checkout.session.completed- und payment_intent.succeeded-Events zu

Registrieren Sie den Stripe-Webhook-Endpunkt von Elido in Ihrem Stripe-Dashboard (Einstellungen → Webhooks → Endpunkt hinzufügen). Elido überwacht checkout.session.completed- und payment_intent.succeeded-Events. Bei jedem Event verifiziert Elido den Stripe-Signature-Header unter Verwendung Ihres Webhook-Signing-Secret, extrahiert den Zahlungsbetrag und die Währung, sucht nach der click_id, die in der client_reference_id der Checkout-Session gespeichert ist (die Ihr Checkout ausfüllen muss – siehe Anleitung), und zeichnet die Conversion für diesen Klick auf. Der Umsatz und die click_id sind dann in der Analytics-Ansicht des Links und in der Kampagnen-Umsatzübersicht verfügbar. Das Feld client_reference_id der Checkout-Session ist der empfohlene Durchlaufweg; alternativ können Sie das Metadata-Feld von Stripe mit dem Key elido_cid verwenden, wenn Sie PaymentIntents direkt nutzen. Die vollständige Einrichtung dauert etwa 30 Minuten, wenn Ihre Stripe-Integration bereits Webhooks verarbeitet.

Shopify-Integration
03

Shopify-Webhook orders/paid verknüpft den Bestellungsumsatz mit dem ursprünglichen Short-Link-Klick

Registrieren Sie den Shopify-Webhook-Endpunkt von Elido in Ihrer Shopify-Administration (Einstellungen → Benachrichtigungen → Webhooks → Webhook erstellen → Thema: orders/paid). Elido verifiziert den X-Shopify-Hmac-Sha256-Header, extrahiert die Gesamtsumme der Bestellung sowie die Währung und sucht die elido_cid aus den note_attributes der Bestellung (diese befüllen Sie über die Shopify-Warenkorb-API für note_attributes, wobei Sie die click_id aus dem Session-Cookie oder dem URL-Parameter übergeben). Für Shopify-Stores, die Online Store 2.0 Themes verwenden, fügt das Attributions-Snippet von Elido die click_id beim Klick automatisch in den Warenkorb ein. Zugerechnete Bestellungen werden anhand der Bestell-ID dedupliziert, sodass erstattete und ersetzte Bestellungen nicht doppelt gezählt werden. Shopify Plus-Stores mit benutzerdefinierten Checkout-Extensions können die click_id über einen zuverlässigeren Kanal übergeben – die Einrichtungsanleitung deckt den Plus-spezifischen Flow ab.

Benutzerdefinierte Conversion-Events
04

POST an den Conversion-Endpunkt von Elido von jedem Backend aus – nicht nur Stripe und Shopify

POST /v1/conversions mit einem JSON-Body: { click_id: "...", event_name: "purchase", value: 99.00, currency: "EUR", metadata: {} }. Die click_id ist die elido_cid des Klicks. Elido authentifiziert die Anfrage mit Ihrem Workspace-API-Key (HMAC-SHA256 über den Payload-Body wird für zusätzliche Sicherheit empfohlen). Dieser Endpunkt deckt alle Conversions ab, die nicht durch die nativen Stripe- oder Shopify-Integrationen gehandhabt werden: WooCommerce, benutzerdefinierte SaaS-Testaktivierungen, Lead-Formularübermittlungen oder Telefonanruf-Conversions, die von Ihrer Telefonieplattform getrackt werden. Das Feld event_name ist Freitext; verwenden Sie jede von Ihrem Team bevorzugte Namenskonvention – es wird in der Analytics-Ansicht unverändert angezeigt. Idempotenz: Senden Sie dieselbe Kombination aus click_id + event_name zweimal, und nur die erste wird aufgezeichnet. Event-Wert und Metadaten sind nur beim ersten Schreibvorgang veränderbar.

Downstream-Weiterleitung
05

Conversions gleichzeitig an GA4 Measurement Protocol, Meta CAPI und Mixpanel Server-Track verteilen

Nachdem Elido eine Conversion für einen Klick aufgezeichnet hat, verteilt es das Event an alle von Ihnen aktivierten server-seitigen Weiterleitungsziele: GA4 Measurement Protocol (das Event erscheint in GA4 als server-seitiges Purchase-Event mit den ursprünglichen UTM-Parametern des Klicks), Meta Conversions API (das Event wird mit dem Client-seitigen Pixel dedupliziert, falls beide feuern, unter Verwendung der event_id aus der click_id) und Mixpanel Server-Track (das Event wird mit der distinct_id aus dem $identify-Aufruf von Mixpanel gesendet, sofern Sie Cross-Identity konfiguriert haben). Die Weiterleitung erfolgt asynchron nach der Aufzeichnung der Conversion – sie blockiert nicht die Webhook-Antwort an Stripe oder Shopify. Fehlgeschlagene Weiterleitungs-Events werden 24 Stunden lang mit exponentiellem Backoff wiederholt und dann mit einem Log-Eintrag verworfen. Sie können den Weiterleitungsstatus pro Conversion im Dashboard einsehen.

Revenue-Teams, die Elido Conversion-Tracking nutzen

Namen sind Platzhalter – echte Kunden-Fallstudien werden hier veröffentlicht, sobald sie erscheinen.

iOS 14.5 hat unsere Meta-Pixel-Attribution bei 30 % der mobilen Käufe zunichtegemacht. Der server-seitige Stripe-Webhook über Elido hat das meiste davon gerettet – die Weitergabe der click_id in die client_reference_id von Stripe war der Schlüssel. Die Einrichtung dauerte einen Nachmittag.

E
E-Commerce-Team, D2C-Marke, Warschau
Head of E-Commerce

Wir senden Testaktivierungen per POST an den benutzerdefinierten Conversion-Endpunkt von Elido. Die Kette Klick → Testversion → Bezahlversion ist jetzt von Ende zu Ende nachvollziehbar, ohne ein vollständiges CDP. Dank der Weiterleitung über das GA4 Measurement Protocol sind unsere Dashboards für bezahlte Kanäle wieder genau.

M
Marketing Data, B2B SaaS, Lissabon
Marketing Data Engineer

Der Shopify orders/paid-Webhook plus das Attributions-Snippet im Theme war eine eintägige Integration. Der Umsatz pro Kampagne ist jetzt eine Live-Zahl in unserem morgendlichen Standup, keine Tabellenformel mehr, die jemand manuell aktualisieren muss.

G
Growth Engineering, Fintech, Riga
Growth Engineer

Elido Conversion-Tracking vs. Bitly vs. Short.io

Bitly bietet kein server-seitiges Conversion-Tracking an. Short.io verfügt über grundlegende Conversion-Pixel. Das Conversion-Tracking von Elido ist server-seitig und leitet Daten an mehrere Werbeplattformen weiter.

FeatureElidoBitlyShort.io
Server-seitige Conversion-AttributionJa – Webhook-basiert, Signatur-verifiziertNicht verfügbarNicht verfügbar
Stripe-Webhook-Integrationcheckout.session.completed + payment_intent.succeededNicht verfügbarNicht verfügbar
Shopify-Webhook-Integrationorders/paid – Signatur-verifiziert, Bestell-DeduplizierungNicht verfügbarNicht verfügbar
Benutzerdefinierter Conversion-EndpunktPOST /v1/conversions – jedes Backend, jedes EventNicht verfügbarNicht verfügbar
GA4 / Meta CAPI WeiterleitungJa – verteilt nach Aufzeichnung der ConversionNicht verfügbarTeilweise – nur Client-seitiges Pixel
Umsatz in AnalyticsUmsatzübersicht pro Link und Kampagne mit WährungNicht verfügbarNur Conversion-Anzahl, kein Umsatz
Conversion-DeduplizierungJa – Idempotenz bei click_id + event_nameNicht anwendbarNicht verfügbar

Fragen zum Conversion-Tracking

Was passiert, wenn die click_id vor der Conversion entfernt wird?

Wenn der Query-Parameter elido_cid vor dem Auslösen des Conversion-Events verloren geht – etwa durch eine Redirect-Kette, einen SPA-Router, der Query-Parameter nicht weiterleitet, oder einen Drittanbieter-Checkout, der unbekannte Parameter entfernt – kann die Conversion nicht zugeordnet werden. Testen Sie den gesamten Trichter: Klicken Sie auf einen Short-Link, verfolgen Sie die elido_cid über jede Seite bis zur Checkout-Bestätigung und verifizieren Sie, dass sie im Conversion-POST erscheint. Das Elido-Attributions-Snippet (ein kleiner JavaScript-Block) speichert die click_id zudem als Fallback in einem First-Party-Cookie – falls der URL-Parameter verloren geht, der Nutzer sich aber noch in derselben Browser-Sitzung befindet, kann die Attribution über das Cookie wiederhergestellt werden.

Wie werden Rückerstattungen bei der Conversion-Attribution gehandhabt?

Elido verarbeitet Rückerstattungs-Events nicht automatisch. Wenn ein Stripe charge.refunded- oder ein Shopify refunds/create-Event ausgelöst wird, bucht Elido den zugerechneten Umsatz nicht zurück. Sie können manuell ein Conversion-Event mit negativem Wert an den benutzerdefinierten Endpunkt senden, um die Attribution rückgängig zu machen. Ein Webhook-Listener für Rückerstattungen steht auf der Roadmap. Bis dahin sollten Sie, falls Sie genaue Nettoumsätze in Elido benötigen, die Rückerstattungssummen mithilfe des Datenexports und Ihres Warenwirtschaftssystems abziehen.

Funktioniert das Conversion-Tracking auch, wenn der Nutzer den Checkout auf einem anderen Gerät abschließt?

Nein – wenn der Nutzer den Short-Link auf dem Smartphone klickt, den Checkout aber am Desktop abschließt, wird die click_id nicht zwischen den Geräten übertragen. Die Conversion wird nicht zugeordnet, es sei denn, die Sitzung des Nutzers hat die elido_cid über den Gerätewechsel hinweg bewahrt (z. B. über ein eingeloggt-Konto, das sie gespeichert hat). Geräteübergreifende Attribution erfordert einen server-seitigen Identity-Graph, den Elido nicht bereitstellt. Für eine genaue geräteübergreifende Attribution nutzen Sie bitte Ihr MMP oder CDP zusammen mit den server-seitigen Conversions von Elido.

Welche Währungen werden für die Umsatzattribution unterstützt?

Alle ISO 4217-Währungscodes werden im Feld value eines Conversion-Events akzeptiert. Der Umsatz wird in der Originalwährung gespeichert; das Analytics-Dashboard zeigt den Umsatz in der Währung des jeweiligen Conversion-Events an. Wenn Sie eine zusammengefasste Ansicht in einer einzigen Währung benötigen, exportieren Sie die Conversion-Events und konvertieren Sie diese in Ihrem Warehouse – Elido führt keine FX-Währungsumrechnungen durch.

Wie richte ich die Stripe client_reference_id-Weitergabe ein?

Wenn Sie eine Stripe Checkout-Session erstellen, setzen Sie client_reference_id auf den Wert des URL-Parameters elido_cid des verweisenden Klicks. In JavaScript: const session = await stripe.checkout.sessions.create({ ..., client_reference_id: searchParams.get('elido_cid') }). Der Webhook-Handler von Elido liest dieses Feld aus checkout.session.completed aus. Wenn Sie PaymentIntents direkt verwenden, nutzen Sie stattdessen das Metadata-Feld mit dem Key elido_cid. Die Einrichtungsanleitung unter /docs/guides/conversion-tracking enthält Copy-Paste-Code für Node, Python und Go.

Sind Conversion-Daten in den ClickHouse-Exporten enthalten?

Ja. Conversion-Events werden in einer separaten ClickHouse-Tabelle (conversions) neben der Tabelle für Klick-Events (clicks) gespeichert. Geplante Exporte nach S3, BigQuery oder Snowflake umfassen beide Tabellen. Der JOIN-Key ist die click_id. Eine SQL-Referenzabfrage, die Klicks mit Conversions verknüpft und den Umsatz pro Kampagnen-UTM-Quelle berechnet, finden Sie in der Export-Anleitung.

Kann ich Nicht-Umsatz-Conversions wie Formularübermittlungen oder Testversion-Aktivierungen tracken?

Ja – der benutzerdefinierte Conversion-Endpunkt akzeptiert jeden event_name und einen optionalen Wert (setzen Sie diesen auf 0 für Nicht-Umsatz-Events). Verwenden Sie Event-Namen wie 'trial_started', 'demo_booked' oder 'form_submitted'. Diese erscheinen in der Analytics-Ansicht des Links unter 'Conversions' mit dem Event-Namen als Label. Wenn Sie zusätzlich an GA4 weiterleiten, werden diese auf benutzerdefinierte GA4-Events gemappt. Die Anzahl der Conversions (nicht nur der Umsatz) ist pro Link und Kampagne sichtbar, unabhängig vom Event-Wert.

Wie hoch ist die Latenz vom Empfang des Conversion-Events bis zur Sichtbarkeit in den Analytics?

Vom Webhook-Empfang bis ClickHouse: In der Regel unter 5 Sekunden über dieselbe Redpanda-Pipeline wie Klick-Events. Die Attribution (Abgleich der Conversion mit dem ursprünglichen Klick) erfolgt synchron beim Webhook-Empfang – wenn die click_id aufgelöst werden kann, erfolgt die Attribution sofort. Die Downstream-Weiterleitung an GA4 / Meta CAPI / Mixpanel erfolgt asynchron und dauert zusätzlich 2–10 Sekunden. Die Umsatzzahl in der Analytics-Ansicht des Dashboards wird innerhalb von 30 Sekunden nach Empfang des Conversion-Events aktualisiert.

Bereit zum Ausprobieren?

Starten Sie mit dem kostenlosen Plan, upgraden Sie, wenn Sie eine benutzerdefinierte Domain benötigen.

Conversion-Tracking — Stripe- und Shopify-Bestellungen Klicks zuordnen. · Elido