---
title: "SaaS onboarding examples (and empty states)"
description: "Onboarding patterns that work in SaaS: one question first, a quick first win, empty states that teach, and emails that follow what people did."
source: https://savepad.app/blog/saas-onboarding-examples
---
[Blog](https://savepad.app/blog) · 29 January 2025

# Onboarding and empty state examples worth copying

Onboarding patterns that work in SaaS: one question first, a quick first win, empty states that teach, and emails that follow what people did.

*A Savepad sequence showing a signup, a welcome screen, an empty state and a day-two email, in order*

**TLDR**

- Good onboarding gets someone to their first win fast. Everything else (tours, checklists, videos) is secondary.
- The patterns that keep showing up: ask one question, skip the blank page, make the empty state do the teaching, and send emails based on what people did.
- Onboarding only makes sense in order. Save the whole flow, screen by screen and email by email, or you’re saving half of it.

## Why “examples” are hard to find

Landing pages are public. Onboarding isn’t. It’s behind a signup, it changes every few months, and the good bits (the second screen, the day-three email) are exactly the ones nobody screenshots.

So the best onboarding library is one you build yourself: sign up for things, and save every screen and email as you go.

## Pattern 1: one question before the product

A single screen that asks “what are you here to do?” and shapes what comes next. Three to five options, big buttons, a skip link.

It works because the next screen can be specific. “You picked *plan a launch*, here’s a launch template” beats a generic dashboard.

What to steal: **one** question. Every extra field before the product costs you people.

## Pattern 2: never start with a blank page

The worst first screen in SaaS is an empty dashboard with a “Create your first project” button. You’ve asked someone who doesn’t know your product yet to design something in it.

Better: start them inside something. A sample project they can poke at, a template that’s already filled in, or the result of the one question above.

## Pattern 3: the empty state does the teaching

*A mock empty state for a fictional SaaS, Northwind, with one button and a keyboard hint*

0122 · northwind · empty state

*A mock onboarding checklist step for a fictional SaaS, Northwind*

0219 · northwind · onboarding

*A mock behavioural onboarding email for a fictional SaaS, Northwind*

0316 · email · day 2

An empty state that earns its space: it says what goes here, shows one way to add it, and offers a shortcut.

Every empty screen is onboarding, whether you designed it that way or not. A good one:

- **Says what goes here**, in one line.
- **Shows the fastest way to add it.** One button, or “paste a link”, or a keyboard shortcut.
- **Doesn’t apologise.** “No projects yet” is fine. “Oops, looks like you don’t have anything!” isn’t.

## Pattern 4: checklists that end

A short checklist (“3 things to try”) in a corner, which disappears once it’s done. Three items, max. Six-step checklists with a progress bar at 17% make people feel behind on day one.

## Pattern 5: emails that follow what you did

The welcome email is table stakes. The good ones come after:

- **Did the thing:** “You added your first project. Here’s the next step.”
- **Didn’t do the thing:** “Still getting set up? This takes two minutes.”
- **Stalled:** a plain-text note from a real person, a few days in.

If every new user gets the same five emails on the same five days, it’s a newsletter, not onboarding. The [welcome email examples](https://savepad.app/blog/welcome-email-examples) post has more on the first one.

## How to build your own onboarding library

1. **Sign up with a real inbox.** Use a `+onboarding` address so it’s easy to find.
2. **Screenshot every screen**, including the boring ones. The boring ones are where people drop off.
3. **Keep the emails**, in the order they arrived, for two weeks.
4. **Save it as one thing, in order.** Screens and emails together, so you can replay the whole thing.

That last step is what [sequences in Savepad](https://savepad.app/save-types) are for: one save that holds a whole flow in order, laid out on a timeline, with the emails forwarded straight in from your own address. Next to the landing page that started it, in your [swipe file](https://savepad.app/use-cases/swipe-file).

[Join the waitlist](https://savepad.app/#waitlist)

## Read these next

- [Product launch examples worth copying: The launch formats that keep working for software: Product Hunt, Show HN, launch weeks and the changelog post, plus how to save launches.](https://savepad.app/blog/product-launch-examples)
- [Welcome email examples that don't read like a robot wrote them: What good welcome emails do in the first 60 seconds after signup, the patterns worth copying, and a few that got it right.](https://savepad.app/blog/welcome-email-examples)
