Metric · Marketing

What is activation rate, and how do you measure it in Metabase?

Activation rate is the share of new signups who reach your product's value moment — created a first project, invited a teammate — within a defined window. It's the bridge metric between marketing and product: signups measure what marketing delivered, activation measures whether those users got anywhere. Measure it in Metabase from event data synced from Amplitude, PostHog, or Mixpanel.

TL;DRactivated_within_window / signups, per signup cohort. Pick an activation event validated against retention, fix a window (7 or 14 days) so cohorts compare, and segment by acquisition channel — that's where marketing learns which channels send users who stick.

What activation rate measures

Whether new users cross from signed up to getting value — the step where most funnels quietly leak. Defined well, it's the earliest reliable predictor of retention: the activation event should be a behavior that demonstrably separates users who stay from users who churn, found by correlating early actions against retention, not chosen in a meeting. Time-in-app and session counts don't qualify — activity isn't value.

Segmented by acquisition channel, it becomes marketing's quality metric. Two channels with identical CAC and very different activation rates have very different real costs — and the channel review that includes activation stops rewarding cheap signups that go nowhere.

What data does it need?

  • A stable user ID and a signup_at timestamp — the cohort anchor.
  • An activated_at timestamp: the first occurrence of the activation event per user, materialized from the product-events stream.
  • Acquisition channel on the user record, captured at signup from UTM parameters or an attribution tool.
  • Identity resolution that survives the anonymous-to-identified merge, so pre-signup events attach to the right user.

SQL patterns

Activation rate by weekly signup cohort (7-day window)PostgreSQL
SELECT
  date_trunc('week', signup_at) AS signup_week,
  COUNT(*) AS signups,
  COUNT(*) FILTER (
    WHERE activated_at IS NOT NULL
      AND activated_at <= signup_at + INTERVAL '7 days'
  ) AS activated,
  ROUND(
    100.0 * COUNT(*) FILTER (
      WHERE activated_at IS NOT NULL
        AND activated_at <= signup_at + INTERVAL '7 days'
    ) / COUNT(*), 2
  ) AS activation_rate_pct
FROM users
WHERE signup_at >= CURRENT_DATE - INTERVAL '6 months'
  AND signup_at <= CURRENT_DATE - INTERVAL '7 days'
GROUP BY 1
ORDER BY 1;
Activation rate by acquisition channel (trailing 90 days)PostgreSQL
SELECT
  acquisition_channel,
  COUNT(*) AS signups,
  COUNT(*) FILTER (
    WHERE activated_at IS NOT NULL
      AND activated_at <= signup_at + INTERVAL '7 days'
  ) AS activated,
  ROUND(
    100.0 * COUNT(*) FILTER (
      WHERE activated_at IS NOT NULL
        AND activated_at <= signup_at + INTERVAL '7 days'
    ) / COUNT(*), 2
  ) AS activation_rate_pct
FROM users
WHERE signup_at >= CURRENT_DATE - INTERVAL '90 days'
  AND signup_at <= CURRENT_DATE - INTERVAL '7 days'
GROUP BY 1
ORDER BY signups DESC;

Pitfalls

Choosing an activation event nobody validated.→ An event picked by intuition measures intuition. Correlate candidate behaviors against retention first — if "activated" users churn at the same rate as everyone else, the metric is decoration.
Moving the definition and breaking trend lines.→ Changing the event or the window creates a step change that reads as a product win or crisis. When the definition must change, backfill history under the new definition or annotate the break — never splice.
Measuring on all users instead of new cohorts.→ "Share of all users who ever activated" mixes this week's signups with three-year-old accounts and moves glacially. Activation is a cohort metric: each signup week gets its own rate, measured after its window closes.
Ignoring identity merges.→ If anonymous pre-signup activity doesn't merge into the identified user, activation events land on orphaned IDs and the rate under-counts. Verify the anonymous-to-identified merge in your analytics pipeline before trusting the number.

Where this metric applies

Metrics

Dashboards

FAQ

How do you calculate activation rate?
New users who reached your product's value moment, divided by all signups in the same cohort, within a fixed window: activated_within_7_days / signups. Three decisions define it — which behavior counts as activation, how long users get to do it, and which signup cohort you're measuring. Fix all three and hold them steady, or the trend line stops meaning anything.
What should count as the activation event?
A behavior that predicts retention — validated, not guessed. Pull retained and churned users from your product analytics, then look for the early actions that separate them: created a first project, invited a teammate, connected a data source. Tools like Amplitude and PostHog make that correlation analysis straightforward. What doesn't work is time-in-app or session counts — users can be busy without ever reaching value. Check the candidate event against your churn rate by cohort: if activated users don't retain better, you picked the wrong event.
What window should activation use — 7 or 14 days?
Whichever matches your product's natural time-to-value — 7 days suits self-serve products with fast setup, 14 (or more) suits products needing data syncs or team coordination. The specific number matters less than fixing it: a windowed rate is what makes cohorts comparable, since every cohort gets exactly the same amount of time. And exclude cohorts younger than the window from reporting — a 3-day-old cohort measured on a 7-day window is guaranteed to look bad.
Why segment activation by acquisition channel?
Because activation is the bridge between marketing and product — it tells you which channels send users who actually reach value, not just users who sign up. A channel with cheap signups and 5% activation is more expensive than it looks; fold activation into CAC thinking and cost per activated user reorders the channel ranking. Store the acquisition channel (from UTM parameters or an attribution tool like AppsFlyer) on the user record at signup, then group the activation query by it.
How do you track activation rate in Metabase?
Sync users with signup_at, activated_at (first occurrence of the activation event), and acquisition channel from Amplitude, PostHog, or Mixpanel into a SQL database, then chart the windowed rate by weekly signup cohort and by channel. Pin it between the marketing funnel and the product retention dashboard — it's the metric that connects them.