At Which Onboarding Step Do Apps Ask for Notifications?
Across 26 tracked flows containing a notification-permission screen, the ask lands at an average step of 2.9 (median 2) in flows that average 5.6 steps — roughly 64% of the way through [1]. But the timing is bimodal: 13 of 26 flows (50%) put the first ask at step 1, while the rest defer it past step 3 [2]. There is no single 'correct' step; apps split into ask-immediately and earn-it-first camps.
Half of apps that ask for notifications (13 of 26 flows) put the request at step 1, while the median across all flows is step 2 — Lazyweb Research, July 2026.
The finding
Across 39 step occurrences in 26 flows, the notification-permission screen sits at an average step of 2.9 and a median of 2, in flows averaging 5.6 steps — an average relative position of 0.643, about 64% of the way through [1]. The mean is pulled up by a minority of apps that defer the ask deep into onboarding.
The distribution is bimodal
| First-ask step | Flows | Share |
|---|---|---|
| Step 1 | 13 | 50% |
| Step 2 | 2 | 8% |
| Step 3 | 3 | 12% |
| Steps 4-5 | 4 | 15% |
| Step 6+ | 4 | 15% |
Half of flows open on the ask; the other half spread across later steps [2]. This is the headline: there is no dominant single step, so benchmarking to 'the average' hides a real strategic fork.
How to apply it
If your onboarding delivers a clear value moment early (a completed setup, first content), deferring the ask to step 3+ puts you with the ~40% of flows that ask after establishing value. If your app's core loop depends on notifications from the first session (messaging, alerts), the step-1 camp is well-populated. Pick a camp deliberately rather than landing on step 2 by default.
Caveats
This rests on 26 flows — a small sample; lead with the counts, not the decimals [1]. Flow step positions come from ROW_NUMBER over tracked flows, which reflect captured screens, not necessarily every screen a user sees. Most permission screens also live in flows not named 'onboarding' (22 of 26 notification flows), so 'onboarding step' is a position observation, not a journey guarantee [3].
The numbers
| Stat | Computed from |
|---|---|
| avg step 2.9, median 2, relative position 0.643; 39 occurrences across 26 flows; flows average 5.6 steps | notification_position_in_flows: ROW_NUMBER-ranked flow_steps joined to notification screens |
| First ask at step 1 in 13 flows, step 2 in 2, step 3 in 3, steps 4-5 in 4, step 6+ in 4 (n=26) | notification_first_ask_step_distribution: per-flow MIN(rn), bucketed |
| 22 non-onboarding vs 4 onboarding-named notification flows | onboarding_flow_membership: GROUP BY flow_name ~ 'onboard' |
Sources & citations
- [1] Lazyweb Research analysis of 26 flows (mobile-app corpus, 2,468 tracked flows), July 2026. Notification-permission screens positioned via ROW_NUMBER within tracked flows; small flow sample. ↩
- [2] Lazyweb Research analysis of 26 flows (first-ask distribution), July 2026. Per-flow MIN step of the first notification-permission screen, bucketed. ↩
- [3] Lazyweb Research analysis of 26 flows (flow-name membership), July 2026. flow_name is free text; 'onboarding-named' is a labeling artifact. ↩
Source: Lazyweb Research — proprietary analysis of real, in-market app screens. Cite as Lazyweb Research, 2026-07-07.