Empty states are onboarding
Open any product on its first day of use and the first thing you see is a screen with nothing on it. No projects yet. No reports yet. No teammates yet. The empty state.
For most teams, the empty state is the last thing the design org thinks about and the first thing the new user sees. The math is bad.
The empty state is the welcome page
A traditional "welcome page" — the modal with the wave emoji and three bullet points — is a pre-product surface. It exists in front of the actual product, between the user and what they came for. The empty state is the opposite: it's the actual product, in its natural shape, on the first day of use.
Which means it's the only welcome surface that doesn't require the user to dismiss something to start using your product. That's a structural advantage, and almost nobody uses it.
The default empty state is a sad icon and a "Create your first X" button. That's not a welcome — that's a chore. The user sees the icon, sees the button, and has to choose between an unbounded creation task and a back-button.
What good empty states do
A useful empty state does three things, in order:
- Tells the user what this surface is for, in one sentence. Not "Reports" — that's a label. "Your saved reports — drag a chart here to start a new one." That's a sentence that earns the user's attention.
- Shows the smallest possible example of the populated state. A faded mock chart in the background, an outline of where the next action will land. Not sample data the user has to delete — a visual scaffold that makes the populated state legible before the user has populated anything.
- Offers exactly one action the user can take right now. Not three primary CTAs. Not a checklist. One verb, one button, one arrow.
Done well, this collapses the welcome modal, the product tour, and the activation checklist into a single, no-interruption surface that the user is already looking at.
The "but our product is too complex" objection
Every team I've ever shown this to has the same objection: our product has too many surfaces. We can't have a useful empty state on every single one — we'd spend the whole quarter on empty states.
This is true and also a sign that the empty states are correctly the most leveraged thing to spend the quarter on. Each empty state is the very first impression of that product surface, often the only impression — most users never see a populated version of most surfaces. If the empty state is bad, the surface is bad. There is no rescuing it later in the funnel.
The fix isn't to skip the empty state work; it's to prioritize. List your product's surfaces by traffic. Spend the quarter on the top five empty states. Leave the rest as the sad icon. Most of the gain is in the top five.
A short list of empty-state mistakes
- A picture of the populated state with the word "Coming soon" over it. This is what you ship when you don't have an empty state and don't want to admit it.
- Sample data the user has to delete. Sample data signals you don't trust the user's data. Worse, it signals that real data is annoying to add — because if it weren't, why would you have shipped pretend data?
- Empty state with no CTA. A blank screen with the helpful message "No reports yet." Helpful in the way a closed door is helpful.
- Three primary CTAs. Two buttons of equal weight is the new "no buttons." Pick the one that the user is most likely to want, and demote the rest.
Empty states are the highest-leverage UX work most teams aren't doing. The teams that do it well will outship the teams that ship more features.