Your Setup Wizard Is a Toll Booth: A P0/P1/P2 Audit Walkthrough
Your Setup Wizard Is a Toll Booth: A P0/P1/P2 Audit Walkthrough
Most SaaS onboarding problems aren't design problems. They're a sequencing problem: you're charging users a toll — in clicks, decisions, and permissions — before the product has paid them anything back.
Below is the exact audit I run on that stretch of the funnel, applied to a realistic product. Not a checklist. A walkthrough with real findings, real severity calls, and one before/after rewrite you can copy the logic from.
What "pre-value setup" means — and why it's the first place to audit
Pre-value setup is every screen between signup and the first moment the product does the job the user came for. For an invoicing tool, that's the first invoice sent. For a reporting tool, it's the first report generated. For a scheduling tool, it's the first booking link shared.
If you can't name that moment in one sentence, stop reading and go name it. You don't have an onboarding flow — you have a form with a logo on it.
Here's our example: Cadence, a six-person SaaS that builds client reports for small agencies. The flow after signup:
- Step 1: "What's your role?" (5 radio options, required)
- Step 2: "What do you want to track?" (14 checkboxes, required)
- Step 3: Connect Google Ads (OAuth, required)
- Step 4: Choose a report template (9 options, no preview)
- Then: an empty dashboard
The first value moment is "a draft report exists." Everything before that is a toll booth. Now let's rank what's actually costing them.
The severity ladder: how I define P0, P1, and P2 in an onboarding audit
Severity is about user cost, not engineering effort. A two-hour copy change can be P0 if it sits in front of the value moment. A two-week redesign can be P2 if nobody notices it.
- P0 — costs the user their first value moment. Either it blocks it outright (a dead end, a hard requirement with no escape hatch, an empty state with no next action), or it stands between the user and that moment while returning nothing. Fix: delete, defer, or default it.
- P1 — costs the user confidence or effort right before the value moment. Unexplained permissions, jargon, no progress signal, a decision the user isn't equipped to make yet. Fix: rewrite, reorder, or add an escape hatch.
- P2 — costs nothing measurable. Spacing, icon style, tooltip wording, transition animation. Ignore until your P0 count is zero.
The opinionated part: most "onboarding redesigns" I see on small teams are 90% P2 and 0% deletion. They polish the toll booth instead of removing it.
The walkthrough: auditing Cadence's 4-step wizard
Step 1 — "What's your role?" → P0. Five radios, required, and the answer changes one dashboard label you could infer from the email domain or ask later in-app. This step exists for the vendor's segmentation, not the user's outcome. Delete it. If sales genuinely needs the data, ask it after the first report is generated, when the user has a reason to keep going.
Step 2 — "What do you want to track?" → P0. Fourteen checkboxes before the user has seen a single screen of the product. The screen even says "you can change this later," which is an admission that the question doesn't matter yet. Default to the three most common channels, ship the report, let them edit it once they can see what they're editing.
Step 3 — Connect Google Ads → P1, not P0. This one is genuinely required — it's what produces the report. But the screen says only "We need access to your account to generate reports," which is a trust problem, not a friction problem. Fix the copy (below) and add a "use sample data instead" link for people who aren't ready to authorize. That link is the difference between a P1 and a P0.
Step 4 — Choose a template → P1. Nine thumbnails, no preview, no default. The user is being asked to make a design decision with zero information about what the output looks like. Generate with a sensible default and offer "try another template" on the result page, where the choice is actually informed.
The missing screen → P0. After step 4, the user lands on an empty dashboard. No report, no next action, no explanation of what to do next. Whatever activation you built in the first four steps dies here. If you fix one thing this week, fix this one.
Two more findings worth logging: there's no progress indicator across the four steps (P1, guidance/feedback — users can't tell if this is 4 screens or 40), and the step-1 radios are styled as a long vertical list with no hierarchy (P2, hierarchy — real, but not worth a sprint).
If you'd rather not sit and argue about which of these is P0 with your cofounder, run a free audit on your signup flow and let it rank the findings for you. It's faster than a whiteboard debate and considerably less emotional.
The before/after: rewriting step 2 so it stops asking and starts delivering
This is the rewrite that does the most work, because it converts a question into an offer.
Before
Tell us about your workflow Select the channels you want to report on. You can change this later in Settings → Integrations. [ Continue ]
After
Build your first client report We'll pull the last 30 days from Google Ads and have a draft ready in under a minute. You can add channels after you see it. [ Build my report ] Skip — just show me a sample
Why this works, point by point:
- Clarity: the headline names the artifact ("client report"), not the user's internal workflow. People don't want to describe themselves; they want the thing.
- Guidance: the button repeats the headline's verb. "Continue" tells the user nothing about what happens next; "Build my report" is a promise with a deliverable attached.
- Friction: the 14-checkbox decision is gone. It's replaced by a default plus an edit path that only becomes meaningful after the user sees output.
- Trust: the escape hatch ("just show me a sample") removes the fear of committing to the wrong setup.
The same logic applied to step 3's OAuth screen:
Before: "We need access to your account to generate reports." / [ Connect Google Ads ]
After: "We can see your campaigns and spend. We can't change bids, budgets, or creative. Revoke access anytime in Settings." / [ Connect Google Ads — read-only ]
Same integration. Same permission scope. One sentence of specificity about what you can and can't do, and the objection disappears before it forms.
A 5-day playbook for shipping the P0s without a redesign
You don't need a design system or a research budget. You need five days and the discipline to not touch P2s.
- Day 1 — Watch five sessions. Screen recordings of real signups, not your own. Tag every moment where the user pauses, backtracks, or opens a new tab. Those are your candidates.
- Day 2 — Classify, don't prioritize. Put every finding into P0/P1/P2 using the definitions above. Do it before you estimate effort, or you'll unconsciously downgrade the expensive fixes.
- Day 3 — Ship the P0 deletion. In Cadence's case: kill step 1, default step 2. Deletions don't need an A/B test. Nobody has ever churned because you stopped asking their job title.
- Day 4 — Rewrite the one screen that now sits in front of the value moment. Headline names the artifact, button repeats the verb, escape hatch underneath.
- Day 5 — Fix the landing state. Whatever screen the user hits after setup has to contain either the output or an obvious next action. An empty dashboard is a P0 no matter how nice the illustration is.
Measure one thing: the percentage of new signups who hit your named first-value moment within 24 hours, and again within 7 days. Step-level drop-off is a diagnostic, not a scoreboard — you can improve step conversion and still lose the activation.
We publish this same walkthrough format on other flows regularly; if you want the pattern applied to pricing or verification, they're on the blog.
What to leave alone (the P2 trap)
Three rules I'd tattoo on most founders' forearms:
- Don't ship a P2 in the same sprint as a P0. You'll move the number and have no idea which change did it.
- Don't A/B test a step you already know is a toll booth. "We deleted the question and conversions went up" is not a finding, it's a formality.
- Don't fix the copy on a screen that shouldn't exist. The best microcopy for step 1 is no step 1.
If you're at the point where your P0 list is empty and you're arguing about tooltip wording, congratulations — that's a good problem, and it means activation is no longer your bottleneck.
Start a free FlowAudit at /signup and you'll get a prioritized P0/P1/P2 fix list for your own onboarding flow in minutes — including the steps you should delete rather than redesign.