Quickstart
Learn how to get started with Dub Conversions
Dub Conversions require a Business plan subscription or higher.
Dub Conversions is a powerful tool that lets you turn any short link you create on Dub into a full attribution engine. This allows you to understand how well your links are translating to actual users and revenue dollars.
Learn more about how Dub Conversions works.
In this guide, we’ll walk you through the steps to get started with Dub Conversions:
- Enable conversion tracking for your links
- Install the
@dub/analytics
client-side SDK - Install the Dub server-side SDK
- Start sending events
- View your conversions
Step 1: Enable conversion tracking for your links
First, you’ll need to enable conversion tracking for your Dub links to be able to start tracking conversions.
There are a few ways to do this:
Option 1: On a workspace-level
To enable conversion tracking for all future links in a workspace, you can do the following:
- Navigate to your workspace settings page.
- Toggle the Workspace-level Conversion Tracking switch to enable conversion tracking for the workspace.
This option will enable conversion tracking in the Dub Link Builder for all future links.
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
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:
Step 2: Install the @dub/analytics
client-side SDK
Next, you’ll need to install the @dub/analytics client-side SDK.
This will handle the detection of the dub_id
query parameter and storing it as a first-party cookie, which will be used to attribute subsequent conversion events to the original link.
Based on the framework or platform you’re using, you can install the script in different ways:
React
Add Dub Analytics to your React app.
Manual installation
Add Dub Analytics to your website.
Framer
Add Dub Analytics to your Framer site.
Shopify
Add Dub Analytics to your Shopify store.
WordPress
Add Dub Analytics to your WordPress site.
Webflow
Add Dub Analytics to your Webflow site.
Step 3: Install the Dub server-side SDK
If you are using Shopify, you can skip this step since our Shopify app will automatically track conversions for you. Read the Shopify integration guide for more information.
Dub Conversions uses server-side event tracking to track conversions. Depending on which framework you’re using, you can use our native SDKs:
TypeScript
TypeScript library for the Dub API
Go
Go library for the Dub API
Python
Python library for the Dub API
Ruby
Ruby library for the Dub API
If you’re using a framework that isn’t listed, you can use the Dub REST API to track events on the server-side:
Step 4: Start sending events
If you are using Shopify, you can skip this step since our Shopify app will automatically track conversions for you. Read the Shopify integration guide for more information.
Now that you’ve installed the SDKs, you can start sending events to Dub. Since click events are tracked automatically, you’ll only need to send events for the following cases:
Step 4a: Sending Lead Events
The first event you’ll want to send is a lead
event. This 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
- Adding a product to cart
- Joining a mailing list
Our most common lead event is Sign Up
, which happens when a user signs up for an account. Depending on which authentication framework you’re using, here are a few examples of how to send Sign Up
lead events:
NextAuth.js
Tracking lead events with NextAuth.js
Clerk
Tracking lead events with Clerk
Supabase
Tracking lead events with Supabase
Auth0
Tracking lead events with Auth0
Appwrite
Tracking lead events with Appwrite
If you’re using the Remix framework, you might run into an issue where you get an empty/null value for the dub_id
cookie. In that case, try using a library like cookie
instead:
Here’s the full list of attributes you can pass when sending a lead event:
Property | Required | Description |
---|---|---|
clickId | Yes | The unique dub_id parameter that the lead conversion event is attributed to. |
eventName | Yes | The name of the event. Example: “Sign up”. |
externalId | Yes | The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer. |
customerEmail | No | The email address of the customer. If not passed, a random email address will be generated. |
customerName | No | The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”). |
customerAvatar | No | The avatar URL of the customer. If not passed, a random avatar URL will be generated. |
The lead event will serve as the source of truth for the customer’s identity and which link they came from. This means that all subsequent actions performed by the customer (e.g. upgrading their plan, purchasing a product) will automatically be attributed to the original link.
Step 4b: Sending Sale Events
The second event you’ll want to send is a sale
event. This happens when a user purchases your product or service. This could be anything from:
- Subscribing to a paid plan
- Usage expansion (upgrading from one plan to another)
- Purchasing a product
Depending on which payment processor you’re using, we offer native integrations for the following:
Stripe
Tracking sale conversion events with Stripe and the Dub SDK
Shopify
Tracking sale conversion events with Shopify and the Dub SDK
Alternatively, you can also send sale events manually using our SDKs or the POST /track/sale
API endpoint.
Here are the properties you can include when sending a sale event:
Property | Required | Description |
---|---|---|
externalId | 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 | Yes | The payment processor that processed the sale. (E.g. Stripe, Shopify) |
eventName | No | The name of the event. Defaults to “Purchase”. |
invoiceId | No | The unique ID of the invoice in your system. |
currency | No | The currency of the sale. Defaults to “usd”. |
metadata | No | An object containing additional information about the sale. |
Step 5: View your conversions
Once you’ve enabled conversion tracking for your links, all your tracked conversions will show up on your Analytics dashboard. 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.
Example Apps
Was this page helpful?