Clerk
Learn how to track lead conversion events with Clerk and Dub
When it comes to conversion tracking, a lead
event 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
In this guide, we will be focusing on tracking new user sign-ups for a SaaS application that uses Clerk for user authentication.
Prerequisites
Before you get started, make sure you follow the Dub Conversions quickstart guide to get Dub Conversions set up for your links:
- Enable conversion tracking for your links
- Install the @dub/analytics client-side SDK
- Install the Dub server-side SDK
Configure Clerk
Next, configure Clerk to track lead conversion events when a new user signs up. Here’s a quick video showing how to do this:
Here’s a quick summary of the steps:
Add environment variables
Add the following environment variables to your app:
Add a custom claim to your Clerk session token
Add the following JSON as a custom claim to your Clerk session token:
Extend the `@dub/analytics` package with Clerk's `useUser` hook
Extend the @dub/analytics
package to include a trackLead
server action.
Then, add the DubAnalytics
component to your app’s root layout component:
Implement the `trackLead` server action
On the server side, implement the trackLead
server action. Alternatively, you can also create an API route 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. |
Example App
To learn more about how to track leads with Clerk, check out the following example app:
Dub + Clerk Example App
See how to track new user sign-ups with Clerk and the Dub SDK.
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.
Was this page helpful?