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.
Los ejemplos a continuación utilizan POST /payments, que está obsoleto. Sigue funcionando para integraciones existentes, pero las nuevas integraciones deben usar Checkout Sessions (POST /checkouts); metadata se envía de la misma manera.

Paso 2: Envía los datos de ventas a Dub

Configura un endpoint de webhook para enviar los datos de ventas a la Track API de Dub cuando los pagos se realicen correctamente.
1

Open the Webhook Section

En tu panel de Dodo Payments, ve a Webhooks → + Add Endpoint y expande el menú desplegable de integraciones.
Add Endpoint and integrations dropdown
2

Select Dub

Selecciona la tarjeta de integración de Dub.
3

Enter API Key

Introduce tu clave de API de Dub en el campo de configuración.
Add API Key
4

Configure Transformation

Edita el código de transformación para dar formato a los datos de pago para la Track Sale API de Dub.
5

Test & Create

Realiza pruebas con payloads de ejemplo y haz clic en Create para activar la integración.

Ejemplos de código de transformación

Seguimiento básico de ventas

Registra las ventas cuando los pagos se realicen correctamente:
basic_sale.js

Seguimiento de ventas de suscripciones

Registra tanto las suscripciones iniciales como los pagos recurrentes:
subscription_sale.js

Seguimiento de ventas sin impuestos

Envía a Dub únicamente el importe antes de impuestos para realizar un seguimiento preciso de los ingresos:
sale_without_tax.js

Seguimiento de ventas con nombres de eventos personalizados

Usa nombres de eventos personalizados para categorizar distintos tipos de ventas:
custom_events.js

Alternativa: implementación del lado del cliente

Si prefieres realizar el seguimiento de las ventas desde tu servidor en lugar de usar webhooks, puedes llamar directamente a la Track API de Dub después de un pago exitoso:

Prácticas recomendadas

Captura el ID de clic con antelación: Almacena el ID de clic de Dub lo antes posible en tu flujo de checkout para garantizar una atribución precisa, incluso si el usuario abandona la página y regresa más tarde.
  • Incluye siempre el ID de clic en los metadatos: Sin el ID de clic, Dub no puede atribuir los ingresos a tus enlaces
  • Usa los ID externos de forma coherente: Pasa el mismo ID de cliente que utilizas en tu sistema para obtener análisis precisos a nivel de cliente
  • Gestiona correctamente el tráfico orgánico: Establece webhook.cancel = true cuando no haya un ID de clic para evitar llamadas API innecesarias
  • Realiza pruebas con pagos de ejemplo: Verifica que la integración funcione correctamente antes de ponerla en producción
  • Supervisa tu panel de Dub: Comprueba que las ventas aparezcan correctamente con la atribución adecuada

Notas importantes

  • Formato del importe: Dub espera los importes en centavos (por ejemplo, $10.00 = 1000)
  • Moneda: Usa códigos de moneda ISO 4217 (USD, EUR, GBP, etc.)
  • Pruebas gratuitas: Los pagos de $0 no se registran como ventas
  • Reembolsos: Considera realizar un seguimiento de los reembolsos por separado si es necesario para informar los ingresos con precisión

Solución de problemas

  • Verifica que tu clave de API de Dub sea correcta y tenga el alcance conversions.write
  • Comprueba que dub_click_id se capture y almacene en los metadatos del pago
  • Asegúrate de que la transformación del webhook dé el formato correcto al payload
  • Verifica que el webhook se active en eventos payment.succeeded
  • Confirma que el seguimiento de conversiones esté habilitado para tus enlaces de Dub
  • Confirma que los usuarios hagan clic en tus enlaces cortos de Dub antes del checkout
  • Verifica que la cookie dub_id se establezca correctamente en tu dominio
  • Comprueba que los ID de clic coincidan entre la creación del checkout y la finalización del pago
  • Asegúrate de capturar el ID de clic antes de crear la sesión de checkout
  • Valida que la estructura JSON coincida con el formato de la Track Sale API de Dub
  • Comprueba que todos los campos obligatorios (clickId, externalId, amount) estén presentes
  • Asegúrate de que el importe esté expresado en centavos (entero, no decimal)
  • Verifica que la URL del endpoint de API sea correcta: https://api.dub.co/track/sale
  • Prueba la transformación con payloads de webhook de ejemplo
  • Asegúrate de realizar el seguimiento únicamente en eventos payment.succeeded, no en payment.processing
  • Usa valores invoiceId únicos para cada venta
  • Para las suscripciones, añade marcas de tiempo o el período de facturación para evitar duplicados en las renovaciones

Recursos adicionales

Dub Conversions Documentation

Obtén más información sobre las funciones de seguimiento de conversiones y análisis de Dub.

Dub Track Sale API

Consulta la referencia completa de la API para el endpoint Track Sale de Dub.

Dub Dashboard

Accede a tu panel de Dub para consultar los análisis de conversiones y los datos de atribución.

Webhook Events Guide

Obtén información sobre todos los eventos de webhook disponibles de Dodo Payments.
¿Necesitas ayuda? Contacta con el equipo de soporte de Dodo Payments en support@dodopayments.com para obtener ayuda con la integración.
Última modificación el 6 de agosto de 2026