A useful product dashboard answers a small set of recurring decisions. This guide builds an activation dashboard from an explicit event contract instead of starting with every chart type.
Define the questions#
We want to know:
- How many accounts were created?
- How many reached the activation event?
- What is the activation rate?
- Which plan or acquisition source is changing the result?
Instrument the events#
{
"event": "account_created",
"account_id": "acct_7",
"plan": "starter",
"source": "organic"
}
{
"event": "account_activated",
"account_id": "acct_7",
"plan": "starter",
"source": "organic",
"time_to_activate_seconds": 1840
}
Log account_activated once when the account first meets the documented activation definition.
Verify the contract#
In Samples:
- confirm both event names
- confirm
account_id,plan, andsourceare strings - confirm
time_to_activate_secondsis numeric - inspect several real accounts, not only test events
Build the dashboard tiles#
New accounts#
- graph: Single Line
- aggregation: Count
- filter:
event = account_created - range:
30 days ago → now - compare:
30 days ago - granularity:
Day
Activated accounts#
Use the same configuration with event = account_activated.
Activation rate#
Use Ratio Line:
- numerator:
event = account_activated - denominator:
event = account_created - aggregation: Count
- granularity:
DayorWeek
The ratio compares event counts. This is correct only when both events occur once per account. If retries or duplicates are possible, build the ratio with a SQL query using uniqExact(account_id).
Time to activate#
- graph: Single Line
- aggregation: P50
- metric:
time_to_activate_seconds - filter:
event = account_activated - granularity:
Week
Add a P90 version when the long tail matters.
Activation by source#
- graph: Bar Chart
- aggregation: Count
- split:
source - filter:
event = account_activated
Interpret raw counts alongside the number of new accounts from each source. A large source can have the most activations and still have a poor rate.
Assemble the dashboard#
Export each chart To Dashboard and arrange it in reading order:
- headline counts and rate
- trends over time
- breakdowns that explain movement
- diagnostic tail metrics
Use titles that include the grain or definition: “Weekly activated accounts,” not “Activation.”
Add context#
Document:
- the activation event definition
- the reporting time zone
- exclusions such as internal accounts
- whether counts are events, users, or accounts
- the owner of the instrumentation
- the date of any definition change
When a metric changes unexpectedly, this context is the difference between an investigation and a debate about what the chart means.
For a complete multi-tenant implementation, continue with the B2B SaaS product analytics reference architecture.