Conversion tracking requires a Business plan
subscription or higher.
sale
event happens when a user purchases your product or service. Examples include:
- Subscribing to a paid plan
- Usage expansion (upgrading from one plan to another)
- Purchasing a product from your online store

Prerequisites
First, you’ll need to enable conversion tracking for your Dub links to be able to start tracking conversions:If you’re using Dub Partners, you can skip this step
since partner links will have conversion tracking enabled by default.
Option 1: On a workspace-level
Option 1: On a workspace-level
To enable conversion tracking for all future links in a workspace, you can do the following:
To enable conversion tracking for all future links in a workspace, you can do the following:
This option will enable conversion tracking in the Dub Link Builder for all future links.
- Navigate to your workspace’s Analytics settings page.
- Toggle the Workspace-level Conversion Tracking switch to enable conversion tracking for the workspace.

Option 2: On a link-level
Option 2: On a link-level
If you don’t want to enable conversion tracking for all your links in a workspace, you can also opt to enable it on a link-level.To enable conversion tracking for a specific link, open the Dub Link Builder for a link and toggle the Conversion Tracking switch.

You can also use the
C
keyboard shortcut when inside the link builder to
quickly enable conversion tracking for a given link.Option 3: Via the API
Option 3: Via the API
Alternatively, you can also enable conversion tracking programmatically via the Dub API. All you need to do is pass
trackConversion: true
when creating or updating a link:@dub/analytics
script to your website to track conversion events.
You can install the @dub/analytics
script in several different ways:
You can verify the installation with the following tests:
- Open the browser console and type in
_dubAnalytics
– if the script is installed correctly, you should see the_dubAnalytics
object in the console. - Add the
?dub_id=test
query parameter to your website URL and make sure that thedub_id
cookie is being set in your browser.
- The analytics script was added to the
<head>
section of the page - If you’re using a content delivery network (CDN), make sure to purge any cached content
Configure Segment Action
Next, configure Segment Dub (Actions) to track sales conversion events.1
Add Dub (Actions) destination
Head to Segment Dub (Actions) and add the destination to your Segment workspace.

2
Configure Dub API Key
In the Dub (Actions) destination settings, fill out the following fields:
- Name: Enter a name to help you identify this destination in Segment.
- API Key: Enter your Dub API key. You can find this in the Dub Dashboard.
- Enable Destination: Toggle this on to allow Segment to send data to Dub.

3
Add Mapping
Next, you’ll choose the Track a sale action from the list of available actions.By default, this action is configured to send sale data to Dub when the Event Name is Order Completed.
Below the selected action, you’ll see the mapping for that action.
You can customize the trigger and mapping to fit the specific needs of your application.Finally, click Next and then Save and enable to add the mapping to the destination.


4
Send sale events to Dub
On the server side, you’ll use the Once the event is tracked, Segment will forward the sale data to Dub based on the mappings you’ve configured.
@segment/analytics-node
SDK to send sale events to Segment.Make sure to include relevant properties such as userId
, payment_processor
, order_id
, currency
, and revenue
in the payload.Property | Required | Description |
---|---|---|
customerExternalId | Yes | The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer. |
amount | Yes | The amount of the sale in cents. |
paymentProcessor | No | The payment processor that processed the sale (e.g. Stripe, Shopify). Defaults to “custom”. |
eventName | No | The name of the event. Defaults to “Purchase”. |
invoiceId | No | The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID. |
currency | No | The currency of the sale. Defaults to “usd”. |
metadata | No | An object containing additional information about the sale. |
Example App
To learn more about how to track sales with Segment, check out the following example app:Segment + Next.js App Router Example
Next.js app using Segment to track sales.
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:- Time-series: A time-series view of the number clicks, leads and sales.

- Funnel chart: A funnel chart view visualizing the conversion & dropoff rates across the different steps in the conversion funnel (clicks → leads → sales).

- Real-time events stream: A real-time events stream of every single conversion event that occurs across all your links in your workspace.
