Introduction
Dub ist eine Plattform zur Link-Attribution für Shortlinks, Conversion-Tracking und Affiliate-Programme. Mit dieser Integration erfasst Dub jedes Mal ein Sale-Conversion-Event, wenn ein Kunde über Dodo Payments bezahlt. So können Sie den Erfolg Ihrer Marketingkampagnen und Empfehlungsprogramme messen. Dub erfasst einen Sale, wenn ein Kunde:- Eine einmalige Zahlung abschließt
- Ein kostenpflichtiges Abo abschließt
- Eine wiederkehrende Abonnementzahlung leistet
Für diese Integration benötigen Sie ein Dub-Konto mit aktiviertem Conversion-Tracking für Ihre Links. Für das Conversion-Tracking von Dub ist ein Business-Plan oder höher erforderlich.
How It Works
Wenn ein Besucher auf einen Ihrer Dub-Shortlinks klickt, speichert Dub eine eindeutige Klick-ID im Cookiedub_id. So ordnen Sie Verkäufe Ihren Links zu:
- Erfassen Sie die Klick-ID von Dub aus dem Cookie
dub_id, wenn Sie den Checkout erstellen. - Speichern Sie die Klick-ID im
metadatader Zahlung zusammen mit der ID Ihres Kunden in Ihrem System (der externen ID). - Senden Sie den Sale an Dub über die Track API, sobald die Zahlung erfolgreich ist.
Prerequisites
Bevor Sie diese Integration einrichten, benötigen Sie:- Ein Dub-Konto mit einem Workspace.
- Aktiviertes Conversion-Tracking für Ihre Links.
- Einen Dub API-Key, den Sie in Ihrem Dub-Dashboard unter Settings → API Keys erstellen.
Getting Started
1
Enable Conversion Tracking in Dub
Aktivieren Sie in Ihrem Dub-Dashboard das Conversion-Tracking für die Links, für die Sie Verkäufe verfolgen möchten. Dub erfasst anschließend Sale-Events für Kunden, die über diese Links zu Ihnen gelangen.
Informationen zum Aktivieren des Conversion-Trackings finden Sie in der Dub-Dokumentation.
2
Get Your Dub API Key
Öffnen Sie in Ihrem Dub-Dashboard Settings → API Keys und erstellen Sie einen API-Key mit dem Bereich
conversions.write.3
Capture Click ID in Checkout
Lesen Sie beim Erstellen eines Checkouts die Dub-Klick-ID aus dem Cookie aus und fügen Sie sie zum
metadata der Zahlung hinzu. Siehe Schritt 1.4
Send Sale Data via Webhook
Erstellen Sie einen Webhook-Endpunkt, der jeden Sale an die Track API von Dub sendet, sobald eine Zahlung erfolgreich ist. Siehe Schritt 2.
5
Done
Sale-Conversion-Events werden Ihrem Dub-Analytics-Dashboard angezeigt und Ihren Links zugeordnet.
Implementation Guide
Step 1: Add Click ID and Customer ID to Checkout Metadata
Lesen Sie beim Erstellen eines Checkouts die Dub-Klick-ID aus dem Cookie aus und fügen Sie sie zusammen mit der externen ID Ihres Kunden in dasmetadata der Zahlung ein.
Die folgenden Beispiele verwenden
POST /payments, das veraltet ist. Es funktioniert weiterhin für bestehende Integrationen, neue Integrationen sollten jedoch Checkout Sessions (POST /checkouts) verwenden, die metadata auf dieselbe Weise akzeptieren.Schritt 2: Verkaufsdaten an Dub senden
Erstellen Sie einen Webhook-Endpunkt, der Zahlungsdaten an die Track API von Dub sendet, sobald eine Zahlung erfolgreich ist.1
Open the Webhook Section
Gehen Sie im Dodo Payments-Dashboard zu Developer → Webhooks und klicken Sie auf Add endpoint.

2
Select Dub
Wählen Sie unter Integration Dub.co aus.
3
Enter API Key
Fügen Sie unter API key Ihren Dub-API-Schlüssel ein. Dodo Payments sendet ihn bei jeder Zustellung im Header 
Authorization.
4
Check the URL and Events
Wenn Endpoint URL leer ist, geben Sie
https://api.dub.co/track/sale ein. Wählen Sie unter Subscribed events die Ereignisse aus, die Ihre Transformation verarbeitet, zum Beispiel payment.succeeded.5
Configure Transformation
Bearbeiten Sie unter Transformation code den Handler so, dass Zahlungsdaten für die Track Sale API von Dub formatiert werden. Beginnen Sie mit den Beispielen.
6
Test & Create
Klicken Sie unter Test this code auf Simulate, um den Handler mit einer Beispielnutzlast auszuführen. Klicken Sie anschließend auf Create endpoint.
Beispiele für Transformationscode
Jeder Handler sendet einen Verkauf nur dann an Dub, wennmetadata eine Click-ID enthält. Bei organischem Traffic ohne Click-ID wird webhook.cancel = true gesetzt, sodass keine Anfrage an Dub gesendet wird. Die abgebrochene Zustellung wird in den Webhook-Protokollen dennoch als erfolgreich angezeigt.
Der Request-Body folgt der Track Sale API von Dub: customerExternalId und amount sind erforderlich, und paymentProcessor ist custom, da die Liste der Zahlungsanbieter von Dub keinen Wert für Dodo Payments enthält. Dub erwartet amount in derselben Einheit wie die Beträge von Dodo Payments: Cent bei Währungen mit zwei Dezimalstellen und den vollständigen ganzzahligen Wert bei Währungen ohne Dezimalstellen wie JPY. Die Beispiele übergeben den Betrag unverändert.
Einfaches Tracking von Verkäufen
Verfolgen Sie einen Verkauf, sobald eine Zahlung erfolgreich ist:basic_sale.js
Tracking von Abonnementverkäufen
Verfolgen Sie sowohl erstmalige Abonnements als auch wiederkehrende Zahlungen. Verwenden Sie diesen Handler für Abonnements anstelle der Handler fürpayment.succeeded und nicht zusätzlich dazu: Jede Abonnementzahlung löst ebenfalls payment.succeeded aus. Wenn beide Ereignisse verarbeitet werden, wird jeder Verkauf zweimal erfasst. Siehe den Leitfaden zur Abonnementintegration.
Der Handler liest die Click-ID aus dem metadata des Abonnements. Übergeben Sie daher dieselben Metadaten, wenn Sie das Abonnement erstellen. Bei Verlängerungen kombiniert invoiceId die Abonnement-ID mit previous_billing_date, dem Beginn des aktuellen Abrechnungszeitraums. Dadurch verwendet eine wiederholte Zustellung dieselbe invoiceId erneut.
subscription_sale.js
Tracking von Verkäufen ohne Steuern
Senden Sie nur den Betrag vor Steuern an Dub, damit der Umsatz in Dub keine Steuern enthält:sale_without_tax.js
Tracking von Verkäufen mit benutzerdefinierten Ereignisnamen
Verwenden Sie benutzerdefinierte Ereignisnamen, um verschiedene Verkaufsarten zu kategorisieren. Das Beispiel liest einis_upgrade-Flag, das Sie im metadata der Zahlung setzen:
custom_events.js
Alternative: clientseitige Implementierung
Um Verkäufe über Ihren eigenen Server statt über eine Webhook-Transformation zu verfolgen, rufen Sie die Track API von Dub direkt nach einer erfolgreichen Zahlung auf, beispielsweise aus Ihrempayment.succeeded-Webhook-Handler. Der Code verwendet Ihren Dub-API-Schlüssel. Führen Sie ihn daher auf Ihrem Server und niemals im Browser aus.
Best Practices
- Click-ID in Metadaten aufnehmen: Ohne die Click-ID kann Dub Umsätze Ihren Links nicht zuordnen.
- Externe IDs konsistent verwenden: Übergeben Sie jedes Mal dieselbe Kunden-ID aus Ihrem System als
customerExternalId, um genaue Analysen auf Kundenebene zu ermöglichen. - Organischen Traffic verarbeiten: Setzen Sie
webhook.cancel = true, wenn keine Click-ID vorhanden ist, um unnötige API-Aufrufe zu vermeiden. - Mit Beispielzahlungen testen: Führen Sie den Handler mit Test this code aus und bestätigen Sie, dass die Integration funktioniert, bevor Sie live gehen.
- Ihr Dub-Dashboard überwachen: Prüfen Sie, ob Verkäufe mit der erwarteten Zuordnung angezeigt werden.
Wichtige Hinweise
- Betragsformat: Dub erwartet Beträge bei Währungen mit zwei Dezimalstellen in Cent (beispielsweise entspricht $10.00
1000) und bei Währungen ohne Dezimalstellen als vollständige Ganzzahl, etwa bei JPY. - Währung: Verwenden Sie ISO-4217-Währungscodes wie USD, EUR und GBP. Dub rechnet jeden Verkauf zum aktuellen Wechselkurs in USD um.
- Kostenlose Testzeiträume: Die Track Sale API von Dub akzeptiert einen
amountvon0. Die Beispiele überspringen daher keine Zahlungen über $0, sodass jede Zahlung über $0 Dub als Verkauf erreicht. Um Zahlungen über $0 zu überspringen, setzen Siewebhook.cancel = true, wenntotal_amount0ist. - Rückerstattungen: Wenn Sie eine genaue Umsatzberichterstattung benötigen, erfassen Sie Rückerstattungen separat.
Fehlerbehebung
Sales Not Appearing in Dub
Sales Not Appearing in Dub
- Vergewissern Sie sich, dass Ihr Dub-API-Schlüssel korrekt ist und über den
conversions.write-Bereich verfügt. - Prüfen Sie, ob die
dub_click_iderfasst und in den Zahlungsmetadaten gespeichert wird. - Prüfen Sie, ob die Webhook-Transformation die Nutzlast korrekt formatiert.
- Vergewissern Sie sich, dass der Endpunkt für
payment.succeededabonniert ist. - Bestätigen Sie, dass Conversion-Tracking für Ihre Dub-Links aktiviert ist.
- Öffnen Sie die Zustellversuche des Endpunkts im Tab Logs unter Developer → Webhooks, um die Antwort von Dub zu sehen. Eine Zahlung ohne Click-ID wird abgebrochen und als erfolgreich angezeigt.
Revenue Attribution Not Working
Revenue Attribution Not Working
- Bestätigen Sie, dass Kunden vor dem Checkout auf Ihre Dub-Kurzlinks klicken.
- Vergewissern Sie sich, dass das Cookie
dub_idauf Ihrer Domain gesetzt wird. - Prüfen Sie, ob die Click-ID in den Zahlungsmetadaten mit dem Klick des Kunden übereinstimmt.
- Erfassen Sie die Click-ID, bevor Sie den Checkout erstellen.
Transformation Errors
Transformation Errors
- Prüfen Sie, ob die Nutzlast dem Format der Track Sale API von Dub entspricht.
- Prüfen Sie, ob die erforderlichen Felder
customerExternalIdundamountvorhanden sind undclickIdfür die Zuordnung gesetzt ist. - Prüfen Sie, ob der Betrag eine Ganzzahl in der kleinsten Währungseinheit und keine Dezimalzahl ist.
- Vergewissern Sie sich, dass die Endpunkt-URL
https://api.dub.co/track/salelautet. - Testen Sie die Transformation mit Beispielnutzlasten von Webhooks.
Duplicate Sales Being Tracked
Duplicate Sales Being Tracked
- Verfolgen Sie Verkäufe nur bei
payment.succeeded-Ereignissen, nicht beipayment.processing. - Verwenden Sie für jeden Verkauf eine eindeutige
invoiceId. Dub erfasst für jedeinvoiceIdnur einen Verkauf. - Erstellen Sie bei Verlängerungen
invoiceIdaus der Abonnement-ID und dem Abrechnungszeitraum wie unter Tracking von Abonnementverkäufen beschrieben. Ein Wert, der sich bei jeder Zustellung ändert, etwa die aktuelle Zeit, erfasst bei einer wiederholten Zustellung einen doppelten Verkauf.
Zusätzliche Ressourcen
Dub Conversions Documentation
Lesen Sie mehr über die Conversion-Tracking- und Analysefunktionen von Dub.
Dub Track Sale API
Lesen Sie die vollständige API-Referenz für den Track-Sale-Endpunkt von Dub.
Dub Dashboard
Zeigen Sie Conversion-Analysen und Zuordnungsdaten in Ihrem Dub-Dashboard an.
Webhook Events Guide
Durchsuchen Sie alle Dodo Payments-Webhook-Ereignisse.
Bei Fragen zu dieser Integration wenden Sie sich unter support@dodopayments.com an den Support von Dodo Payments.