Onboarding pattern
Empty-state-as-onboarding pattern
Empty-state-as-onboarding is the under-rated pattern of making each empty state in the product its own onboarding moment. Instead of one big walkthrough, every empty list, empty dashboard, empty feature shows a contextual prompt explaining what would go there and how to get started.
Verified · editorial policy
How the pattern works
Every empty state in the product is designed as a mini-onboarding. Empty customer list shows 'add your first customer' + 'import from CSV' + 'connect Stripe to auto-pull'. Empty dashboard shows 'connect your first data source' + sample preview. The user is always one step away from a useful action.
Best for
Products with multiple distinct features that users explore at their own pace. Products with strong just-in-time onboarding. Replaces the linear walkthrough for products where users have multiple legitimate first-paths.
Worst for
Products with one single 'happy path' that every user must take. Products where the empty states are too numerous to design carefully (each one needs care).
Activation metric
Empty-state interaction rate. Track which empty states drive first-actions and which are dead-ends. Dead-end empty states are the redesign target.
Implementation considerations
- Audit every empty state in the product. List them.
- For each, decide: what action would the user want to take here? What is the obstacle?
- Add a CTA-shaped empty state with the relevant action, plus a 1-2 sentence explanation.
- Where possible, offer multiple paths to populate the empty state (manual, import, auto-detect).
- Track interaction with each empty state. The metric tells you which empty states are doing onboarding work and which are silent.
Common mistakes
- Empty states with no action. 'No customers yet' — true but useless. Always provide a next step.
- Generic empty-state illustrations without context. The empty state is real-estate for onboarding; do not waste it.
- Forgetting that empty states are also re-onboarding for returning users. After a quiet period, the empty state should remind, not just inform.
Variations
- Sample-data empty state — the empty state pre-populates with sample data on demand.
- Tutorial empty state — empty state is a small tutorial that ends with the user's first real action.
Frequently asked
- How is empty-state-as-onboarding different from just-in-time?
- Empty-state is location-specific (this empty space); just-in-time is feature-specific (when user reaches feature X). They are complementary patterns and often combined.
Other onboarding patterns
Test the pattern, do not commit blindly
The right onboarding pattern is product-specific. Test the activation rate before fully committing.