Skip to main content

Introduction

Dub is a powerful link management platform that helps you create, share, and track short links. By integrating Dodo Payments with Dub, you can automatically track sale conversion events when customers complete purchases, enabling you to measure the ROI of your marketing campaigns and referral programs. A “sale” event is recorded in Dub when a customer:
  • Completes a one-time payment
  • Subscribes to a paid plan
  • Makes a recurring subscription payment
This integration requires a Dub account with conversion tracking enabled on your links.
Affiliate Program Integration: This integration also works seamlessly with Dub Partners for tracking affiliate referrals and commissions. Use Dub’s conversion tracking to attribute sales to your affiliate links and measure partner performance. Learn more about setting up affiliate programs in our Affiliates feature guide.

How It Works

Dub tracks visitors through a unique click ID (dub_id) stored in a cookie when users click your Dub short links. To attribute sales to your links, you need to:
  1. Capture Dub’s click ID from the dub_id cookie when creating checkout sessions
  2. Store the click ID in your payment metadata along with the customer’s external ID
  3. Send sale data to Dub when payments succeed using their Track API
This allows Dub to match successful sales with the original link click, giving you complete conversion attribution.

Prerequisites

Before setting up this integration, ensure you have:
  1. A Dub account with a workspace
  2. Conversion tracking enabled for your links
  3. Your Dub API key (available in your Dub dashboard under Settings → API Keys)

Getting Started

1

Enable Conversion Tracking in Dub

In your Dub dashboard, enable conversion tracking for the links you want to track sales for. This allows Dub to record sale events when customers complete purchases.
Learn more about enabling conversion tracking in the Dub documentation.
2

Get Your Dub API Key

Navigate to your Dub dashboard → Settings → API Keys and create a new API key with conversions.write scope.
Keep your API key secure and never expose it in client-side code.
3

Capture Click ID in Checkout

When creating a checkout session, capture the Dub click ID from the cookie and add it to your payment metadata.
4

Send Sale Data via Webhook

Configure a webhook to send sale data to Dub’s Track API when payments succeed.
5

Done!

Sale conversion events will now appear in your Dub analytics dashboard with full attribution to your links.

Implementation Guide

Step 1: Add Click ID and Customer ID to Checkout Metadata

When creating a checkout session, capture the Dub click ID from the cookie and include it in your payment metadata along with your customer’s external ID.
Die folgenden Beispiele verwenden POST /payments, das veraltet ist. Es funktioniert weiterhin für bestehende Integrationen, aber neue Integrationen sollten Checkout Sessions (POST /checkouts) verwenden — metadata wird auf dieselbe Weise übergeben.

Schritt 2: Verkaufsdaten an Dub senden

Konfigurieren Sie einen Webhook-Endpunkt, um Verkaufsdaten an die Track API von Dub zu senden, wenn Zahlungen erfolgreich sind.
1

Open the Webhook Section

Navigieren Sie in Ihrem Dodo Payments-Dashboard zu Webhooks → + Add Endpoint und erweitern Sie das Integrations-Dropdown.
Add Endpoint and integrations dropdown
2

Select Dub

Wählen Sie die Dub-Integrationskarte aus.
3

Enter API Key

Geben Sie Ihren Dub API Key im Konfigurationsfeld ein.
Add API Key
4

Configure Transformation

Bearbeiten Sie den Transformationscode, um Zahlungsdaten für die Track Sale API von Dub zu formatieren.
5

Test & Create

Testen Sie die Integration mit Beispiel-Payloads und klicken Sie auf Create, um sie zu aktivieren.

Beispiele für Transformationscode

Grundlegendes Verkaufs-Tracking

Verfolgen Sie Verkäufe, wenn Zahlungen erfolgreich sind:
basic_sale.js

Abonnementverkäufe verfolgen

Verfolgen Sie sowohl erste Abonnements als auch wiederkehrende Zahlungen:
subscription_sale.js

Verkäufe ohne Steuern verfolgen

Senden Sie nur den Betrag vor Steuern an Dub, um den Umsatz genau zu verfolgen:
sale_without_tax.js

Verkäufe mit benutzerdefinierten Ereignisnamen verfolgen

Verwenden Sie benutzerdefinierte Ereignisnamen, um verschiedene Verkaufsarten zu kategorisieren:
custom_events.js

Alternative: clientseitige Implementierung

Wenn Sie Verkäufe lieber von Ihrem Server aus verfolgen möchten, anstatt Webhooks zu verwenden, können Sie die Track API von Dub nach einer erfolgreichen Zahlung direkt aufrufen:

Best Practices

Click ID frühzeitig erfassen: Speichern Sie die Dub Click ID so früh wie möglich in Ihrem Checkout-Ablauf, um eine genaue Attribution sicherzustellen, selbst wenn der Benutzer die Seite verlässt und später zurückkehrt.
  • Click ID immer in Metadaten aufnehmen: Ohne die Click ID kann Dub Umsätze nicht Ihren Links zuordnen
  • Externe IDs einheitlich verwenden: Übergeben Sie dieselbe Kunden-ID, die Sie in Ihrem System verwenden, um genaue Analysen auf Kundenebene zu ermöglichen
  • Organischen Traffic angemessen verarbeiten: Setzen Sie webhook.cancel = true, wenn keine Click ID vorhanden ist, um unnötige API-Aufrufe zu vermeiden
  • Mit Beispielzahlungen testen: Überprüfen Sie vor dem Livegang, dass die Integration ordnungsgemäß funktioniert
  • Ihr Dub-Dashboard überwachen: Prüfen Sie, ob Verkäufe korrekt und mit der richtigen Attribution angezeigt werden

Wichtige Hinweise

  • Betragsformat: Dub erwartet Beträge in Cent (z. B. $10.00 = 1000)
  • Währung: Verwenden Sie ISO-4217-Währungscodes (USD, EUR, GBP usw.)
  • Kostenlose Testzeiträume: Zahlungen über $0 werden nicht als Verkäufe erfasst
  • Rückerstattungen: Erwägen Sie, Rückerstattungen separat zu erfassen, falls dies für eine genaue Umsatzberichterstattung erforderlich ist

Fehlerbehebung

  • Überprüfen Sie, ob Ihr Dub API key korrekt ist und über den conversions.write-Scope verfügt
  • Prüfen Sie, ob die dub_click_id erfasst und in den Zahlungsmetadaten gespeichert wird
  • Stellen Sie sicher, dass die Webhook-Transformation den Payload korrekt formatiert
  • Überprüfen Sie, ob der Webhook bei payment.succeeded-Ereignissen ausgelöst wird
  • Bestätigen Sie, dass Conversion-Tracking für Ihre Dub-Links aktiviert ist
  • Bestätigen Sie, dass Benutzer vor dem Checkout auf Ihre Dub-Kurzlinks klicken
  • Überprüfen Sie, ob das dub_id-Cookie auf Ihrer Domain korrekt gesetzt wird
  • Prüfen Sie, ob die Click IDs zwischen der Erstellung des Checkouts und dem Abschluss der Zahlung übereinstimmen
  • Stellen Sie sicher, dass Sie die Click ID erfassen, bevor Sie die Checkout Session erstellen
  • Validieren Sie, dass die JSON-Struktur dem Format der Dub Track Sale API entspricht
  • Prüfen Sie, ob alle erforderlichen Felder (clickId, externalId, amount) vorhanden sind
  • Stellen Sie sicher, dass der Betrag in Cent angegeben ist (Ganzzahl, keine Dezimalzahl)
  • Überprüfen Sie, ob die URL des API-Endpunkts korrekt ist: https://api.dub.co/track/sale
  • Testen Sie die Transformation mit Beispiel-Webhook-Payloads
  • Stellen Sie sicher, dass Sie nur bei payment.succeeded-Ereignissen und nicht bei payment.processing-Ereignissen tracken
  • Verwenden Sie für jeden Verkauf eindeutige invoiceId-Werte
  • Hängen Sie bei Abonnements Zeitstempel oder den Abrechnungszeitraum an, um Duplikate bei Verlängerungen zu vermeiden

Zusätzliche Ressourcen

Dub Conversions Documentation

Erfahren Sie mehr über die Conversion-Tracking- und Analysefunktionen von Dub.

Dub Track Sale API

Sehen Sie sich die vollständige API-Referenz für den Track Sale-Endpunkt von Dub an.

Dub Dashboard

Rufen Sie Ihr Dub-Dashboard auf, um Conversion-Analysen und Attributionsdaten einzusehen.

Webhook Events Guide

Erfahren Sie mehr über alle verfügbaren Dodo Payments-Webhook-Ereignisse.
Benötigen Sie Hilfe? Wenden Sie sich unter support@dodopayments.com an den Support von Dodo Payments, wenn Sie Unterstützung bei der Integration benötigen.
Zuletzt geändert am 6. August 2026