@dub/analytics is a client-side script for tracking conversion events with Dub.
By default, the script handles the detection of the dub_id query parameter and storing it as a first-party cookie:

dub_id cookie and attribute the conversion to the original click by tracking a lead event.


Quickstart
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:Then, you’ll need to install the Dub client-side script and set up the necessary configuration for client-side conversion tracking:
1
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.

2
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.
3
Install @dub/analytics package
Next, install the Dub analytics script in your application.You can install the 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.
@dub/analytics script in several different ways:React
Manual installation
Framer
Shopify
WordPress
Webflow
Google Tag Manager
Client-side lead tracking
Once the analytics script is installed, you can start tracking lead events in your application on the client-side. Here are the quickstart examples for tracking lead events:
When to track leads
You should track lead events after successful user actions such as:
- User registration or account creation
- Newsletter subscription
- Contact form submission
- Demo request or trial signup
- Download of gated content
Client-side sale tracking
Once the analytics script is installed, you can start tracking sale events in your application on the client-side.
When to track sale
Track sale events only after a user successfully completes a purchase or payment-related action, such as:
- Completing a checkout or order
- Subscription payment
- Invoice payment
- Any paid trial or demo conversion