SDK
Installation
Universal script, npm package, monorepo setup, and environment variables.
Option A — Universal script (recommended)
Paste in <head> or GTM. No build step. Autocapture and page_view enabled by default. Updates to SDK logic ship server-side via u.js without redeploying your site.
<script async src="https://api.trackrift.com/v1/u.js?id=YOUR_PUBLIC_ID"></script>Option B — npm / bundler
npm install @trackrift/sdk
# Optional peers for framework wrappers:
# npm install react@^18 next@^13import { tracker } from '@trackrift/sdk';
tracker.init({
endpoint: import.meta.env.VITE_TRACKRIFT_ENDPOINT ?? 'https://api.trackrift.com',
publicId: import.meta.env.VITE_TRACKRIFT_PUBLIC_ID ?? 'YOUR_PUBLIC_ID',
debug: import.meta.env.DEV,
});Environment variables
| Variable | Scope | Example |
|---|---|---|
| VITE_TRACKRIFT_PUBLIC_ID | Client (Vite) | pub_abc123… |
| VITE_TRACKRIFT_ENDPOINT | Client | {{ENDPOINT}} |
| TRACKRIFT_COLLECTOR_URL | Server only | {{ENDPOINT}} |
| SERVER_INGEST_TOKEN | Server only — secret | trk_live_… |
Option C — Global bundle (sdk.js)
For WordPress, Webflow, or legacy PHP sites without a bundler. See Global bundle for data-* attributes.
Content Security Policy
Allow script-src and connect-src to your collector host (api.trackrift.com or CNAME). Example: connect-src https://api.trackrift.com https://t.yourdomain.com;