I originally put signup before onboarding because that felt like the normal order. It also meant I was asking people to create an account before they had seen enough value.
So I flipped the flow. Visitors now choose what they want to build, see the product experience, and only create an account near the end.
The more important change was instrumentation. “Didn’t pay” was hiding several different outcomes: leaving before entering business details, reaching a late onboarding step, hitting a technical activation failure, or reaching checkout and declining.
One real user reached the final onboarding steps but never received a workspace because an activation proof expired. That was not a pricing objection. Without step-level events, I would have optimized the wrong thing.
The lesson for me: show value before signup, and measure every meaningful transition separately. I’m now treating onboarding completion, workspace creation, checkout reached, activation, and paid status as different events.
What is the earliest point in your onboarding where you ask for an account, and what convinced you to put it there?