Concept
The data model behind product analytics: events, identity, people, groups, sessions, and auto-capture.
Product analytics is built from a few primitives. Send the right ones and everything downstream (segments, funnels, retention) just works.
Events
An event is a named action a user took, with optional properties that describe it. Properties make the event filterable and breakdownable later.
Trodo.track('order_completed', {
amount: 49.99,
plan: 'pro',
items: 3,
});Every event also carries who (the user's distinct ID), when (a timestamp), and where (session and page) automatically. See Events.
Identity
Each user has a distinct ID. Before they log in they're anonymous, tracked under a generated ID. When you call identify with a stable identifier (an email, a database ID), Trodo merges the anonymous activity into that profile, so pre-login and post-login events become one timeline:
Anonymous
Page views and clicks tracked under a generated ID.
identify()
You call identify('user@acme.com') when they log in.
One profile
Anonymous and identified activity merge into a single timeline.
Call identify with the same value on the browser and your backend, and all activity lands on one profile. See Identity.
People vs. events
Events are things a user did. People properties are things a user is: plan, company, signup date, lifetime value. They live on the profile and apply across every event, so you can segment any report by them.
| Example | Lives on | Changes | |
|---|---|---|---|
| Event | order_completed | the activity stream | never (it happened) |
| People property | plan: 'pro' | the user profile | over time (latest wins) |
See People.
Groups
In B2B, a user usually belongs to an account, a company, or a workspace. Groups attach users to those entities so you can analyze behavior at the account level, not just per user, for example "which workspaces adopted this feature?" See Groups.
Sessions
A session is a single visit. The browser SDK tracks its lifetime, entry and exit pages, duration, and whether it bounced, and ties every event in the visit to it. Sessions are a client concept; backend events join a session by ID. See Sessions.
Auto-capture
On the client, Trodo captures a behavioral baseline with no per-event code:
Navigation
Page views and SPA route changes.
Interaction
Clicks, rage clicks, dead clicks, scroll depth.
Forms
Submissions and abandonment.
Health
JS errors and page performance (LCP, CLS, INP).
You add custom events on top for the actions specific to your product. See Auto-capture.
Next
- Get Started to enable tracking
- Events for everything
trackcan do