DocsGuides

Guides

Build a product dashboard

2 min readReviewed July 2026

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:

  1. How many accounts were created?
  2. How many reached the activation event?
  3. What is the activation rate?
  4. 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, and source are strings
  • confirm time_to_activate_seconds is 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: Day or Week

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:

  1. headline counts and rate
  2. trends over time
  3. breakdowns that explain movement
  4. 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.

Need a hand?

Tell us what you’re building and we’ll point you in the right direction.

Contact support