July 19, 2026· 8 min read ·Writing Copy

What Should Your In-App Onboarding Copy Say?

Blank dashboards, confusing tooltips, and ignored empty states are killing your activation rate. Here's what your in-app onboarding copy should actually say — screen by screen.

⚡ Quick answer

Your app's empty state should clearly instruct users on what action to take next and convey the benefits of doing so. Replace vague messages with specific instructions like, 'Paste your URL above to create your first kit — takes about 60 seconds.'

Your welcome email worked. They signed up. They clicked the link. They opened your app for the first time. And then they saw a blank dashboard with a "Get started" button, had no idea what to do next, and closed the tab.

In-app onboarding copy is the least glamorous thing you'll ever write and one of the highest-ROI things you can improve. Here's how to do it.

Founder's in-app onboarding losing users at every step of the flow Users drop off
Founder writing onboarding copy that guides users to their first win Improving flow
Founder's in-app onboarding turning new signups into activated users Users activate

The One Job Onboarding Copy Has

Get the user to their aha moment as fast as possible. Not explain every feature. Not showcase the product's range. Not make them feel welcome. Get them to the one specific thing that makes them think "this actually works for me."

Every word of in-app copy should be evaluated against this single question: does this help the user reach the aha moment faster? If not, cut it.

1. The First Screen After Login

This is the highest-stakes copy in your entire product. The user has just signed up and has high intent — and no patience.

Most first screens fail because they present options. A dropdown menu, a choice of templates, a "what type of user are you?" survey — all of these create friction at the exact moment you want zero friction.

The right first screen has one prominent call to action that leads directly to the aha moment, with one sentence of context explaining why.

Bad: "Welcome to StartKitz! Choose how you'd like to get started: Browse templates / Import project / Watch tutorial"

Good: "Paste your app URL below. We'll generate your full marketing kit in under 60 seconds."

One action. One sentence of context. No choices.

StartKitz

See how a fast aha moment is built

StartKitz is built around a 60-second aha moment: paste your URL, see real output before creating an account. The same principle applies to your product's first screen.

Try it now →

2. Empty States

An empty state is what users see when a section of your product has no content yet. Most empty states say something like "No posts yet" or "Your reports will appear here." These are wasted opportunities. Every empty state should tell the user exactly what to do to fill it, and why they'd want to.

Bad: "No content generated yet."

Good: "Your generated copy will appear here. Paste your URL above to create your first kit — takes about 60 seconds."

The good version removes ambiguity and re-surfaces the action. The user doesn't have to remember what to do next.

3. Tooltips and Hover States

Tooltips are not the place for feature explanations. They're the place for one-line outcome summaries.

Bad tooltip: "Growth Score — A composite metric calculated from your product's positioning, copy quality, and competitive landscape analysis."

Good tooltip: "Growth Score — Know at a glance where your marketing is weak before you spend money on distribution."

The user doesn't need to understand how the score is calculated. They need to know what it means for them.

4. Progress Indicators

If your onboarding has multiple steps, each step label should be an outcome, not a task.

Bad progress bar: Step 1: Add URL → Step 2: Configure settings → Step 3: Generate

Good progress bar: Step 1: Analyze your product → Step 2: Customize your outputs → Step 3: Download your kit

The first version describes what the user does. The second describes what they get. The second version makes each step feel like progress toward something, rather than a hoop to jump through.

5. Error Messages and Dead Ends

Nothing kills onboarding momentum faster than a confusing error message. The worst error messages are generic ("Something went wrong. Please try again.") or technical ("Error 422: Unprocessable Entity"). Both tell the user nothing actionable.

Good error messages have three parts:

  1. What happened (plain language)
  2. Why it happened (if diagnosable)
  3. What to do next (one specific action)

Bad: "URL could not be processed."

Good: "We couldn't read that URL — it might be behind a login or have no public content. Try a publicly accessible landing page URL and we'll reanalyze."

The Voice Rules for Onboarding Copy

  • Use "you" not "we." Every sentence that starts with "We" is about the product. Every sentence that starts with "You" is about the user. (For help finding the right words, see what to actually say when marketing your SaaS.) Onboarding copy should be almost entirely in the second person.
  • Use present tense. "Paste your URL and get your kit" not "Once you paste your URL, you will receive your kit." Present tense feels immediate. Future tense feels delayed.
  • Use active verbs. "Generate your copy" not "Your copy can be generated." Active voice is shorter, clearer, and more energetic.
  • Cut the adjectives. "Easily generate your copy" — delete "easily." If it's easy, the experience proves it. The word just makes the claim; the experience should deliver it.

One Test to Evaluate Your Onboarding Copy

Read your onboarding flow aloud as if you're explaining it to someone on the phone. Any sentence that sounds awkward, over-formal, or that you'd never say in conversation — rewrite it until it sounds natural.

The bar for in-app copy: would a real human say this to another real human? If not, it doesn't belong in your product.

Frequently Asked Questions

What should my app's empty state say?

Every empty state should tell the user exactly what to do to fill it and why they'd want to. Instead of 'No content generated yet,' try 'Your generated copy will appear here. Paste your URL above to create your first kit — takes about 60 seconds.' The good version removes ambiguity and re-surfaces the action. The user doesn't have to remember what to do next.

How do I write better tooltips for my SaaS?

Tooltips should be one-line outcome summaries, not feature explanations. Instead of 'Growth Score — a composite metric calculated from positioning, copy quality, and competitive landscape analysis,' try 'Growth Score — know at a glance where your marketing is weak before you spend money on distribution.' The user doesn't need to understand how it works; they need to know what it means for them.

What's the most important copy in a SaaS app?

The first screen after login. This is the highest-stakes copy in your product — the user has just signed up with high intent and no patience. It should have one prominent call to action leading directly to the aha moment, with one sentence of context. No choices, no menus, no survey about their role. Every option you present is a dropout point.

How do I write error messages for my app?

Good error messages have three parts: what happened (in plain language), why it happened (if diagnosable), and what to do next (one specific action). Not 'URL could not be processed' — but 'We couldn't read that URL — it might be behind a login. Try a publicly accessible landing page URL and we'll reanalyze.' Specific and actionable beats generic and apologetic.

StartKitz

Get your full marketing kit in minutes

Paste your app URL and StartKitz generates your Growth Report, First Users Plan, social posts, ad creatives, and launch copy — all at once.

Generate free preview →
S
Written by the StartKitz team
a marketing automation tool built for app founders who'd rather ship than write.