Hannah Parvaz is the founder of Aperture, a UA agency and product consultancy. She’s been working in mobile for over a decade, building flows that convert and retain. This article is based on the talk she gave during the Adapty Сonf in Warsaw. You can watch the recording on Adapty’s YouTube.
I’ve been working in mobile for more than a decade now, and if there’s one thing I’ve learned, it’s this: most companies don’t have a retention problem. They have an activation problem.
Let me explain.
Why 77% of users never come back after three days
Here’s a stat that should make every product person uncomfortable: 77% of people will never come back to your product after three days of downloading your app.

Three days. 72 hours. That’s all the time you get before users have decided they never want to see you again.
We spend months building features, perfecting our product, and iterating on functionality. And then people download it, take one look, and ghost us forever.
This tells me something important: when companies come to me saying, “We have a retention problem,” I usually find they’re looking in the wrong place. You can’t retain someone who was never activated in the first place. The product was never sticking because it never got stuck to begin with.
How good onboarding impacts your bottom line
Here’s the beautiful cycle of onboarding optimization: the better your onboarding flow performs, the more efficiently you’re operating. The more efficient you are, the more time you have to spend talking to customers. The more you talk to customers, the better your flows become. Better flows mean better activation. Better activation means better retention.
And better retention? That means more money.
I’m not being vague here. A good onboarding flow can have an impact of more than 50% on your retention.
At one company I worked with, we focused exclusively on onboarding optimization. First experiment, second experiment, 25th experiment, 27th experiment. By the time we hit experiment 27, things really took off. These minor tweaks added up to a 59% increase in MRR — not by changing our advertising or optimizing the app store listing, just by tweaking the onboarding: same traffic volume, massively different outcomes.

Why you should think of onboarding like a blind date
When I think about onboarding flows, I think about blind dates.
You know how blind dates work, right? You get a little bio, maybe a name, sometimes not even that. You show up knowing almost nothing about this person. That’s exactly how your users feel when they download your app.
So I asked ChatGPT what makes a good first date. Here’s what our AI friend told me:
- Clear communication – Are we doing that in our onboarding?
- Learn about each other – We have to understand who this person is
- Tailor the experience – Customize based on their interests and preferences
- Create reliability – Be honest, transparent, and respectful
That last one is crucial. Building trust is the entire goal of your onboarding.
We have to remember the context here. A lot of people download apps while they’re on the toilet, scrolling between meetings. They see an ad, they download, they forget to open it. There’s a 20% drop-off between download and first app open. When people finally come back to your app days later, they might not even remember what it is from just a little logo on their screen.
This is why we need to focus on reducing anxiety and boosting product engagement from the very first moment.
Stop being so pushy with permissions
I need to talk about permissions because I see so many apps getting this wrong.
I downloaded one app recently, and here’s what happened: I opened it and immediately got hit with ATT (App Tracking Transparency). Before I could even respond to that, I needed location permission. On top of that, push notifications. Stack, stack, stack. All system pop-ups.
It was overwhelming.
Obviously, sometimes your app needs permissions to function. But let’s ask for them in a nice way. Stop being so pushy so early. Don’t ask for so much so soon.
The ATT exception: Put it first
ATT is three years old now, and I still have apps coming to me saying, “We’re not getting our opt-ins.”
My first response? Put it right at the beginning.
I know this goes against everything I just said about permissions, but ATT is different. Here are two messages I literally received in the last couple of weeks from different companies:
“Btw, I was going to mention to you that we took your advice of moving the ATT prompt to the first app open moment, and were able to more than double our opt-in rate from about 6% to 15%. That probably won’t surprise you, but I figured the least we could do was give you another data point. Thanks for the tip!”
“Onboarding and trial starts were the same on both treatments. However, showing the ATT prompt right at the start increased the acceptance rate from 8% to 13%.”
By putting ATT at the very beginning, without even a pretty custom request screen, you won’t have any negative impact on conversion, engagement, or retention. But you will basically double your opt-in rate. There’s no downside here. Just think of it like a cookie banner and get it over with.
Every other permission? Be polite. ATT? Just do it.
The 5 principles of onboarding flows that convert
Whenever you’re building or optimizing an onboarding flow, make sure it’s anxiety-busting. This means it has to be:
- Simple
- Educational
- Personalized
- Trust-building
- Engaging
And you need to do all of that while also tracking everything and optimizing continuously.
Let me break these down with real examples.
1. Make it simple: 87% leave because it wasn’t clear
Here’s a stat that should scare you: 87% of people have left an onboarding flow because it wasn’t clear to them.
Photoroom is a perfect example of doing this right. They have this amazing functionality that automatically cuts you out of a photo and puts you on a transparent background. During onboarding, they actually demonstrate this feature with your own image. They guide you through the main reason people download the app. It’s straightforward, it’s simple, and you immediately understand the value.
2. Educate people on why you’re asking
Teach potential subscribers about your product’s values and benefits. Communicate clearly why you’re asking for things.
Hily has a great example of this. When they ask about notifications, they don’t just show a system prompt. They ask: “What notifications would you like to receive? Only important ones or all notifications.”
I’m sorry, Hily, but copy this. You don’t need to reinvent the wheel here.
3. Personalize for everyone (yes, really)
Nebula does personalization fantastically. I went through their onboarding and selected “be prepared for the future” as my goal. The way they formatted the entire experience around that choice was impressive. I actually went back and tried different options to see how they personalized each path.
This reminds me of a story. I was working at a subscription app a few years ago where the founder thought it was totally fine to ask for an email address and phone number, but thought asking for someone’s name was “too personal.”
I started running secret experiments with the developers (yes, I was literally conspiring with my devs). We added a name field to the onboarding. We didn’t even use it. We didn’t database it. We just wanted to see what would happen.
And what we saw was a 13% uplift in activation, just by asking for the name. We had higher conversion and higher retention from perceived personalization. We were just being friendly.
Eventually, because of these stats, the founder decided that yes, he would make more money by being friendly. So we rolled it out to everyone.
4. Build trust constantly
Social proof. Testimonials. Progress bars. Accolades. Trust, trust, trust, trust, trust.
Zing is absolutely smashing this. As you scroll, their onboarding shows “Trusted by 600,000 people” with testimonials, quotes, and accolades. It’s social proofing 101, and they’re executing it perfectly.
5. Create positive friction (yes, friction can be good
Download an app called Spark. It’s a gratitude app, and they do something brilliant in their onboarding.
Before you even create an account, they ask you to write something you’re grateful for. Then you have to hold down a button. As you hold it, you get haptic feedback. Stars explode. It tells you “well done.”
This pause — this moment of positive friction — is perfect for a meditative app. You have to stop, break, and think about what you’re grateful for. It’s not a typical “sign up and give us your money” flow. It’s building a relationship immediately. It’s making you feel something.
That’s engagement.
Why tracking isn’t optional
I worked at a company once where the CTO genuinely believed it wasn’t important to track things. He thought we only needed to track first app open, complete sign-up, trial start, and conversion. That’s it.
I had to beg to track the individual button that literally closes. “Please, can we track the closing of this button?” I had to go around talking to developers, founders, content people, explaining why we need to understand where drop-offs happen.
Here’s the thing: how else will you know you’ve achieved a 2.5x increase in conversions unless you’re tracking it?
I recently started working with an app that’s grown entirely organically to millions in revenue through YouTube alone. They’ve never done any marketing. And they’ve never tracked anything. Now they want to optimize their flows, and they have no historical data. Nothing. It’s all been through the App Store.
Three simple steps to start tracking
1. Choose your tool
Pick your analytics platform. There are many, but Mixpanel or Amplitude are two of the simpler, more accessible, and more intuitive options to get started with. Adapty also integrates with both of these platforms: Mixpanel and Amplitude.
2. Build a tracking map
Create a literal document showing what you want to track, the event properties, the reasons you need them, and the triggers. Just conveying that you have a plan will get you a long way with your developers.
3. Ask your developer nicely
Shout-out to all the developers who handle our constant requests. They’ll help you if you ask nicely. Tracking is vital.
The power of continuous experimentation
Remember that 59% MRR increase I mentioned? That took 27 experiments. You don’t stop after one experiment shows a 2% uplift. You keep going. You drive more value.
At one company, we changed the copy on the paywall button. That’s it—just the button text.
When it said “Subscribe”, we had a 3% registration-to-trial rate.
When it said “Start your 7-day free trial”, we had a 27% registration-to-trial rate.
Test and learn. Feel like a detective uncovering clues. Every single thing you do should have a purpose. What am I learning from this? How am I scaling this?
Does onboarding length actually matter?
It’s not about length, it’s about how you use it.
A founder of a kids app (well, a parent app for kids) told me: “We actually tested a competitor’s really long, engaging onboarding flow. Our short onboarding seems to be outperforming in terms of install-to-paid.”
Sometimes long-winded onboarding gets that initial conversion because you’ve tricked someone into it. They’ve gone through all these steps and then “Oh, pay $1 to see the answers.” But you might have tricked them into that conversion.
Sometimes being upfront, communicative, and honest, and building trust in a short, concise way, leads to better install-to-paid conversion. Shorter onboarding flows can be just as effective.
Key takeaways: What you need to remember
Let me leave you with the essentials:
- Shorter onboarding flows can also be effective – Don’t assume longer is always better
- Optimizing onboarding directly impacts retention – This isn’t just a nice-to-have, it’s revenue
- Use custom screens before system dialogues (except with ATT) – Build context before asking
- Always ask for ATT on first launch – Unless you’re spending Duolingo-level money, just put it first
- Experiment and iterate continuously – That 27th experiment might be your breakthrough
- Track everything – You can’t optimize what you don’t measure
The best thing you can do right now? Delete your app. Download it again. Go through your own onboarding flow. See how you feel.
That’s where real insight starts.





