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.
Les exemples ci-dessous utilisent POST /payments, qui est obsolète. Il fonctionne toujours pour les intégrations existantes, mais les nouvelles intégrations doivent utiliser Checkout Sessions (POST /checkouts) — metadata reçoit sa valeur de la même manière.

Étape 2 : Envoyer les données de vente à Dub

Configurez un endpoint webhook pour envoyer les données de vente à l’API Track de Dub lorsque les paiements sont réussis.
1

Open the Webhook Section

Dans votre tableau de bord Dodo Payments, accédez à Webhooks → + Add Endpoint et développez le menu déroulant des intégrations.
Add Endpoint and integrations dropdown
2

Select Dub

Sélectionnez la carte d’intégration Dub.
3

Enter API Key

Saisissez votre clé API Dub dans le champ de configuration.
Add API Key
4

Configure Transformation

Modifiez le code de transformation afin de formater les données de paiement pour l’API Track Sale de Dub.
5

Test & Create

Testez avec des payloads d’exemple, puis cliquez sur Create pour activer l’intégration.

Exemples de code de transformation

Suivi des ventes de base

Suivez les ventes lorsque les paiements sont réussis :
basic_sale.js

Suivi des ventes d’abonnements

Suivez à la fois les abonnements initiaux et les paiements récurrents :
subscription_sale.js

Suivi des ventes hors taxes

Envoyez uniquement le montant hors taxes à Dub pour assurer un suivi précis des revenus :
sale_without_tax.js

Suivi des ventes avec des noms d’événements personnalisés

Utilisez des noms d’événements personnalisés pour catégoriser différents types de ventes :
custom_events.js

Alternative : implémentation côté client

Si vous préférez suivre les ventes depuis votre serveur plutôt que d’utiliser des webhooks, vous pouvez appeler directement l’API Track de Dub après un paiement réussi :

Bonnes pratiques

Capturez l’ID de clic rapidement : enregistrez l’ID de clic Dub dès que possible dans votre parcours de paiement afin de garantir une attribution précise, même si l’utilisateur quitte la page et revient plus tard.
  • Incluez toujours l’ID de clic dans les métadonnées : sans l’ID de clic, Dub ne peut pas attribuer les revenus à vos liens
  • Utilisez les ID externes de manière cohérente : transmettez le même ID client que celui utilisé dans votre système pour obtenir des analyses précises au niveau du client
  • Gérez correctement le trafic organique : définissez webhook.cancel = true lorsqu’il n’y a pas d’ID de clic afin d’éviter les appels API inutiles
  • Testez avec des paiements d’exemple : vérifiez que l’intégration fonctionne correctement avant sa mise en production
  • Surveillez votre tableau de bord Dub : vérifiez que les ventes apparaissent correctement avec une attribution appropriée

Remarques importantes

  • Format du montant : Dub attend les montants en centimes (par exemple, 10,00 $ = 1000)
  • Devise : utilisez les codes de devise ISO 4217 (USD, EUR, GBP, etc.)
  • Essais gratuits : les paiements de 0 $ ne sont pas suivis comme des ventes
  • Remboursements : envisagez de suivre les remboursements séparément si nécessaire pour garantir l’exactitude des rapports de revenus

Résolution des problèmes

  • Vérifiez que votre clé API Dub est correcte et dispose de l’étendue conversions.write
  • Vérifiez que dub_click_id est bien capturé et enregistré dans les métadonnées du paiement
  • Assurez-vous que la transformation du webhook formate correctement le payload
  • Vérifiez que le webhook se déclenche lors des événements payment.succeeded
  • Confirmez que le suivi des conversions est activé pour vos liens Dub
  • Confirmez que les utilisateurs cliquent sur vos liens courts Dub avant le paiement
  • Vérifiez que le cookie dub_id est correctement défini sur votre domaine
  • Vérifiez que les ID de clic correspondent entre la création du paiement et sa finalisation
  • Assurez-vous de capturer l’ID de clic avant de créer la session de paiement
  • Validez que la structure JSON correspond au format de l’API Track Sale de Dub
  • Vérifiez que tous les champs obligatoires (clickId, externalId, amount) sont présents
  • Assurez-vous que le montant est exprimé en centimes (entier, et non décimal)
  • Vérifiez que l’URL de l’endpoint API est correcte : https://api.dub.co/track/sale
  • Testez la transformation avec des payloads webhook d’exemple
  • Assurez-vous de suivre uniquement les événements payment.succeeded, et non les événements payment.processing
  • Utilisez des valeurs invoiceId uniques pour chaque vente
  • Pour les abonnements, ajoutez des horodatages ou la période de facturation afin d’éviter les doublons lors des renouvellements

Ressources supplémentaires

Dub Conversions Documentation

Découvrez-en davantage sur les fonctionnalités de suivi des conversions et d’analyse de Dub.

Dub Track Sale API

Consultez la référence complète de l’API pour l’endpoint Track Sale de Dub.

Dub Dashboard

Accédez à votre tableau de bord Dub pour consulter les analyses de conversion et les données d’attribution.

Webhook Events Guide

Découvrez tous les événements webhook disponibles de Dodo Payments.
Besoin d’aide ? Contactez l’assistance de Dodo Payments à l’adresse support@dodopayments.com pour obtenir de l’aide concernant l’intégration.
Dernière modification le 6 août 2026