Overview
Core vocabulary used in Trodo’s documentation. Where helpful, terms are mapped to Mixpanel or Amplitude concepts.distinct_id
The primary identifier for a user in Trodo. Every user—anonymous or identified—has one.- Anonymous users: Trodo generates a
distinct_idon first visit, stored in a first-party cookie (cq_distinct_id). - Identified users: Calling
Trodo.identify('your_id')replaces the anonymous ID with the value you supply (typically your database user ID or UUID).
distinct_id is developer-controlled—Trodo does not reassign it without a merge.
| Tool | Equivalent |
|---|---|
| Mixpanel | distinct_id |
| Amplitude | user_id / device_id |
user_identity_id
An internal UUID for each profile record. Unlikedistinct_id, it is system-generated and stable across merges. You may see it in exports; you do not set it from the SDK.
identify()
Links an anonymous session to a known user. Call once per session when the user logs in or registers.- New ID: the current anonymous profile becomes (or joins) the identified profile.
- Same ID, same device: sessions continue on one profile.
- Same ID, new device: CQ Intelligence can merge when enough signals align.
| Tool | Equivalent |
|---|---|
| Mixpanel | mixpanel.identify() |
| Amplitude | amplitude.setUserId() |
CQ Intelligence merge engine
Trodo’s system for unifying profiles that belong to the same person across sessions and devices. Merge may be triggered when- The same
identify()ID appears in another session or on another device. - Other identity rules configured for your team apply.
identify(), track(), and people updates.
auto-events
Behavioral events the SDK sends withoutTrodo.track(), using the same pipeline as custom events. They stay off until auto-events="true" on the script tag or equivalent in code.
Examples include page_view, element_click, page_scroll, form_submit, js_error, and page_performance. See Auto-Events.
| Tool | Equivalent |
|---|---|
| Mixpanel | Autocapture (where offered) |
| Amplitude | Autocapture / Session Replay |
groups
Group membership ties the current user to entities labeled with a group key (e.g.company) and group ID (e.g. acme-inc). Group profiles store properties for that pair.
| API | Role |
|---|---|
Trodo.set_group(key, id) / add_group / remove_group | Membership |
Trodo.get_group(key, id).set({...}) | Group-level properties |
| Tool | Equivalent |
|---|---|
| Mixpanel | Group Analytics |
| Amplitude | Groups |
people methods
Trodo.people.* updates persistent user properties (not one-off event payloads).
| Method | Purpose |
|---|---|
people.set() | Set properties (overwrites) |
people.set_once() | Set only if missing |
people.increment() | Add to a number |
people.append() | Append to a list (allows duplicates) |
people.union() | Add to a list (no duplicates) |
people.remove() | Remove from a list |
people.unset() | Delete a property |
people.deleteUser() | Delete the profile |
people.trackCharge() | Record revenue on the profile |
trackCharge()
Records revenue or payment against a profile (subscriptions, seats, usage bundles).| Tool | Equivalent |
|---|---|
| Mixpanel | mixpanel.people.track_charge() |
| Amplitude | Revenue via Revenue object |
session
A period of continuous activity. A new session typically starts when:- The user visits for the first time, or
- Inactivity exceeds the session timeout (commonly 30 minutes), or
- Campaign parameters change (where configured)
cq_session_id cookie where applicable.
| Tool | Equivalent |
|---|---|
| Mixpanel / Amplitude | Session |
Next steps
User profiles
How profiles are structured
Implementation guide
End-to-end patterns