Onboarding onto new services should be super easy.
But most product teams build long, complicated flows that drop new users.
I regularly coach founders on how to do this better.
Here are 5 tips to create onboarding flows that actually work:
—
1/ Keep it short + set expectations
Clearly communicate how many steps are in your onboarding flow.
Target no more than 5 steps.
Common ways to show the number of steps in a flow include:
Progress bars
Numbered steps
Step 1 of N

—
2/ Show progress
Show people where they are in the flow.
How far have they come/How far do they have to go?
Keep it simple.
These should just orient people and keep them motivated to complete the onboarding.

—
3/ Provide one clear way to proceed
Ask for only one action at a time.
Do not bury steps inside of steps.
Keep the ‘next’ button disabled until the action is complete.

—
4/ Provide a consistent way to exit
Nobody wants to feel locked into an onboarding flow.
Front load the most important information.
Build a consistent ‘ejection seat’ for every step of the flow.
Common patterns are an X in the upper right corner or a “Skip” link.
Clearly communicate if onboarding is mandatory to interact with your product.

—
5/ Be concise
Generally it’s easy to cut ~50% of text from the first versions of onboarding flows.
User attention and space are limited. Do not over-explain things like:
Usage terms for each setting
Caveats to selections
Implications of options
You can use things like hover states or “i” icons to help users understand trickier options.
—
Caveat: If you aren’t sure if you need an onboarding flow, skip it.
You only need an onboarding flow if your product:
Is complex
Is a completely new paradigm
Requires specific selections before a user can meaningfully interact with your product e.g., Setting access controls for your health data, Choosing what language to learn in Duolingo.
—
Your goal is to quickly set people up to use your app.
These 5 tips will help you design clear, concise onboarding flows that work:
Keep it short + set expectations
Show progress
Provide one clear way to proceed
Provide a consistent way to exit
Be concise
For more content on design for founders, follow @elizlaraki
