UNIVERSAL INSTALL

Install once. Track everywhere.

Web, mobile, and server from one account and one identity graph.

Add ClickStream wherever your customers are. Every property type — website, mobile app, or server — feeds the same first-party identity graph, so a visitor is one person across every surface.

Property types

Pick how each property sends data

Each property you add is a website, mobile app, or server, and gets its own key. Native and server keys authenticate without a browser origin.

Website

Script tag or NPM pixel on your site, served from your first-party tracking domain.

Mobile app

React Native SDK with a dedicated mobile key — no extra setup beyond your key.

Server

Next.js middleware and a server resolver with a dedicated server key.

Website

Script tag or NPM pixel

Drop in a single script tag:

<script src="https://t.yoursite.com/sdk.js" data-key="cs_live_xxx" async></script>

Or install the pixel via NPM:

import { installClickstreamPixel } from '@clickstreamhq/sdk'; installClickstreamPixel({ apiKey: 'cs_live_xxx', endpoint: 'https://t.yoursite.com' });

Auto-captures pageviews, clicks, scroll, and forms. SPA route changes are tracked automatically; Next.js has a dedicated adapter, and Vue works via the script tag + composable pattern.

Mobile

React Native

import { createClickStream } from '@clickstreamhq/react-native'; const cs = createClickStream({ apiKey: 'cs_mob_live_xxx', endpoint: 'https://t.yoursite.com', platform: 'ios', }); cs.screen('Home'); cs.tap('checkout_button'); cs.identify('user@example.com', { userId: 'u_42' });

Hermes-safe, with offline queue and automatic session handling. Mobile apps send straight to your tracking endpoint — no extra setup beyond your key. @clickstreamhq/react-native is in developer preview (alpha).

Server

Next.js middleware + server resolver

// middleware.ts export { clickStreamMiddleware as middleware } from '@clickstreamhq/next'; // in a route handler or server component import { getServerVisitor } from '@clickstreamhq/next'; const { visitor } = await getServerVisitor({ apiKey: process.env.CLICKSTREAM_API_KEY!, // cs_srv_live_... }); // visitor can be null for brand-new sessions

Uses a dedicated server key (cs_srv_live_*) that authenticates without a browser origin. @clickstreamhq/next is in developer preview (alpha).

After install

What you get

1

Identity resolved

First-party recognition stitches sessions and devices into one visitor.

2

Behavior scored

26 models score intent, frustration, churn, and more in real time.

3

Signals you can use

Read it all from the Signals API or push to your CRM via integrations.

Get your keys

ClickStream is live. Start free and be tracking across web, mobile, and server today.

Start free