We capture the data. Not somebody else’s summary.

Kissmetrics records your events itself, resolves every one of them to a real person, and has a working workspace before you have written a tracking plan.

One personmaya@lumenlabs.io3 devices, one history
  • viewed pricingmaya@lumenlabs.ioMar 2
  • read comparisonmaya@lumenlabs.ioMar 2
  • visited docsmaya@lumenlabs.ioMar 6
  • ran funnel auditmaya@lumenlabs.ioMar 6
  • started trial signupidentifiesmaya@lumenlabs.ioMar 6
  • invited a teammatemaya@lumenlabs.ioMar 7
  • upgraded to Growthmaya@lumenlabs.ioMar 21

The signup is the only moment she tells you who she is. Everything above it was already hers, so it is attributed backwards. A session-scoped tool throws that history away.

kissmetrics cli
# one line, or one command. no tag manager, no sprint.
$ npx kissmetrics init acme.co
scanning acme.co … 184 pages, 9 templates
installing tracking … done
47 events detected, roles assigned
workspace ready

Or paste the snippet. Both end in the same place.

Autocapture, then refine

One snippet records the clicks, pages and forms on your site from the moment it lands, so you are never waiting on a tracking plan before you have data. You then shape it: name the events that matter, drop the ones that do not, and give each one a role.

  • Every click, page view and form, captured without a spec
  • Refine into named events once you know what matters
  • Works on a site, a product, or both at once
See the schema and roles
Event schema: every event you fire, ranked by volume, with a status on each.

Every event resolved to one person

A visitor who reads on their phone, signs up on a laptop and buys a week later is one person, not three sessions. When an anonymous visitor converts, everything they did beforehand comes with them. That is what makes retention, attribution and lifetime value measurable rather than estimated.

  • Anonymous history follows a person once they identify
  • One identity across devices, sessions and channels
  • Every report counts people, not sessions
See People
Person profile: one customer, their properties and their full event history.

Server, API and imports on the same identity

Not everything happens in a browser. Send events from your backend, from a webhook, or from a tool you already run, and they land on the same person as the front-end events. Historic data can be imported without losing who it belonged to.

  • Server-side events with the same identity model
  • Import history and third-party sources
  • Full API and CLI, with no separate pipeline to maintain
See data import
Integrations: pushing populations and events to the rest of your stack.

How we handle identity

The JavaScript tracker sets first-party cookies to keep one person’s actions together across pages. Every event is tied to a person identifier.

Prefer no browser cookies? Send events through the server-side API instead. Nothing is stored in the visitor’s browser, though you supply the identifier yourself, so this is cookie-free rather than anonymous.

One limitation worth knowing: Safari caps first-party cookies at seven days, so a visitor returning after longer than that can be counted as new.

KISSmetrics

Give it your URL. It does the rest.

Free to start, no card. Tracking, attribution and your first dashboard in under a minute.

Want a hand? Get a live demo