Skip to main content
Conversion tracking require a Business plan subscription or higher.
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
A diagram showing how lead events are tracked in the conversion funnel
In this guide, we will be focusing on tracking new user sign-ups for a SaaS application that uses Appwrite 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:
  1. Enable conversion tracking for your links
  2. Install the @dub/analytics client-side SDK
  3. Install the Dub server-side SDK

Configure Appwrite

Next, configure Appwrite to track lead conversion events during the sign up process.
1

Create an Appwrite Cloud project

Head to Appwrite Cloud and create a new project.
New project on Appwrite Cloud
Create a new API key with the sessions.write scope enabled and save the API key for later use. You can also copy your project ID and endpoint from the project’s Settings page.
API key in your project on Appwrite Cloud
Then, in your Next.js app, install the Appwrite Node.js SDK.
2

Add environment variables

Add the following environment variables to your app.
3

Integrate Dub Analytics

Add the DubAnalytics component from the @dub/analytics package to your app’s root layout.
src/app/layout.tsx
4

Prepare the Appwrite client and auth library

Create the Appwrite Session and Admin client (necessary for SSR apps, as explained in the Appwrite docs). Additionally, create a function to verify user login.
src/lib/server/appwrite.ts
5

Set up Dub SDK

Create the Dub client and send leads to Dub using the dub.track.lead() function.
src/lib/server/dub.ts
6

Send leads to Dub on user signup

In the /auth page, use the Appwrite Admin client to allow users to sign up. Post sign up, check if the dub_id cookie is present, send a lead event to Dub if found, and delete the dub_id cookie.
src/app/auth/page.tsx
Here’s the full list of attributes you can pass when sending a lead event:

Example App

To learn more about how to track leads with Appwrite, check out the following example app:

Appwrite + Dub Next.js Example

See how to track new user sign-ups with Appwrite and the Dub SDK.

View your conversions

Once you’ve completed the setup, all your tracked conversions will show up in Dub Analytics. We provide 3 different views to help you understand your conversions:
Time-series line chart
  • Funnel chart: A funnel chart view visualizing the conversion & dropoff rates across the different steps in the conversion funnel (clicks → leads → sales).
Funnel chart view showing the conversion & dropoff rates from 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.
The Events Stream dashboard on Dub