Skip to main content

Overview

A user profile is the unified record for one person in Trodo. It combines behavioral events (what they did) with profile properties (who they are and their current state). Every profile is keyed on a distinct_id.

Profile structure

{
  "distinct_id": "user_12345",
  "user_identity_id": "uuid-internal-reference",
  "properties": {
    // Identity (from identify + people)
    "email": "[email protected]",
    "name": "Alex Builder",
    "plan": "enterprise",

    // Lifecycle
    "first_seen": "2024-01-01T00:00:00Z",
    "last_seen": "2024-01-15T10:30:00Z",
    "session_count": 47,

    // Product-specific (examples)
    "primary_workspace_id": "ws_abc",
    "agent_beta_opt_in": true
  }
}

How profiles are built

Step 1 — Anonymous user

On first visit, Trodo assigns an anonymous distinct_id (stored in a first-party cookie) and starts recording events.

Step 2 — Events

Each Trodo.track() call adds to the user’s timeline and can inform metrics. Auto-events do the same when enabled.

Step 3 — Identification and traits

SourceWhat it does
Trodo.identify()Sets the stable user ID and enables merge from anonymous history
Trodo.people.*Sets, increments, and updates persistent properties
Groups APIsAssociates the user with workspace/account entities

Profile timeline

In the dashboard, each profile shows a chronological view of behavior: page views, clicks, custom events, and property changes—so you can debug a single journey end to end.
Jan 2, 14:22  │ page_view          │ /pricing
Jan 2, 14:28  │ element_click      │ CTA "Start trial"
Jan 2, 14:30  │ signup_completed   │ plan: pro
Jan 2, 14:35  │ agent_run_started  │ workflow_id: onboarding
Jan 2, 14:36  │ agent_run_completed│ outcome: success

Searching profiles

Common lookups:
  • distinct_id or your identify() ID
  • Email or other traits you set on the profile
  • Custom properties you index for search (as configured in your project)

Merges and identity rules

Trodo can merge profiles when the same real user is recognized again (for example, the same identify() ID on a new device). The CQ Intelligence merge engine combines event history and properties according to your project rules.
Exact merge behavior may depend on your team’s configuration. When in doubt, treat identify() as the canonical link between anonymous activity and an account.

Privacy

Profile data should follow your privacy policy and retention settings. Pseudonymous IDs are still personal data in many jurisdictions once they can be linked to an individual (for example, after identify() with an email). See Privacy & Compliance.

Next steps

Identify

Link anonymous users to accounts

People

Set and update profile properties

Data Model

Events, users, and groups

Groups

Workspaces and B2B modeling