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.Contoh-contoh di bawah menggunakan
POST /payments, yang sudah deprecated. Ini masih berfungsi untuk integrasi yang sudah ada, tetapi integrasi baru sebaiknya menggunakan Checkout Sessions (POST /checkouts) — metadata diteruskan dengan cara yang sama.Langkah 2: Kirim Data Penjualan ke Dub
Konfigurasikan endpoint webhook untuk mengirim data penjualan ke Track API milik Dub saat pembayaran berhasil.1
Open the Webhook Section
Di dashboard Dodo Payments, buka Webhooks → + Add Endpoint, lalu buka dropdown integrasi.

2
Select Dub
Pilih kartu integrasi Dub.
3
Enter API Key
Masukkan Dub API Key Anda di kolom konfigurasi.

4
Configure Transformation
Edit kode transformasi untuk memformat data pembayaran untuk Track Sale API milik Dub.
5
Test & Create
Uji dengan payload contoh, lalu klik Create untuk mengaktifkan integrasi.
Contoh Kode Transformasi
Pelacakan Penjualan Dasar
Lacak penjualan saat pembayaran berhasil:basic_sale.js
Lacak Penjualan Subscription
Lacak subscription awal dan pembayaran berulang:subscription_sale.js
Lacak Penjualan Tanpa Pajak
Kirim hanya jumlah sebelum pajak ke Dub untuk pelacakan pendapatan yang akurat:sale_without_tax.js
Lacak Penjualan dengan Nama Event Kustom
Gunakan nama event kustom untuk mengategorikan berbagai jenis penjualan:custom_events.js
Alternatif: Implementasi Client-Side
Jika Anda lebih suka melacak penjualan dari server, bukan menggunakan webhook, Anda dapat memanggil Track API milik Dub secara langsung setelah pembayaran berhasil:Praktik Terbaik
- Selalu sertakan click ID dalam metadata: Tanpa click ID, Dub tidak dapat mengatribusikan pendapatan ke link Anda
- Gunakan external ID secara konsisten: Teruskan customer ID yang sama dengan yang Anda gunakan di sistem untuk analitik tingkat pelanggan yang akurat
- Tangani traffic organik dengan baik: Tetapkan
webhook.cancel = truejika tidak ada click ID untuk menghindari panggilan API yang tidak perlu - Uji dengan pembayaran contoh: Pastikan integrasi berfungsi dengan benar sebelum digunakan di production
- Pantau dashboard Dub Anda: Periksa apakah penjualan muncul dengan benar dan atribusinya sesuai
Catatan Penting
- Format jumlah: Dub mengharapkan jumlah dalam satuan sen (misalnya, $10.00 = 1000)
- Mata uang: Gunakan kode mata uang ISO 4217 (USD, EUR, GBP, dan lainnya)
- Free trial: Pembayaran $0 tidak dilacak sebagai penjualan
- Refund: Pertimbangkan untuk melacak refund secara terpisah jika diperlukan agar pelaporan pendapatan akurat
Pemecahan Masalah
Sales not appearing in Dub
Sales not appearing in Dub
- Pastikan Dub API key Anda benar dan memiliki scope
conversions.write - Periksa apakah
dub_click_idditangkap dan disimpan dalam metadata pembayaran - Pastikan transformasi webhook memformat payload dengan benar
- Pastikan webhook terpicu pada event
payment.succeeded - Pastikan pelacakan konversi diaktifkan untuk link Dub Anda
Revenue attribution not working
Revenue attribution not working
- Pastikan pengguna mengeklik short link Dub Anda sebelum checkout
- Pastikan cookie
dub_idditetapkan dengan benar di domain Anda - Periksa apakah click ID sama antara pembuatan checkout dan penyelesaian pembayaran
- Pastikan Anda menangkap click ID sebelum membuat checkout session
Transformation errors
Transformation errors
- Validasi bahwa struktur JSON sesuai dengan format Track Sale API milik Dub
- Periksa apakah semua field yang diperlukan (
clickId,externalId,amount) tersedia - Pastikan jumlah dinyatakan dalam satuan sen (integer, bukan desimal)
- Pastikan URL endpoint API sudah benar:
https://api.dub.co/track/sale - Uji transformasi dengan payload webhook contoh
Duplicate sales being tracked
Duplicate sales being tracked
- Pastikan Anda hanya melacak pada event
payment.succeeded, bukanpayment.processing - Gunakan nilai
invoiceIdyang unik untuk setiap penjualan - Untuk subscription, tambahkan timestamp atau periode penagihan agar tidak terjadi duplikasi saat perpanjangan
Sumber Daya Tambahan
Dub Conversions Documentation
Pelajari lebih lanjut tentang fitur pelacakan konversi dan analitik Dub.
Dub Track Sale API
Lihat referensi API lengkap untuk endpoint Track Sale Dub.
Dub Dashboard
Akses dashboard Dub Anda untuk melihat analitik konversi dan data atribusi.
Webhook Events Guide
Pelajari semua event webhook Dodo Payments yang tersedia.
Butuh bantuan? Hubungi dukungan Dodo Payments di support@dodopayments.com untuk mendapatkan bantuan terkait integrasi.