Conversion tracking requires a Business plan
subscription or higher.
lead
event happens when a user performs an action that indicates interest in your product or service. This could be anything from:
- Signing up for an account
- Booking a demo meeting
- Joining a mailing list

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
Quickstart
Depending on which authentication framework you’re using, we have a few pre-built guides to help you track lead events when a new user signs up for your SaaS application: If you’re not using any of the frameworks listed above, you can use the following steps to track lead events:- Within the sign-up API request, retrieve the
dub_id
cookie that was created by the@dub/analytics
client-SDK. - Send an event to the Dub API with the
dub_id
value, as well as your customer’s ID and any other relevant information (email, name, avatar, etc.)
If you don’t have a customer ID, you can also use the customer’s
email
instead.Deduplication behavior
Lead events are automatically deduplicated to prevent duplicate tracking:- Events are deduplicated based on the combination of
customerExternalId
(the user ID of the referred customer within your database) andeventName
- If you send multiple lead events with the same customer ID and event name, only the first event will be tracked
- Subsequent duplicate events will return
null
and won’t be tracked
Code examples
Here are some examples of how you can track lead events using our native SDKs:Property | Required | Description |
---|---|---|
clickId | Yes | The unique ID of the click that the lead conversion event is attributed to. You can read this value from dub_id cookie. If an empty string is provided (i.e. if you’re using tracking a deferred lead event), Dub will try to find an existing customer with the provided customerExternalId and use the clickId from the customer if found. |
eventName | Yes | The name of the lead event to track. Can also be used as a unique identifier to associate a given lead event for a customer for a subsequent sale event (via the leadEventName prop in /track/sale ). |
customerExternalId | Yes | The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer. |
customerName | No | The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”). |
customerEmail | No | The email address of the customer. |
customerAvatar | No | The avatar URL of the customer. |
mode | No | The mode to use for tracking the lead event. async will not block the request; wait will block the request until the lead event is fully recorded in Dub; deferred will defer the lead event creation to a subsequent request. |
metadata | No | Additional metadata to be stored with the lead event. Max 10,000 characters. |
View your conversions
Once you’ve completed the setup, all your tracked conversions will show up in Dub Analytics. 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.
