From 137cafa5299100fa7c6a12bf95e7c69dfe58267e Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Mon, 29 Sep 2025 21:55:06 +0000
Subject: [PATCH 1/3] Update conversions/quickstart.mdx
---
conversions/quickstart.mdx | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/conversions/quickstart.mdx b/conversions/quickstart.mdx
index 121d386d..0fa4fc85 100644
--- a/conversions/quickstart.mdx
+++ b/conversions/quickstart.mdx
@@ -27,6 +27,13 @@ Dub's powerful [attribution platform](https://dub.co/analytics) lets you underst
In this guide, we'll walk you through the steps to get started with conversion tracking on Dub.
+## Conversion tracking flows
+
+Dub supports two conversion tracking flows:
+
+1. **Traditional flow**: Click → Lead → Sale (recommended for most use cases)
+2. **Direct sale tracking**: Click → Sale (useful for one-time purchases and e-commerce)
+
## Step 1: Enable conversion tracking for your links
From 7d69086cb24f508dc8ec1b863512bf91efd8db6a Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Mon, 29 Sep 2025 21:55:14 +0000
Subject: [PATCH 2/3] Update conversions/sales/introduction.mdx
---
conversions/sales/introduction.mdx | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/conversions/sales/introduction.mdx b/conversions/sales/introduction.mdx
index 694ecffa..d88dd00b 100644
--- a/conversions/sales/introduction.mdx
+++ b/conversions/sales/introduction.mdx
@@ -14,6 +14,18 @@ import ViewConversions from "/snippets/view-conversions.mdx";
In this guide, we will be focusing on tracking sales conversion events with Dub.
+## Sale tracking methods
+
+Dub supports two methods for tracking sale events:
+
+1. **Traditional method**: Requires a preceding lead event (click → lead → sale)
+2. **Direct sale tracking**: Track sales directly from clicks without a lead event (click → sale)
+
+The direct sale tracking method is particularly useful for:
+- One-time purchases where users don't sign up
+- E-commerce scenarios without a traditional lead/signup flow
+- Simplified conversion funnels
+
## Step 1: Configure sale tracking
From 929147529b45aa4a5c30d2c03f89b22f74683e42 Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Mon, 29 Sep 2025 21:55:29 +0000
Subject: [PATCH 3/3] Update conversions/sales/introduction.mdx
---
conversions/sales/introduction.mdx | 67 ++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/conversions/sales/introduction.mdx b/conversions/sales/introduction.mdx
index d88dd00b..3538d2c8 100644
--- a/conversions/sales/introduction.mdx
+++ b/conversions/sales/introduction.mdx
@@ -155,6 +155,73 @@ $dub->track->sale($request);
+## Direct sale tracking (without lead events)
+
+For scenarios where you want to track sales directly from clicks without requiring a preceding lead event, you can use the direct sale tracking method. This requires passing the `clickId` parameter along with customer information:
+
+
+
+```javascript Node.js
+import { Dub } from "dub";
+
+const dub = new Dub();
+
+// Get the clickId from the dub_id cookie
+const clickId = getCookie('dub_id'); // Your cookie reading logic
+
+await dub.track.sale({
+ clickId: clickId,
+ customerExternalId: "cus_RBfbD57HDzPKpduI8elr5qHA",
+ customerName: "John Doe",
+ customerEmail: "john@example.com",
+ customerAvatar: "https://example.com/avatar.jpg",
+ amount: 100,
+ paymentProcessor: "stripe",
+ eventName: "E-book purchase",
+ invoiceId: "123456",
+ currency: "usd",
+});
+```
+
+```python Python
+from dub import Dub
+import os
+
+dub = Dub(token=os.environ['DUB_API_KEY'])
+
+# Get the clickId from the dub_id cookie
+click_id = get_cookie('dub_id') # Your cookie reading logic
+
+dub.track.sale({
+ 'click_id': click_id,
+ 'external_id': 'cus_RBfbD57HDzPKpduI8elr5qHA',
+ 'customer_name': 'John Doe',
+ 'customer_email': 'john@example.com',
+ 'customer_avatar': 'https://example.com/avatar.jpg',
+ 'amount': 100,
+ 'payment_processor': 'stripe',
+ 'event_name': 'E-book purchase',
+ 'invoice_id': '123456',
+ 'currency': 'usd'
+})
+```
+
+
+
+### Required parameters for direct sale tracking
+
+When using direct sale tracking, you need to provide:
+
+- `clickId`: The unique click identifier (available from the `dub_id` cookie)
+- `customerExternalId`: Your unique identifier for the customer
+- `customerName`: Customer's name (optional - a random name will be generated if not provided)
+- `customerEmail`: Customer's email address (optional)
+- `customerAvatar`: Customer's avatar URL (optional)
+
+
+ The `clickId` is automatically stored in the `dub_id` cookie when a user clicks on your Dub link. Make sure you have the [@dub/analytics client-side SDK](/sdks/client-side/introduction) installed to capture this value.
+
+
## Step 2: View conversion results
And that's it – you're all set! You can now sit back, relax, and watch your conversion revenue grow. We provide 3 different views to help you understand your conversions: