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: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.

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:1
Allowlist your site's domain
Then, you’ll need to allowlist your site’s domain to allow the client-side conversion events to be ingested by Dub.To do that, navigate to your workspace’s Analytics settings page and add your site’s domain to the Allowed Hostnames list.This provides an additional layer of security by ensuring only authorized domains can track conversions using your publishable key.
You can group your hostnames when adding them to the allow list:

example.com: Tracks traffic only fromexample.com.*.example.com: Tracks traffic from all subdomains ofexample.com, but not fromexample.comitself.
2
Generate your publishable key
Before you can track conversions on the client-side, you need to generate a publishable key from your Dub workspace.To do that, navigate to your workspace’s Analytics settings page and generate a new publishable key under the Publishable Key section.

3
Install @dub/analytics package
Next, install the Dub analytics script in your application.You can install the
@dub/analytics script in several different ways:You must configure the publishable key you generated in step 1 when installing the analytics script. Without this key, client-side conversion tracking will not work.Track sale conversions
Once the analytics script is installed, you can start tracking sale events in your application on the client-side.Track sales from URL query parameters
If you redirect users to a confirmation page after a successful purchase, you can track sales by reading query parameters from the URL.Track sales from form submissions
You can also track sales directly when users complete a checkout form on your website.| 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. |
clickId | No | [For direct sale tracking]: The unique ID of the click that the sale conversion event is attributed to. You can read this value from dub_id cookie. |
customerName | No | [For direct sale tracking]: The name of the customer. If not passed, a random name will be generated. |
customerEmail | No | [For direct sale tracking]: The email address of the customer. |
customerAvatar | No | [For direct sale tracking]: The avatar URL of the customer. |
- Completing a checkout or order
- Subscription payment
- Invoice payment
- Any paid trial or demo conversion
View your conversions
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.
