With Dub Analytics, you can track leads and sales conversions on your website, enabling you to measure the effectiveness of your marketing campaigns.

Quickstart

This quick start guide will show you how to get started with Dub Analytics on your website.

1

Install package

Using the package manager of your choice, add the @dub/analytics to your project.

2

Initialize package in your code

If you are using a React framework, you can use the <Analytics /> component to track conversions on your website.

E.g. if you’re using Next.js, you can add the <Analytics /> component to your root layout component or any other pages where you want to track conversions.

app/layout.tsx
import { Analytics as DubAnalytics } from '@dub/analytics/react';

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body>{children}</body>
      <DubAnalytics />
    </html>
  );
}

Concepts

You can pass the following props to the <Analytics /> component to customize the tracking script:

apiHost
url
default: "https://api.dub.co"

The base URL for the Dub API. This is useful for setting up reverse proxies to avoid adblockers.

apiKey
string

The publishable API key to use for client-side click tracking. Get your publishable API key from your Dub workspace’s token settings page.

attributionModel
first-click | last-click
default: "last-click"

The attribution model to use for the analytics event. The following attribution models are available:

  • first-click: The first click model gives all the credit to the first touchpoint in the customer journey.
  • last-click: The last click model gives all the credit to the last touchpoint in the customer journey.
cookieOptions
CookieOption Object
queryParam
string
default: "via"

The query parameter to listen to for client-side click-tracking (e.g. ?via=abc123).

scriptProps
HTMLScriptElement Object

Custom properties to pass to the script tag. Refer to MDN for all available options.

Examples

We also have some advanced examples on GitHub: