Events and people
Send custom events, identify users, and group them into accounts.
Track an event
Page views are automatic. Everything else you send yourself, when it happens.
termind.track("signed_up", { plan: "pro" });
termind.track("project_created", { template: "blank" });Use past tense verbs for event names, like signed_up or invoice_paid. Keep the names stable, because renaming an event breaks the history behind it.
Never put passwords, tokens, card numbers or full names in properties. Keys that look like credentials are stripped on arrival, but do not rely on that.
Identify a person
Call identify once you know who someone is, normally right after sign-in or sign-up. Everything they did anonymously before that moment is stitched to them.
termind.identify("user_8471", {
email: "sam@acme.com",
created_at: "2026-02-11",
});Use your own stable user id, not the email. Emails change, and when they do the history follows the id.
Group into accounts
If you sell to companies rather than individuals, tell Termind which account a person belongs to. Retention and revenue then make sense at the account level, which is the level you actually renew at.
termind.group("acct_120", { name: "Acme", plan: "team" });Full browser API
| Method | What it does |
|---|---|
| termind.track(name, props) | Record an event |
| termind.identify(id, traits) | Attach the session to a person |
| termind.group(id, traits) | Attach the person to an account |
| termind.pageview() | Record a view manually, for custom routers |
| termind.reset() | Forget the current person, for sign-out |