Copywriting and CTAs for SaaS flows·

The Empty State Is Onboarding Step One: A 5-Line Copy Playbook

The Empty State Is Onboarding Step One: A 5-Line Copy Playbook

You spent six weeks on the dashboard. New users see it empty.

That's the whole problem. The first screen after signup rarely has data in it, which means it isn't really a dashboard — it's five lines of copy with a button attached. Most teams treat it as a design task (add an illustration, add confetti, bolt on a product tour tooltip) when it's the highest-leverage copywriting moment in the entire onboarding flow.

Run the heuristic test on your own screen. A user arrives holding four questions:

  • Clarity: What is this screen?
  • Trust: Did my signup actually work?
  • Guidance: What do I do first?
  • Feedback: Did anything happen when I clicked?

If your screen answers none of them, the user doesn't file a bug report. They close the tab and tell themselves they'll come back later. That's the leak.

Why the blank screen after signup leaks more trials than your pricing page

Motivation peaks in the first 60 seconds after signup. The person just handed you an email address, they have a problem they want solved, and they're willing to work for it. Then you show them nothing.

The asymmetry is brutal:

  • Your marketing page spells out exactly what to do, in plain language, with one obvious button.
  • Your empty state says "Projects" and waits.

Most teams audit their pricing page every quarter. The empty state gets rewritten once, at launch, by whoever was free that afternoon. It then sits there for two years while the product underneath it changes completely.

This is a copy problem before it's a design problem. A beautiful illustration over a vague headline still leaves the user guessing, and guessing is friction. Guidance is the heuristic doing the most work on this screen and getting the least attention.

The 5 copy slots on every empty state

Every empty state in your product has the same five slots. Fill them deliberately or they fill themselves with defaults — and defaults read like a database schema.

1. Headline — names the outcome, not the object. "Projects" is a label. "Start your first project" is an instruction. Labels describe the container; outcomes describe the win. If your headline is a plural noun, you've already lost the user who doesn't know what a "workspace" or "board" or "pipeline" is in your product's dialect.

2. Context line — one sentence that kills the "did it work?" anxiety. Explain what this object is for and what happens after the user creates one. This is where trust gets built. A silent empty screen reads like a failed signup.

3. Primary CTA — verb + object + consequence. "Get Started" and "Continue" are the two most expensive button labels in SaaS. They describe motion, not outcome. "Create a project from a template" tells the user what they'll have when they're done.

4. Secondary path — for the user who can't do the primary yet. Some people have nothing to import and no data to connect. Give them a template, a sample dataset, or a demo workspace. A dead-end empty state converts the undecided into the departed.

5. Expectation line — time cost and reversibility. "Takes about two minutes. You can rename or delete this later." Two clauses that remove the fear of commitment. Small, boring, disproportionately effective.

P0/P1/P2: fix these two slots first

You don't have a redesign budget and you don't need one. Ship in this order.

  • P0 — Primary CTA label. If it says Get Started, Continue, Submit, Next, or Go, rewrite it today. It's a one-line change with a direct effect on the one number you care about: did the user take their first real action?
  • P0 — Headline. Noun → outcome. "Reports" becomes "Build your first report." This is a five-minute edit.
  • P1 — Context line and expectation line. These carry the trust load. If your empty state is silent, users assume something broke.
  • P1 — Secondary path. Templates and sample data recover the user who genuinely can't complete the primary action yet. Without it, they're stuck at the door.
  • P2 — Illustration, animation, confetti, tour tooltips. Fine to have. None of them compensate for a headline that names an object instead of an outcome. Copy first, polish second.

One rule that saves you an argument: never ship a P2 before both P0s are done. Teams love the illustration because it's visible progress. Users never see it — they're reading the button.

Before/after: a blank dashboard rewritten in one pass

A project-management tool, first screen after signup, no data. Here's the actual before and after.

Before

Projects No projects yet. [ New Project ] [ Learn more ]

After

Start your first project Projects hold your tasks, files, and teammates. Nothing here is permanent — you can rename or delete it later. [ Create a project from a template ] Start blank · Import from Asana or Jira

What changed, slot by slot:

  • The headline moved from a category name to an action with an outcome.
  • The context line answers "what is this and can I undo it" in one sentence — trust and friction, handled together.
  • The primary CTA names the object and the shortcut. Templates beat blank pages for first-time users because a blank page asks them to make a decision before they've seen the product work.
  • The old "Learn more" link is gone. It was an escape hatch disguised as a secondary action, and every click on it was a user leaving the flow to read documentation instead of using the product.
  • "Start blank" and "Import" replace it as real paths for two real user types: the person with nothing to import, and the person migrating from a competitor.

Same screen, same layout, same components. Only the words moved.

Rewriting one screen by hand is straightforward. Doing it consistently across every empty state, confirmation, and error in the signup-to-first-action path is where small teams stall — if you'd rather get the list handed to you, run a free audit on your signup flow and it'll flag the screens where the copy is doing nothing.

How to test the rewrite without a research budget

Don't run a six-week study. Do this instead:

  • Pick one metric: the percentage of new signups who complete the primary action within 24 hours. That's your activation proxy for this screen, and it's the only number the empty state can move.
  • Watch five session replays of people who landed on the empty state and left. You're looking for one specific pattern: the hover-then-leave. Cursor drifts to the button, doesn't click, tab closes.
  • Ship copy as a variant, not a redesign. Two weeks, one screen, one metric. If the numbers don't move, you've lost two weeks and learned something real.
  • Don't over-claim the result. A headline test validates a headline. It says nothing about your pricing page, your trial length, or your onboarding checklist. Keep the scope honest.
  • Close the loop with feedback. When the user completes the primary action, tell them what just happened: "Board created — add your first task." The empty state's job ends with a confirmation, not a silence. That confirmation is also the natural setup for the next step in onboarding.

If your leak turns out to be later in the funnel — the plan picker, the trial expiry banner, the in-app upgrade screen — those are separate teardowns and we've written them up on the /blog. Don't try to fix all of them at once. Fix the blank screen first, because it's the cheapest edit and the earliest drop-off.

Start a free FlowAudit on your signup and onboarding flow at /signup and you'll get a prioritized P0/P1/P2 fix list — including every empty state and CTA that's currently asking users to guess — in about the time it takes to read this post twice.