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.
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:
- Capture Dub’s click ID from the
dub_idcookie when creating checkout sessions - Store the click ID in your payment metadata along with the customer’s external ID
- Send sale data to Dub when payments succeed using their Track API
Prerequisites
Before setting up this integration, ensure you have:- A Dub account with a workspace
- Conversion tracking enabled for your links
- 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.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.Exemplen nedan använder
POST /payments, som är föråldrad. Den fungerar fortfarande för befintliga integrationer, men nya integrationer bör använda Checkout Sessions (POST /checkouts) — metadata skickas på samma sätt.Steg 2: Skicka försäljningsdata till Dub
Konfigurera en webhook-endpoint för att skicka försäljningsdata till Dubs Track API när betalningar lyckas.1
Open the Webhook Section
Gå till Webhooks → + Add Endpoint i din Dodo Payments-dashboard och expandera rullgardinsmenyn för integrationer.

2
Select Dub
Välj integrationskortet Dub.
3
Enter API Key
Ange din Dub API Key i konfigurationsfältet.

4
Configure Transformation
Redigera transformationskoden för att formatera betalningsdata för Dubs Track Sale API.
5
Test & Create
Testa med exempelnyttolaster och klicka på Create för att aktivera integrationen.
Exempel på transformationskod
Grundläggande spårning av försäljning
Spåra försäljningar när betalningar lyckas:basic_sale.js
Spåra prenumerationsförsäljningar
Spåra både initiala prenumerationer och återkommande betalningar:subscription_sale.js
Spåra försäljningar utan skatt
Skicka endast beloppet före skatt till Dub för korrekt intäktsspårning:sale_without_tax.js
Spåra försäljningar med anpassade händelsenamn
Använd anpassade händelsenamn för att kategorisera olika typer av försäljningar:custom_events.js
Alternativ: implementering på klientsidan
Om du föredrar att spåra försäljningar från din server i stället för att använda webhooks kan du anropa Dubs Track API direkt efter en lyckad betalning:Bästa praxis
- Inkludera alltid klick-ID:t i metadata: Utan klick-ID:t kan Dub inte attribuera intäkter till dina länkar
- Använd externa ID:n konsekvent: Skicka samma kund-ID som du använder i ditt system för korrekt analys på kundnivå
- Hantera organisk trafik på ett smidigt sätt: Ange
webhook.cancel = truenär det inte finns något klick-ID för att undvika onödiga API-anrop - Testa med exempelbetalningar: Kontrollera att integrationen fungerar korrekt innan den tas i drift
- Övervaka din Dub-dashboard: Kontrollera att försäljningar visas korrekt med rätt attribuering
Viktiga anmärkningar
- Beloppsformat: Dub förväntar sig belopp i cent (t.ex. $10.00 = 1000)
- Valuta: Använd ISO 4217-valutakoder (USD, EUR, GBP osv.)
- Gratis provperioder: Betalningar på $0 spåras inte som försäljningar
- Återbetalningar: Överväg att spåra återbetalningar separat om det behövs för korrekt intäktsrapportering
Felsökning
Sales not appearing in Dub
Sales not appearing in Dub
- Kontrollera att din Dub API key är korrekt och har
conversions.write-behörighet - Kontrollera att
dub_click_idsamlas in och lagras i betalningsmetadata - Säkerställ att webhook-transformationen formaterar nyttolasten korrekt
- Kontrollera att webhooken utlöses vid
payment.succeeded-händelser - Bekräfta att konverteringsspårning är aktiverad för dina Dub-länkar
Revenue attribution not working
Revenue attribution not working
- Bekräfta att användare klickar på dina korta Dub-länkar före checkout
- Kontrollera att
dub_id-cookien anges korrekt på din domän - Kontrollera att klick-ID:n överensstämmer mellan skapandet av checkout och slutförandet av betalningen
- Säkerställ att du samlar in klick-ID:t innan checkout-sessionen skapas
Transformation errors
Transformation errors
- Validera att JSON-strukturen överensstämmer med formatet för Dubs Track Sale API
- Kontrollera att alla obligatoriska fält (
clickId,externalId,amount) finns - Säkerställ att beloppet anges i cent (heltal, inte decimaltal)
- Kontrollera att API-endpointens URL är korrekt:
https://api.dub.co/track/sale - Testa transformationen med exempelnyttolaster från webhooken
Duplicate sales being tracked
Duplicate sales being tracked
- Säkerställ att du endast spårar vid
payment.succeeded-händelser, intepayment.processing - Använd unika
invoiceId-värden för varje försäljning - För prenumerationer kan du lägga till tidsstämplar eller faktureringsperioder för att förhindra dubbletter vid förnyelser
Ytterligare resurser
Dub Conversions Documentation
Läs mer om Dubs funktioner för konverteringsspårning och analys.
Dub Track Sale API
Se den fullständiga API-referensen för Dubs Track Sale-endpoint.
Dub Dashboard
Öppna din Dub-dashboard för att se konverteringsanalys och attribueringsdata.
Webhook Events Guide
Läs mer om alla tillgängliga Dodo Payments webhook-händelser.
Behöver du hjälp? Kontakta Dodo Payments support på support@dodopayments.com för hjälp med integrationen.