Skip to main content

Users

A user (sometimes called a profile in the schema) is FunnelFizz's record of one real person. Every visitor gets a row the moment they fire their first event. As more identifying signals arrive (an identify call, a Stripe checkout, an email click) they're stitched onto the same record so you end up with one row per actual human, not one per cookie.

This is where the funnel stops being numbers and becomes individual customers you can read about.

For the stitching mechanics, see Tracking & identity.

In the dashboard

Users in the left nav opens a searchable, sortable, filterable table. Click any row to open the detail page.

The detail page shows three things:

  1. Header. Name (or visitor ID if anonymous), email, country, device, browser, identified-at timestamp, lifetime totals (sessions, pageviews, goals, total spent).
  2. Funnel cards. One per funnel this person is in: current stage with the trichotomy bucket (Retained / Upgraded / Churned), stage history timeline, engagement score, first source / referrer / UTM, subscription status and plan.
  3. Activity timeline. Reverse-chronological list of every event for this person across every device and funnel.

What lands on the activity timeline

The timeline updates automatically as the person interacts with you. Events come from six sources:

SourceEvents you'll see
Tracking scriptpageview, goal, identify, form_start, form_submit, outbound_click, session_start, plus any custom event you fire
Stripe webhooksstripe_trialing, stripe_active, stripe_canceled, payment, trial_ending_soon
Email engineemail_sent, email_delivered, email_open, email_click, email_bounced, email_complained
Form submissionsform_submission for FunnelFizz-hosted forms
Stage-entry APIstage_entry_api for explicit stage promotions
Cohort + automation diagnosticscohort_assigned, stage_exited, cohort_unresolvable_at_replay, automation_trigger_evaluated

Each event carries enough context to read at a glance: path + referrer for pageviews, campaign name for email events, product + amount for Stripe events.

Cohort + automation diagnostic events

Four event types are written by FunnelFizz itself to make cohort and automation behavior auditable:

EventWhen it firesUseful for
cohort_assignedA profile joins a split track at a stage.Confirming which branch a profile actually landed on, with the trackId in metadata.
stage_exitedAn open cohort membership closes (cancel, downgrade, archive).Tracking when someone leaves a paid tier or extension cohort. The reason says why.
cohort_unresolvable_at_replayA Stripe history replay couldn't evaluate a track condition for this profile (e.g. geography on a customer with no prior tracking events).Spotting profiles that need manual track resolution.
automation_trigger_evaluatedAn automation trigger ran for this profile.Diagnosing "why didn't my automation fire?" — the event records whether the profile enrolled and, if not, why.

Tags and custom fields

Per-funnel-link, not per-user, so the same person can be tagged differently across funnels.

  • Tags — short labels ("design-partner", "high-value") that filter the list view.
  • Custom fields — arbitrary key/value pairs you set via funnelfizz('identify', { userId, plan: 'pro' }). Surface on the detail page; queryable in splits.

Reading users via your AI agent

Two MCP tools (PRO), both read-only:

ToolWhat it returns
search_profilesPaginated user search by email or name
get_profile_journeyLatest 100 events for one user (PII redactable)

So "show me the journey for the person who just signed up" runs as one tool call. See MCP.

Privacy

Users are workspace-scoped. Deleting a user (detail page → Delete) removes the row, all identifiers, all funnel links, and every tracking event. Use this for GDPR right-to-be-forgotten requests.


Related: Tracking & identity · Conversion · MCP