Rebuilding SaaS onboarding around the first real outcome
A guided first-run experience that gets a new user to a real outcome before they hit a paywall — instrumented so the team can see where people stop.
- Client
- B2B SaaS startup (NDA)
- Industry
- B2B SaaS
- Services
- Custom software, Web2 growth systems
- First run
- Guided setup, not an empty dashboard
- Instrumentation
- Step-level funnel, not a single drop-off
- Prompt
- Upgrade after a real outcome
A B2B SaaS team had a healthy top of funnel and a leaky bottom. People signed up, poked around, and left before they ever saw the product do its job. Marketing was filling the bucket; the bucket had a hole in the onboarding.
The problem
The signup flow ended where the hard part began: a new user landed on an empty dashboard with no data, no momentum, and no obvious next step. The team could see drop-off in aggregate but could not see where people gave up, so every fix was a guess.
- Empty-state problem. The product only became valuable after setup work the user had not done yet.
- No instrumentation. Drop-off was a single count, not a funnel — there was no way to know which step lost people.
- Value came too late. Users hit the paywall mentally long before they hit a reason to pay.
What we built
- A guided first run that does the boring setup for the user — importing or seeding real data — instead of handing them a blank canvas.
- Milestone instrumentation on every step, turning a single drop-off count into a funnel the team can read and act on.
- A progress model that nudges users toward the one action most correlated with staying, then gets out of the way.
We deliberately resisted adding a product tour. Tours explain the UI; they do not deliver value. Instead we redesigned the flow so the first session produced something the user wanted to keep — a populated dashboard, a first report, a real outcome.
How we approached it
We instrumented before we redesigned. The first ship was tracking only, so the team could see the real funnel and rank the drop-off points. That made the redesign obvious: a handful of specific steps were losing most users.
From there we shipped one step at a time and watched the funnel. Because every change was visible in the same instrumentation, scope debates ended quickly — we kept what moved people through and cut what did not.
What we will not claim
No trial-to-paid lift, no time-to-value cut, no support-ticket reduction. Those numbers are not in this repo and are not ours to publish. The public claim is the system: a first run that produces a real outcome, and a funnel the team can keep reading after we leave.
Leaking users in onboarding? Start a build or explore our growth systems work.
Built with
- Next.js
- TypeScript
- PostgreSQL
- Node.js