Read live identity and behavioral signals and render your app by segment — in real time.
Signals is an NPM-first API that exposes the same intelligence powering the dashboard: identity status, a behavioral class, and live scores. Use it to personalize pages, gate content, and branch flows on first-party data you own.
ClickStream Signals is a first-party data API that exposes each visitor's resolved identity, real-time behavioral class (human, suspicious, likely bot, or bot), and live behavioral scores to your own code — in the browser, in React, and on the server. It's the layer your site, app, or agent reads to decide what to show, who to trust, and what to do next.
Signals come from data you collect and own through your own tracking domain — no third-party cookies, no shared pixels.
Scores update as the session unfolds, so decisions reflect what the visitor is doing right now.
One API across web, mobile, and server, so the same visitor is understood on every surface.
One client for the browser and runtime (@clickstreamhq/signals), React hooks (@clickstreamhq/react), and a server resolver (@clickstreamhq/next).
Whether the visitor is anonymous or identified, plus the identifiers and cross-site IDs resolved through the waterfall.
A real-time label — human, suspicious, likely_bot, or bot — to gate, challenge, or welcome.
Intent, frustration, engagement, churn risk, and more from the 26-model scoring pipeline, updated as the session unfolds.
Wire signals into a declarative rules engine: define conditions over scores and identity, and let effects fire — personalize content, gate flows, or suppress bots — without scattering conditionals through your codebase.
Subscribe to the live visitor on the client or resolve it on the server.
Conditions over behavioral class and scores decide which experience applies.
Render the right content, gate the risky sessions, branch the flow.
ClickStream Signals is a first-party developer API that gives your application live access to each visitor's resolved identity, behavioral classification (human, suspicious, likely_bot, or bot), and real-time behavioral scores such as intent, frustration, engagement, and churn risk. You read it with @clickstreamhq/signals in the browser, @clickstreamhq/react hooks, or @clickstreamhq/next on the server.
Yes. Behavioral scores and the visitor's behavioral class update as the session unfolds, so the values you read reflect what the visitor is doing in the moment, not a stale snapshot.
Each visitor exposes identity status (anonymous or identified) and resolved identifiers, a behavioral class of human, suspicious, likely_bot, or bot, and live scores including intent, frustration, engagement, and churn risk from ClickStream's 26-model scoring pipeline.
The browser and runtime client is @clickstreamhq/signals, React bindings (useVisitor, useIdentify, useTrack) are in @clickstreamhq/react, and a server resolver (getServerVisitor) is in @clickstreamhq/next for Next.js middleware, route handlers, and server components.
Yes. Use getServerVisitor from @clickstreamhq/next to resolve a visitor's identity and scores server-side in Next.js middleware, route handlers, or server components for personalization before render.
A CDP routes events to destinations, and a feature-flag tool toggles static rules. ClickStream Signals gives your code the live, scored, identity-resolved state of the current visitor so you can personalize and gate based on real-time behavior — all on first-party data you own.
Read the visitor's behavioral class (human, suspicious, likely_bot, or bot) and bot fields. The classification comes from behavioral biometrics such as mouse dynamics, cadence, and interaction patterns, so you can add CAPTCHA or gating only for risky sessions.
Yes. Signals are derived from data you collect and own through your own first-party tracking domain — there are no third-party cookies or shared pixels involved.
ClickStream is in early access. Request access to get your keys and start reading signals from your code.
Request access