The first five seconds decide an app’s fate. If users can’t answer “what is this?” during onboarding, they delete and walk away. Most apps lose 60% of their day-1 cohort; pulling that down to 40% is worth real effort.
Across 12 iOS apps I’ve run many onboarding patterns head to head. The A/B numbers aren’t subtle. Here’s what I’ve learned.
Day-0 vs day-1 retention
You have to understand the metrics first:
- Day-0: first install day, did they open the app?
- Day-1: 24 hours after install, did they come back?
- Day-7: one week later, still active?
A healthy app: day-1 above 40%, day-7 above 20%. My portfolio averages 48% day-1, with the best app at 68%.
Onboarding moves day-1 directly. Day-7 is a function of product value.
Login wall: the obvious killer
Worst onboarding: login or signup on the first screen. “Sign up to use this app.”
They just installed, they’ve seen zero value, why would they sign up? Day-0 drop climbs above 70%.
Better: value-first onboarding. Show what the app does, let them try a couple of features, make login optional.
In one of my apps login was the first screen and day-1 was 22%. I moved login to the final step and day-1 jumped to 46% inside two weeks.
Onboarding patterns
1. Feature tour (classic)
A swipeable carousel across 3 to 5 screens walking through features.
Pros: cheap to build, gives a product overview.
Cons: users skip most of it, learning is passive, tiny impact on retention.
I haven’t used this pattern since 2019. The modern alternatives do more work.
2. Value proposition first
One screen, the core value proposition. One or two sentences, a hero visual, a CTA.
"Track healthy habits"
[Hero image]
[Get started] buttonSimple, fast, clear. The user decides in three seconds: continue or close.
The requirement for this pattern: you can compress the core value into one sentence.
3. Goal setting
Ask the user for a goal, then tailor the app around it.
Fitness app example:
– “How many times a week do you want to work out?”
– “What kind of exercise?” (multi-select)
– “What’s your experience level?”
Every choice raises engagement and triggers sunk-cost (“I’ve already put time in, might as well try it”).
Big day-1 impact: 35% to 55% in one of my fitness apps.
4. Interactive first-use
Let the user actually use the app during onboarding. Don’t just tell or show; make them do.
Meditation app example: a 30-second guided breathing exercise inside onboarding.
- “Welcome. Try the power of meditation right now.”
- [30 seconds of audio-guided breathing]
- “How did that feel?”
- [Continue or sign up]
The user has experienced the value, not been told about it. Retention climbs.
Harder to build, but teams that pull it off land 60%+ day-1.
5. Progressive disclosure
No onboarding. The user lands straight on the home screen. Features reveal themselves via contextual tooltips as they come up.
Minimal friction. Power users love it, casual users get lost.
Works if your app is self-explanatory. In a complex app, users stare at the screen asking “now what?”
Notification permission: WHEN to ask
The most common mistake: prompting for notification permission on first launch. The user has no sense of the value yet, so they deny it. iOS won’t show that prompt twice; permission is gone for good.
Correct timing: after the user takes an action where a notification would actually help them.
Example: in a workout tracker, after they finish their first workout, “Want me to remind you about your workouts?” then request permission.
Acceptance jumped from 45% at first launch to 78% with contextual asking.
ATT (App Tracking Transparency)
iOS 14.5+ introduced a separate ATT prompt. Required for ad attribution and analytics.
Ask ATT contextually too, not at first launch. Wait until the user has two or three sessions under their belt.
Pre-prompt UI: a custom screen before Apple’s native dialog that explains why you’re asking. It improves acceptance noticeably.
Paywall placement
For freemium or subscription apps, when should the paywall appear?
Immediate paywall: subscribe screen on open. Conversion around 1 to 3%, day-1 retention collapses.
Value after wall: feature tour, paywall, app. Conversion around 5 to 10%, retention middling.
Delayed paywall: a first-time monthly paywall after a few sessions. Conversion around 3 to 7%, retention stays high.
Soft paywall: gate the feature once the free limit is hit. Conversion around 8 to 15%, retention stays high.
Best result: soft paywall plus delayed paywall combined. The user has seen the value and actually needs the feature when they’re asked to pay.
Trial: it builds trust
7-day free trial subscriptions are standard on iOS. Apple supports them natively.
Patterns:
Credit card upfront (7-day free): trial-to-paid conversion of 20 to 30%, but day-1 drop is high (handing over a card is friction).
No credit card (3-day free): Apple’s intro offer requires a card, so clean conversion numbers aren’t reported, but day-1 retention is strong.
1-day trial: some apps try it, usually too short.
14-day trials are rare (expensive B2B apps).
Personalization onboarding
Asking for info and tailoring the app produces a bundling effect.
- Display name
- Goal (weight target for fitness, niche for productivity)
- Profile photo (optional)
- Reminder preferences
Every step raises the user’s investment. It creates a “this is built for me” feeling.
Careful: a 10+ step onboarding wears users out. Five steps is the ceiling, each under 10 seconds.
A/B testing framework
Shipping onboarding without A/B testing is flying blind.
With Firebase Remote Config or a custom flag system:
if FeatureFlag.isEnabled(.onboardingVariantB) {
showOnboardingB()
} else {
showOnboardingA()
}Metrics: day-1 retention, day-7, ATT acceptance, notification permission acceptance.
Sample size: at least 500 users per variant. Less than that is statistically meaningless.
If a variant shows a clear lift (+5% or more), roll it out; otherwise, kill it.
Loading / splash screen
iOS’s launch screen is required by Apple. It can’t be animated, Apple’s rule is a static image.
The gap between the launch screen and the first useful screen has to be short. More than one or two seconds and users bail.
Pre-fetch during launch: use that one to two seconds to prefetch assets and hand off smoothly to the onboarding screen.
Skeleton UI: while content loads, show a skeleton shape instead of a blank view.
Analytics implementation
Tracking the onboarding funnel is non-negotiable:
Analytics.logEvent("onboarding_started")
Analytics.logEvent("onboarding_step_1_completed")
Analytics.logEvent("onboarding_step_2_completed")
Analytics.logEvent("onboarding_completed")
Analytics.logEvent("onboarding_skipped", parameters: ["at_step": 2])The funnel report shows exactly which step users drop at. That’s what you optimize.
Common pitfalls
1. Too many screens. 8+ onboarding screens = 70% drop-off. Three to five is optimal.
2. Buzzword-heavy copy. “Revolutionize your workflow” tells the user nothing. Ship concrete value.
3. Generic hero image. Stock photos read as low trust. Use a real screenshot or a custom illustration.
4. Mandatory login. Covered above, it’s a killer.
5. No skip option. If the user can’t skip the tutorial, they close the app.
6. Missing localization. Localize to the target market. A Turkish app needs Turkish onboarding.
Final take
iOS onboarding is the pivotal moment for retention. After weeks of feature development, one extra month on onboarding almost always pays off.
My playbook:
1. Value first, login last
2. Contextual permission requests
3. Soft paywall plus delayed subscription prompt
4. Interactive first-use when you can swing it
5. A/B test everything
6. Wire up the analytics funnel
That discipline takes day-1 retention from 35 to 40% up to 55 to 65%. It changes your acquisition economics completely.