---
title: "User onboarding metrics: the seven numbers that show it works"
description: "Seven user onboarding metrics for an e-commerce app, how to instrument each in PostHog, the verified benchmarks that exist, and what to do when one is bad."
topic: "Activation and time to value"
date: 2026-10-13
updated: 2026-10-13
author: "Geetansh Saini"
url: https://www.geeetansh.com/guides/onboarding-metrics
tags: ["onboarding metrics", "product analytics", "activation"]
---
# User onboarding metrics: the seven numbers that show it works

**In short:** Seven onboarding metrics cover an app from install to the end of the first week: install-to-setup rate, time to first value, activation rate, checklist completion, day-7 return, first-week uninstall rate and support tickets per install. Each is a funnel, a retention insight or a ratio you can build in PostHog, aggregated per store. Public benchmarks exist for a few of them, from Userpilot's 2025 report, and they are averages across SaaS companies that each define the metric their own way.

## Why these seven, and why per store?

Each metric answers one question about one stage, in order. Did the merchant finish setup? How fast did they see something? Did the app produce a result? Did they finish what we asked? Did they come back? Did they leave? Did they need help? Together they tell you where in the first week the install went wrong, which is what you need in order to decide what to fix.

Two rules before any of them. Count stores, not users. A Shopify store with three staff accounts is one customer, and the store is what uninstalls. In PostHog that means [group analytics](https://posthog.com/docs/product-analytics/group-analytics), which aggregates "trends, funnels, retention, and stickiness by group" once you call `posthog.group('store', shop_id)` on the client. And report by install week. A single rolling number hides the week you changed the first screen.

## What does each metric mean and how do you instrument it?

### 1. Install-to-setup rate

The share of installs that complete the one setup step that makes the app work, such as creating the first program or connecting the seller account. Not the whole checklist. The one step.

In PostHog: a funnel from the install event to `setup_completed`, aggregated by store, with a seven-day conversion window. Watch the first-session number separately, because a merchant who finishes setup on day 4 was pulled back by something, not carried by the first screen.

No verified benchmark. If it is lower than you want, the setup step is asking for something that could be a default. Cut fields and set defaults before you touch anything else.

### 2. Time to first value

The median time from install to the first thing the merchant sees that is true about their store, such as "412 customers ordered twice in the last 30 days" or a live widget on their theme. This is the first on-screen result, not the activation event.

In PostHog: the same funnel, switched to the time to convert graph, which the [funnel docs](https://posthog.com/docs/product-analytics/funnels) describe as showing "steps with the highest friction." Read the median, not the mean, because a few merchants who came back weeks later will drag the mean out.

Userpilot's [2025 benchmark report](https://userpilot.com/saas-product-metrics/) gives a time to value average of 1 day, 12 hours and 23 minutes, and a median of 1 day, 1 hour and 54 minutes, across 62 B2B companies using its dashboards. Its definition is "how quickly the product can deliver its promise," which each company set for itself. For an app installed from an app store I treat anything longer than a session as a problem. The guide on [time to value](/guides/time-to-value-saas) covers how to shorten it.

### 3. Activation rate

The share of installs that reach the first real result in the merchant's business within about 14 days: first affiliate joined, first referred order, first recovered cart. The activation event sits later than setup and later than time to first value.

In PostHog: a funnel from install to the activation event, aggregated by store, with a 14-day window, broken down by install week. Turn on the option to hide incomplete periods so the current fortnight does not read as a collapse. The funnel docs describe it as excluding periods "where the full conversion window hasn't elapsed yet."

Benchmark: Userpilot's report puts the average at 37.5% and the median at 37.04% across 62 B2B companies, each with its own definition. If yours is low and install-to-setup is fine, the leak is between setup and result, which is the most common place for an app to lose merchants. The guide on [SaaS activation rate](/guides/saas-activation-rate) goes deeper.

### 4. Checklist completion

The share of stores that completed every item in the onboarding checklist, and, more usefully, the completion rate per item.

In PostHog: one event per item, `checklist_item_completed` with an `item` property, then a trend broken down by item and a funnel in the order the items appear. The per-item view tells you which step merchants skip. The total on its own tells you almost nothing.

Benchmark: Userpilot's report gives an average of 19.2% and a median of 10.1% across 188 B2B companies. Those are low, and they say more about checklists than about the companies. An eight-item checklist in setup order will have a low completion rate anywhere. The guide on [onboarding checklist design](/guides/onboarding-checklist-design) covers ordering by value instead, and dropping items that could be defaults.

### 5. Day-7 return

The share of stores that opened the app again between day 2 and day 7 after install. It measures whether there was a reason to come back, which is a different question from whether setup worked.

In PostHog: a [retention insight](https://posthog.com/docs/product-analytics/retention) with install as the start event and `app_opened` as the return event, set to first-time retention and aggregated by store. Break it down by whether the store hit the activation event. That is the comparison that matters.

The nearest public number is Userpilot's month-1 retention, 46.9% average across 83 B2B companies, which is a longer window and counts users, so it is a loose reference at best. If day-7 return is low even among stores that activated, the app is not telling them when something happens. A notification with the order number beats a count on a dashboard.

### 6. First-week uninstall rate

The share of installs that uninstalled within seven days. Shopify's `app/uninstalled` webhook, per its [webhook topic reference](https://shopify.dev/docs/api/admin-graphql/latest/enums/WebhookSubscriptionTopic), "occurs whenever a shop has uninstalled the app," so record it as an event against the store.

In PostHog: a funnel from install to `app_uninstalled` with a seven-day window, broken down by whether the store reached setup and whether it reached the result. Three populations come out: left before setup, left after setup without a result, left after a result. Each has a different fix, and the guide on [reducing Shopify app uninstalls](/guides/reduce-shopify-app-uninstalls) covers all three.

No verified benchmark. Your own number by install week, split those three ways, is the one to manage.

### 7. Support tickets per install

Tickets opened by stores in their first 14 days, divided by installs in the same period. A high number is not a support problem. It is a list of screens that did not explain themselves.

Instrument it by tagging every ticket with the store ID and sending a `support_ticket_created` event to PostHog with the ticket category, or by joining your helpdesk export to installs in a warehouse. Then read the tickets, not just the count. I sat in the support queue before I designed the product, and the tickets from a merchant's first week are the most specific design brief you will get.

No public benchmark exists, and one from another product would not transfer.

## Which onboarding benchmarks are actually verified?

| Metric | Source | Sample | Average | Median |
|---|---|---|---|---|
| Activation rate | Userpilot 2025 | 62 B2B companies | 37.5% | 37.04% |
| Checklist completion | Userpilot 2025 | 188 B2B companies | 19.2% | 10.1% |
| Time to value | Userpilot 2025 | 62 B2B companies | 1d 12h 23m | 1d 1h 54m |
| Month-1 retention | Userpilot 2025 | 83 B2B companies | 46.9% | 45.25% |

All four come from the one report linked above, built from first-party data across 547 companies on Userpilot's platform, with each metric drawn from the subset that uses that dashboard. Every company defined activation and value its own way. I could not verify a public benchmark for install-to-setup, first-week uninstalls or tickets per install, and none specific to Shopify apps or TikTok Shop seller tools. Use the table as a sanity check, then compare against your own number last month.

## What do you do when a metric is bad?

| Metric | Most likely cause | First thing to change |
|---|---|---|
| Install-to-setup | Setup asks for something that could be a default | Cut fields, set defaults, one step before the result |
| Time to first value | First screen shows nothing about the merchant's store | Use order, product or customer data before asking anything |
| Activation rate | Setup done but no path to the result | Name the missing step in the app and in one email |
| Checklist completion | Too many items, in setup order | Reorder by value, drop items that are defaults |
| Day-7 return | Nothing new to see | Notify on the first result with the real number |
| First-week uninstalls | Depends on which of the three populations | Split by setup and result before changing anything |
| Tickets per install | A screen that does not explain itself | Read 50 tickets, cluster them, fix the top cluster |

Change one thing per install cohort, then wait for the window to close before reading the number. Two changes in one week give you a number you cannot attribute.

## Where to start

1. Send install, setup complete, first value, activation, app open, uninstall and ticket events per store, with the store ID on every one.
2. Build the install-to-activation funnel with a 14-day window by install week, and switch to time to convert for the first-value step.
3. Build the day-7 retention insight per store, broken down by activated or not.
4. Record the `app/uninstalled` webhook as an event and split first-week uninstalls three ways.
5. Pick the worst stage, change one thing, and read the next cohort.

## Frequently asked questions

### What are the most important user onboarding metrics?

For an app installed from an app store: install-to-setup rate, time to first value, activation rate, checklist completion, day-7 return, first-week uninstall rate and support tickets per install. Activation rate and first-week uninstalls are the two I would watch weekly, because together they say whether the product worked and whether the merchant stayed.

### What is a good activation rate for onboarding?

Userpilot's 2025 benchmark report gives an average of 37.5% and a median of 37.04% across 62 B2B SaaS companies, each with its own definition of activation. Treat it as a sanity check. Your own activation rate by install week, measured per store with a 14-day window, is the number to manage.

### How do you measure onboarding in PostHog?

Funnels for install-to-setup, time to first value, activation and uninstalls, a retention insight for day-7 return, and a trend by item for the checklist. Aggregate all of them by a store group rather than by user, and report by install week.

### Should onboarding metrics be measured per user or per account?

Per account, which for a Shopify app means per store. Several staff members can log in to one store, and the store is the unit that pays, churns and leaves a review. PostHog's group analytics does this for funnels, trends and retention.
