The B2B problem person-level analytics doesn't solve
A B2C product's unit of analysis is usually the individual user. A B2B product's actual unit of analysis is often the account or organization - a deal expands or churns at the account level even though individual users generate the events. Analyzing B2B usage purely at the person level under-counts account health: one power user staying highly active can mask five other seats going dark, and neither shows up clearly in a person-level funnel.
What B2B mode and the customer-analytics layer add
| Capability | What it's for |
|---|---|
| B2B mode (group-level analytics) | Rolling up person-level events to the account/organization they belong to, so usage, retention, and funnels can be analyzed at the account level, not just per-user |
| Customer journeys | Defining and tracking the sequence of milestones an account moves through - onboarding, activation, expansion - as a structured object rather than an ad hoc funnel rebuilt each time someone asks |
| Customer profiles | A consolidated view of one account's usage, health signals, and journey stage in one place, instead of a person-level profile that only shows one seat's activity |
| Dashboard metrics | Metrics defined against the account-level model, so a health-score or usage dashboard reflects the same rollup as the rest of customer analytics rather than a separately-maintained person-level version |
Cohorts and property filters underneath it all
Account-level analysis still depends on getting person and group properties right at the event level - which account a user belongs to, their role, their plan tier. Cohorts and property filters are how you slice the account-level views (accounts on a specific plan, accounts past a certain usage threshold), and they only produce correct results if those properties were captured consistently in the first place. This is event-architecture work, not a dashboard-configuration task.
How to verify it worked
- Pick one known account with multiple users and confirm its rolled-up usage in B2B mode matches the sum of what you'd expect from each user's individual activity - a broken group-identify call produces a rollup that silently under-counts.
- Walk one account through a defined customer journey milestone and confirm it advances stage correctly in the journey view.
- Check a customer profile against the account's actual known state (a real support ticket, a real usage pattern you already know about) rather than trusting the dashboard on faith the first time.
- Confirm a cohort built on account-level properties returns the accounts you'd manually identify as matching - test against a known list, not just a plausible-looking count.