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:

  1. Enable conversion tracking for your links
  2. Install the @dub/analytics client-side SDK
  3. Install the Dub server-side SDK
  4. Start sending events
  5. View your conversions

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:

  1. On a workspace-level
  2. On a link-level
  3. Via the API

Option 1: On a workspace-level

To enable conversion tracking for all future links in a workspace, you can do the following:

  1. Navigate to your workspace settings page.
  2. 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.

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:

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:

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:

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:

import cookie from "cookie";

const cookies = cookie.parse(request.headers.get("cookie") ?? "");
const dubId = cookies.dub_id;

Here’s the full list of attributes you can pass when sending a lead event:

PropertyRequiredDescription
clickIdYesThe unique dub_id parameter that the lead conversion event is attributed to.
eventNameYesThe name of the event. Example: “Sign up”.
externalIdYesThe unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.
customerEmailNoThe email address of the customer. If not passed, a random email address will be generated.
customerNameNoThe name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”).
customerAvatarNoThe 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:

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:

PropertyRequiredDescription
externalIdYesThe unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.
amountYesThe amount of the sale in cents.
paymentProcessorYesThe payment processor that processed the sale. (E.g. Stripe, Shopify)
eventNameNoThe name of the event. Defaults to “Purchase”.
invoiceIdNoThe unique ID of the invoice in your system.
currencyNoThe currency of the sale. Defaults to “usd”.
metadataNoAn 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:

  • 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