Skip to main content

Introduction

Dub är en plattform för länkattribuering för kortlänkar, konverteringsspårning och affiliateprogram. Med denna integration registrerar Dub en konverteringshändelse för försäljning varje gång en kund betalar via Dodo Payments, så att du kan mäta avkastningen på dina marknadsföringskampanjer och hänvisningsprogram. Dub registrerar en försäljning när en kund:
  • Slutför en engångsbetalning
  • Prenumererar på ett betalt abonnemang
  • Genomför en återkommande abonnemangsbetalning
Denna integration kräver ett Dub-konto med konverteringsspårning aktiverad för dina länkar. Dubs konverteringsspårning kräver en Business-plan eller högre.
Integration av affiliateprogram: Denna integration fungerar även med Dub Partners, Dubs produkt för affiliateprogram. Dub hänför försäljningar till dina partners affiliatelänkar, så att du kan spåra hänvisningar, provisioner och varje partners resultat. Information om hur du konfigurerar ett affiliateprogram finns i funktionsguiden för affiliates.

How It Works

När en besökare klickar på en av dina kortlänkar från Dub lagrar Dub ett unikt klick-ID i cookien dub_id. Så här hänför du försäljningar till dina länkar:
  1. Hämta Dubs klick-ID från cookien dub_id när du skapar checkouten.
  2. Lagra klick-ID:t i betalningens metadata tillsammans med kundens ID i ditt system (det externa ID:t).
  3. Skicka försäljningen till Dub via dess Track API när betalningen lyckas.
Dub matchar varje lyckad försäljning med det ursprungliga länkklicket, vilket hänför konverteringen till den länken.

Prerequisites

Innan du konfigurerar denna integration behöver du:
  1. Ett Dub-konto med en arbetsyta.
  2. Konverteringsspårning aktiverad för dina länkar.
  3. En Dub API-nyckel, som du skapar i din Dub-dashboard under Settings → API Keys.

Getting Started

1

Enable Conversion Tracking in Dub

Aktivera konverteringsspårning för de länkar som du vill spåra försäljningar för i din Dub-dashboard. Dub registrerar sedan försäljningshändelser för kunder som kommer via dessa länkar.
Information om hur du aktiverar konverteringsspårning finns i Dubs dokumentation.
2

Get Your Dub API Key

Gå till Settings → API Keys i din Dub-dashboard och skapa en API-nyckel med scopet conversions.write.
Förvara din API-nyckel säkert. Exponera den aldrig i klientkod.
3

Capture Click ID in Checkout

När du skapar en checkout läser du Dubs klick-ID från cookien och lägger till det i betalningens metadata. Se steg 1.
4

Send Sale Data via Webhook

Skapa en webhook-endpoint som skickar varje försäljning till Dubs Track API när en betalning lyckas. Se steg 2.
5

Done

Konverteringshändelser för försäljning visas i din Dub-analysdashboard och hänförs till dina länkar.

Implementation Guide

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

När du skapar en checkout läser du Dubs klick-ID från cookien och inkluderar det i betalningens metadata tillsammans med kundens externa 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), som accepterar metadata på samma sätt.

Steg 2: Skicka försäljningsdata till Dub

Skapa en webhook-endpoint som skickar försäljningsdata till Dubs Track API när en betalning lyckas.
1

Open the Webhook Section

Gå till Developer → Webhooks i Dodo Payments-instrumentpanelen och klicka på Add endpoint.
Dialogrutan Add endpoint med Dub.co valt i rullgardinsmenyn Integration
2

Select Dub

Välj Dub.co under Integration.
3

Enter API Key

Klistra in din Dub API-nyckel under API key. Dodo Payments skickar den i headern Authorization vid varje leverans.
Fältet API key för Dub-integrationen
4

Check the URL and Events

Om Endpoint URL är tomt anger du https://api.dub.co/track/sale. Under Subscribed events väljer du de händelser som din transformation hanterar, till exempel payment.succeeded.
5

Configure Transformation

Under Transformation code redigerar du hanteraren så att betalningsdata formateras för Dubs Track Sale API. Börja med exemplen.
6

Test & Create

Under Test this code klickar du på Simulate för att köra hanteraren mot en exempelnyttolast. Klicka sedan på Create endpoint.

Exempel på transformationskod

Varje hanterare skickar endast ett köp till Dub när metadata har ett klick-ID. För organisk trafik utan klick-ID anges webhook.cancel = true, så ingen begäran skickas till Dub; den avbrutna leveransen visas fortfarande som lyckad i webhook-loggarna. Begärandekroppen följer Dubs Track Sale API: customerExternalId och amount krävs, och paymentProcessor är custom eftersom Dubs lista över betalningsprocessorer inte innehåller något värde för Dodo Payments. Dub tar emot amount i samma enhet som Dodo Payments-belopp: cent för valutor med två decimaler och hela heltalet för valutor utan decimaler, till exempel JPY. Exemplen skickar beloppet oförändrat.

Grundläggande köpregistrering

Registrera ett köp när en betalning lyckas:
basic_sale.js

Registrera prenumerationsköp

Registrera både initiala prenumerationer och återkommande betalningar. Använd den här hanteraren för prenumerationer i stället för payment.succeeded-hanterarna, inte tillsammans med dem: varje prenumerationsbetalning utlöser även payment.succeeded, så om du hanterar båda händelserna registreras varje köp två gånger. Se integrationsguiden för prenumerationer. Hanteraren läser klick-ID:t från prenumerationens metadata, så skicka med samma metadata när du skapar prenumerationen. Vid förnyelser kombinerar invoiceId prenumerations-ID:t med previous_billing_date, början av den aktuella faktureringsperioden, så att en återförsökt leverans återanvänder samma invoiceId.
subscription_sale.js

Registrera köp utan skatt

Skicka endast beloppet före skatt till Dub, så att intäkterna i Dub inte inkluderar skatt:
sale_without_tax.js

Registrera köp med anpassade händelsenamn

Använd anpassade händelsenamn för att kategorisera olika typer av köp. Exemplet läser en is_upgrade-flagga som du anger i betalningens metadata:
custom_events.js

Alternativ: implementation på klientsidan

Om du vill registrera köp från din egen server i stället för via en webhook-transformation kan du anropa Dubs Track API direkt efter en lyckad betalning, till exempel från din payment.succeeded-webhookhanterare. Koden använder din Dub API-nyckel, så kör den på din server, aldrig i webbläsaren.

Bästa praxis

Fånga klick-ID:t tidigt: Lagra Dub-klick-ID:t så tidigt som möjligt i ditt checkout-flöde, så att attribueringen förblir korrekt även om kunden lämnar och återkommer senare.
  • Inkludera 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 från ditt system som customerExternalId varje gång för korrekta analyser på kundnivå.
  • Hantera organisk trafik: Ange webhook.cancel = true när det saknas klick-ID för att undvika onödiga API-anrop.
  • Testa med exempelk betalningar: Kör hanteraren med Test this code och bekräfta att integrationen fungerar innan du går live.
  • Övervaka din Dub-instrumentpanel: Kontrollera att köp visas med förväntad attribuering.

Viktiga anmärkningar

  • Beloppsformat: Dub förväntar sig belopp i cent för valutor med två decimaler (till exempel är $10.00 1000) och hela heltalet för valutor utan decimaler, till exempel JPY.
  • Valuta: Använd ISO 4217-valutakoder, till exempel USD, EUR och GBP. Dub konverterar varje köp till USD enligt den senaste växelkursen.
  • Gratis provperioder: Dubs Track Sale API accepterar ett amount på 0, och exemplen hoppar inte över betalningar på $0, så varje betalning på $0 når Dub som ett köp. Om du vill hoppa över betalningar på $0 anger du webhook.cancel = true när total_amount är 0.
  • Återbetalningar: Om du behöver korrekt intäktsrapportering ska du registrera återbetalningar separat.

Felsökning

  • Kontrollera att din Dub API-nyckel är korrekt och har scopet conversions.write.
  • Kontrollera att dub_click_id har fångats och lagrats i betalningens metadata.
  • Kontrollera att webhook-transformationen formaterar nyttolasten korrekt.
  • Kontrollera att endpointen prenumererar på payment.succeeded.
  • Bekräfta att konverteringsspårning är aktiverad för dina Dub-länkar.
  • Öppna endpointens leveransförsök på fliken Logs under Developer → Webhooks för att se Dubs svar. En betalning utan klick-ID avbryts och visas som lyckad.
  • Bekräfta att kunderna klickar på dina korta Dub-länkar före checkout.
  • Kontrollera att cookien dub_id har angetts på din domän.
  • Kontrollera att klick-ID:t i betalningens metadata matchar det klick kunden gjorde.
  • Fånga klick-ID:t innan du skapar checkouten.
  • Kontrollera att nyttolasten matchar Dubs Track Sale API-format.
  • Kontrollera att de obligatoriska fälten customerExternalId och amount finns och att clickId har angetts för attribuering.
  • Kontrollera att beloppet är ett heltal i den minsta valutaenheten, inte ett decimaltal.
  • Kontrollera att endpoint-URL:en är https://api.dub.co/track/sale.
  • Testa transformationen med exempelnyttolaster från webhooken.
  • Registrera endast köp vid payment.succeeded-händelser, inte vid payment.processing.
  • Använd ett unikt invoiceId för varje köp. Dub registrerar endast ett köp för varje invoiceId.
  • För förnyelser bygger du invoiceId från prenumerations-ID:t och faktureringsperioden, som i Registrera prenumerationsköp. Ett värde som ändras vid varje leverans, till exempel den aktuella tiden, registrerar ett dubblettköp när en leverans försöks igen.

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

Visa konverteringsanalys och attribueringsdata i din Dub-instrumentpanel.

Webhook Events Guide

Bläddra bland alla Dodo Payments-webhookhändelser.
För hjälp med den här integrationen kontaktar du Dodo Payments support på support@dodopayments.com.
Senast ändrad 26 september 2026