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.
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.
Add Endpoint and integrations dropdown
2

Select Dub

Välj integrationskortet Dub.
3

Enter API Key

Ange din Dub API Key i konfigurationsfältet.
Add API Key
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

Samla in klick-ID:t tidigt: Spara Dub-klick-ID:t så tidigt som möjligt i ditt checkout-flöde för att säkerställa korrekt attribuering, även om användaren lämnar sidan och återkommer senare.
  • 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 = true nä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

  • Kontrollera att din Dub API key är korrekt och har conversions.write-behörighet
  • Kontrollera att dub_click_id samlas 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
  • 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
  • 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
  • Säkerställ att du endast spårar vid payment.succeeded-händelser, inte payment.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.
Senast ändrad 6 augusti 2026