How we cut our onboarding from 12 steps to 3
What we learned by watching 40 new users get stuck, and the small changes that fixed it.
Last spring, only 38% of new sign-ups finished setting up their workspace. We knew onboarding was too long. We didn't know which parts mattered.
Why three steps?
We set ourselves a deliberately silly target: get any new user to their first useful report in under three minutes. Anything that didn't help with that goal had to earn its place, or go.
That meant questioning screens we'd stopped seeing, like the "tell us about your company" form that fed a CRM nobody looked at.
"The best onboarding step is the one you delete."
A sticky note that's been on our wall since April
What we measured
We tracked three numbers each week: time to first report, setup completion and seven-day return rate. We also sat beside 40 new users, with permission, and simply watched.
- Average setup time dropped from 11 minutes to 2:40.
- Completion rose from 38% to 71%.
- Seven-day return rate improved by 19 points.
Tip: Watching five users finds most of the problems. You don't need a research team to start.
The changes that worked
Most fixes were small. We pre-filled settings with sensible defaults, moved team invites to after the first report, and replaced a 6-field form with one question:
// The only required onboarding question
const goal = await ask('What do you want to track first?', ['Revenue', 'Signups', 'Support'])
createStarterReport(goal)
What we'd do differently
We'd start watching users sooner. Every week we spent debating in meetings was a week the data could have settled the argument for us.