Visitor intelligence with browser fingerprinting, behavioral analytics, UTM tracking, Web Vitals, frustration scoring, and real-time insights. One lightweight script. Zero cookies. Fully managed.
npm install @stevandric/identity-js
From basic analytics to behavioral intelligence — all in one lightweight package
Canvas, WebGL, audio, fonts, speech voices, math quirks — over 40 signals combined into a stable fingerprint that identifies returning visitors across sessions without cookies.
Multi-signal bot scoring analyzes headless browser markers, automation APIs, and behavioral patterns to flag bots, crawlers, and scrapers in real time.
Weighted composite of rage clicks, dead clicks, errors, form abandons, and rapid navigation. See exactly who's struggling and where.
Detects clicks on elements that look interactive but aren't — underlined text, pointer cursors, icon-like images. Shows where users expect interactivity.
Scroll velocity analysis classifies visitors as reading, skimming, or scanning per page. Tracks attention percentage and active vs. idle time.
Measures time from field focus to first keystroke, tracks delete counts and retypes per form field. Find the fields causing friction.
Detect rapid frustrated clicking and clicks on non-interactive elements. Aggregated into hotspot reports showing exactly which elements cause confusion.
Track what text visitors copy from your site — content, length, and source page. Understand what information people take away.
Know exactly which form field users stopped at, which fields they touched, and on which page. Fix your forms with data.
Interactive Leaflet map showing visitor locations, live visitor tracking with auto-refresh, full Insights tab with aggregated analytics across all visitors, and per-visitor deep dives with sub-tabs for Overview, Journey, Behavior, and Signals.
Track any user action with IdentityJS.track(). See aggregated event rankings with property breakdowns in the Insights tab.
Automatically captures UTM parameters (source, medium, campaign, term, content) and referrer data on every page load. See channel split, top referrer domains, UTM breakdowns, and recent campaign sessions in a dedicated Acquisition tab.
Collects Core Web Vitals (FCP, LCP, TTFB) and performance metrics (DOM load, DNS, TCP, transfer size) using the Performance API. View p50/p75/p95 percentiles with Good/Needs Work/Poor scoring.
Periodic heartbeat pings measure true active time-on-page — no more inflated session durations from idle tabs. Accurate bounce rate and session duration metrics you can trust.
Automatic email alerts when your plan limits approach 80% or hit 100%. Plus welcome emails, password reset flows, and transactional emails powered by Resend — all built in.
Drop in the script, call init, and you're collecting 40+ signals with 9 behavioral trackers, UTM attribution, and Web Vitals — automatically.
import IdentityJS from '@stevandric/identity-js' // Initialize — just your API key, that's it! const identity = await IdentityJS.init({ apiKey: 'pk_live_your-project-api-key', }) // Track custom events anywhere IdentityJS.track('signup_clicked', { plan: 'pro', source: 'hero-cta' }) // Access visitor info console.log(identity.visitorId) console.log(identity.fingerprintHash)
npm install and import. One dependency, 30KB gzipped. Works with any bundler or as a UMD script tag.
Sign up at identity-js.com, create a project, and grab your API key. Everything runs on our servers — nothing to deploy.
Open the dashboard. See visitors in real time, explore behavioral data, track acquisition channels, monitor Web Vitals, and discover UX issues — all from identity-js.com.
Features that usually cost $100+/month, in a free open-source package
| Feature | identity-js | Google Analytics | Hotjar | FullStory |
|---|---|---|---|---|
| Browser Fingerprinting | ✓ 40+ signals | ✗ | ✗ | ✗ |
| Cookie-free Tracking | ✓ | ✗ | ✗ | ✗ |
| Bot Detection | ✓ Built-in | Limited | ✗ | ✗ |
| Frustration Score | ✓ | ✗ | ✗ | ✓ Premium |
| Phantom Clicks | ✓ | ✗ | ✗ | ✗ |
| Reading Behavior | ✓ | ✗ | Limited | ✗ |
| Input Hesitation | ✓ | ✗ | ✗ | ✗ |
| Rage Clicks | ✓ | ✗ | ✓ | ✓ |
| Form Abandonment | ✓ | ✗ | ✓ | ✓ |
| Custom Events | ✓ | ✓ | ✗ | ✓ |
| UTM / Acquisition Tracking | ✓ Auto-capture | ✓ | ✗ | ✗ |
| Web Vitals (FCP, LCP, TTFB) | ✓ Built-in | ✓ | ✗ | ✗ |
| Heartbeat Time Tracking | ✓ | ✗ | ✗ | ✗ |
| Email Alerts (limit warnings) | ✓ | ✗ | ✗ | ✓ |
| Password Reset Flow | ✓ Built-in | N/A | ✗ | ✗ |
| No Setup Required | ✓ | ✗ | ✗ | ✗ |
| Zero Dependencies | ✓ | ✗ | ✗ | ✗ |
| Cookie Consent Needed | No | Yes | Yes | Yes |
| Price | Free — $69/mo | Free* | $32+/mo | $108+/mo |
identity-js uses browser fingerprinting instead of cookies, which means you don't need cookie consent banners. Fully compliant with GDPR, CCPA, PECR, and ePrivacy regulations out of the box.
Start free. Upgrade when you grow. No hidden fees.
Start tracking in under 5 minutes. No credit card. No cookies. No third-party data sharing.