@dub/analytics
allows you to track leads and sales conversions for Dub.
- Enable conversion tracking for your Dub link.
- Install the
@dub/analytics
package to your project
npm install @dub/analytics
- Inject the Analytics script to your app
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>
);
}
You can all use the inject()
function to add the tracking script to other frameworks.
You can pass the following props to the Analytics
component to customize the tracking script.
The API host to use for tracking. This is useful for setting up reverse proxies to avoid adblockers. The default is https://api.dub.co
.
The domain of the short link to track clicks for. This is required for client-side click-tracking.
Decide the attribution model to use for tracking. The default is last-click
.
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.
The cookieOptions
prop accepts the following keys:
Key | Default | Description | Example |
---|---|---|---|
domain |
null |
Specifies the value for the Domain Set-Cookie attribute. |
example.com |
expires |
90 days from now | Specifies the Date object to be the value for the Expires Set-Cookie attribute. |
new Date('2024-12-31') |
expiresInDays |
90 |
Specifies the number (in days) to be the value for the Expires Set-Cookie attribute. |
90 |
path |
/ |
Specifies the value for the Path Set-Cookie attribute. By default, the path is considered the "default path". |
/ |
For example, to set a cross domain cookie, you can use the following code:
import { Analytics as DubAnalytics } from "@dub/analytics"
<DubAnalytics
cookieOptions={{
domain: process.env.IS_PRODUCTION_ENV
? ".yourdomain.com" // for cross-domain tracking
: undefined,
}}
/>
The query parameter to listen to for client-side click-tracking (e.g. ?via=john
, ?ref=jane
). The default is via
.
Custom properties to pass to the script tag. Refer to MDN for all available options.