Introduction
Click-tracking with Dub Conversions
Clicks are the starting point for all conversion events on Dub.
A click event can be triggered by:
- A user clicking on a Dub link
- A user scanning a Dub QR code
In Dub Analytics, you can filter between QR code scans and link clicks, giving you a full picture of how your various marketing channels are performing.
Clicks are tracked automatically for all Dub short links upon a redirect event – and you also have the flexibility to track clicks via query parameters using our Client-side SDK.
Server-side click-tracking
Server-side click-tracking is enabled by default for all Dub links and come with the following attributes:
Attribute | Type | Description |
---|---|---|
timestamp | string | The timestamp of the click event |
id | string | The unique ID of the click event |
url | string | The destination URL that the link resolved to – this can vary if geo/device-targeting is enabled |
continent | string | The continent of the user who clicked the link |
country | string | The country of the user who clicked the link |
city | string | The city of the user who clicked the link |
device | string | The device of the user who clicked the link |
browser | string | The browser of the user who clicked the link |
os | string | The operating system of the user who clicked the link |
referer | string | The referrer of the user who clicked the link |
refererUrl | string | The full referrer URL of the user who clicked the link |
qr | boolean | Whether the click event was triggered by a QR code scan |
ip | string | The IP address of the user who clicked the link (non-EU users only) |
These events happen on the server-side and cannot be blocked by browser extensions or ad-blockers, which improves the accuracy of your analytics data.
Client-side click-tracking
Alternatively, you can track clicks on the client-side using query parameters (e.g. ?via=john
, ?ref=jane
). This gives you the flexibility to track clicks directly on your website or app, without needing to rely on link redirects.
A few use cases include:
- You are migrating from an existing affiliate management platform that uses query parameters to track conversions and don’t want ask your affiliates to update all their links
- You need to use an unfurled URL for the platform you’re sharing the link on (no short links allowed)
- You have dynamically generated referral pages (e.g. Tesla) and want to track clicks using a
track()
function inside your application code.
With our Client-side SDK, you can do exactly that.
Here’s how you can enable client-side click-tracking for your links:
Step 1: Add a unique identifier
to your links
First, you need to add a unique identifier
to your links. This identifier
is unique across your workspace and will be used to identify the corresponding link when passed as the query parameter (e.g. ?via=jane
).
There are two ways to add an identifier
to your links:
Step 2: Create a Publishable Key
Next, you’ll need to create a Publishable Key that you’ll use to initialize the Client-side SDK. The key has the following format:
You can create a Publishable Key in the Tokens settings page in your Dub workspace.
Step 3: Install the Client-side SDK
Lastly, you’ll need to install the Client-side SDK and initialize it with the Publishable Key you created in the previous step.
Here’s the full list of parameters you can pass to the <Analytics />
component:
Step 4 (Optional, but recommended): Set up a reverse proxy
To avoid ad-blockers from blocking your click-tracking requests, we recommend setting up a reverse proxy.
Depending on which backend framework you’re using, there are a few different ways to do this:
Once you’ve set up your reverse proxy, don’t forget to update the apiHost
parameter in the <Analytics />
component to point to your proxy URL.
Step 5: Verify your setup
To verify that your click-tracking is working, run your website locally with the specific query parameter (e.g. ?via=jane
) and check if the following is true:
- The click tracked correctly in the Analytics tab of your Dub workspace.
- There is a successful
/track/click
request in your browser’s Network tab (and no errors in the Console tab). - The
dub_id
cookie is being set in your browser upon a successful click-tracking request.
Was this page helpful?