How to write SaaS onboarding emails
Write SaaS onboarding emails that get new signups to their first win: pick the one action that shows your product works, send a plain welcome email and four short emails triggered by what each user did from a free Loops account, write by hand to every stuck signup every day, and fix the email where most people stop every Sunday.
ByDinesh BypillaReviewed byMurali SidLast checked 19 min read
People sign up for your SaaS, click around once and never come back, and with only a trickle of signups, each one you lose is a big share of your future customers. To write SaaS onboarding emails that work at this size, pick the one thing a new user must do to get value, send short plain emails from you that each point to that one thing, and write by hand to everyone who gets stuck. A seven-email "welcome to our features" drip copied from a big company gets ignored, and it never tells you why people left.
Do these three things
About 5 hours today and 2 more to set the emails to send on their own, then 30 to 60 minutes a day. Read every reply the day it arrives, and judge a change to an email after 50 signups have had it.
Show the three actions in fullHide the full list
- Today: pick the one first win a new user must reach, write a plain welcome email from you that links straight to it, and send a personal note to every past signup who never got there.
- Every day: email by hand each new signup who has not reached the first win within 24 hours, follow up up to 3 times, and answer every reply the same day. AI drafts each note; you add one true line about what they did.
- Every Sunday: count signups, first wins within 7 days and new paying users, and rewrite the one email where most people stop.
Get help doing these
ChatGPT or Claude reads this guide and works through it with you.
1. Pick the one first win every onboarding email points to
Before you write any onboarding email, write down the one action that shows a new user has got value from your SaaS, and how soon they should do it. Every email in this guide points to that one action. Product people call it the "aha moment". The share of signups who reach it is your activation rate. In a product-led SaaS, where people try before they pay, it comes before every payment.
Find it from your own users, not from a template:
- Open your database or admin page. List every paying user, or if you have none yet, everyone who came back 3 or more times.
- Next to each one, write what they did in their first 3 days.
- Pick the one action they all did. It must be something your app can record, and something a new user can do in about 10 minutes.
- Write it as one sentence: "A new user has got value when they [action] within [time]."
If you have no paying users and nobody came back, use the moment you would show in a two-minute product demo: the screen where people say "oh, nice". Then check it in your first customer interviews.
Make your app save the moment each user reaches the first win, with the date. A firstWin date on the user's row is enough; it works like conversion tracking inside your product. Step 4 sends it to your email tool. Then add a column to a sheet of every signup so far: did they reach it, yes or no?
- Tool: your own database or admin page, and Google Sheets. Free.
- Time: 45 minutes.
- You will have: one sentence, and a sheet of every signup with "first win: yes or no".
- It worked if: every paying user did the action, and you can say yes or no for every signup.
- Common mistake: picking "logged in" or "finished the product tour". Neither shows the product helped anyone. The other mistake is picking three actions. Emails that ask for three things get none of them.
See it done: Bugmoth's first win
Bugmoth is a made-up bug-reporting tool for small web teams. It costs $19 a month per team, with a 14-day trial.
Before
Logged in and finished the product tour.
After
Got the first bug report from a client's site within 3 days of signing up.
Why it works: Both paying teams did it in their first 3 days, and only 4 of the other 23 signups did, so it separates the people who stay from the people who leave.
2. Write a welcome email that sends new users straight to the first win
A good SaaS welcome email is short, plain and from you: one line of thanks, one step to the first win with a direct link, and one question. Write it once, in under 120 words, and send it within 5 minutes of signup.
New users decide in the first few minutes whether your product is worth a second visit. The welcome email's only job is to get them to the first win while they still remember signing up. Write it the way you would write to one person:
- The subject line looks like a personal email: lower case, under 6 words, about what they get, not "Welcome to [product]!".
- One line of thanks. No company story.
- One step to the first win, with a link that opens the exact screen, not your home page. Say how long it takes.
- One question: "What made you sign up today?" The answers tell you, in their words, what job they want your product to do. That is your value proposition, straight from buyers.
- Your first name. Set the sender name to your name and the reply address to an inbox you read. In February 2025, PostHog, the product analytics company, wrote that all of its onboarding emails now came from one named person's address.
Leave out the logo banner, the feature list, the social icons and the "Getting started guide" with ten links. Each extra link is one more call to action that pulls people away from the first win.
Subject: [the first win, in 3–5 words]Hi [first name],Thanks for trying [product].The fastest way to see if it works for you: [the one step to the first win]. It takes about [minutes] minutes. Start here: [link to the exact screen]One question: what made you sign up today? Just hit reply. I read every answer.[Your first name]
Use ChatGPT or Claude to cut your draft down: paste it in and ask for the same email in under 120 words, at a fifth-grade reading level. Check every line is still true.
- Tool: a Google Doc, and ChatGPT or Claude to shorten it. Free.
- Time: 30 minutes.
- You will have: one welcome email, ready to copy into your email tool in step 4.
- It worked if: a friend reads it on a phone in 20 seconds and can tell you the one thing to do next.
- Common mistake: a designed "tour" of six features sent from noreply@. It looks like every other drip, and nobody can reply to it.
See it done: Bugmoth's welcome email
To: Jess, who just signed up for a 14-day trial
Subject: your first client bug report
Hi Jess,
Thanks for trying Bugmoth.
The fastest way to see if it works for you: add the Bugmoth button to one client site and report a test bug yourself. It takes about 5 minutes. Start here: [link to the install screen]
One question: what made you sign up today? Just hit reply. I read every answer.
Sam
Why it works: It asks for one thing, the step that leads to the first win, says how long it takes, and invites a reply.
3. Write four more onboarding emails, each sent by what the user did
After the welcome email, write four short emails. Each one is sent by something the user did or did not do, not by a fixed day. Together with the welcome email, that is five emails in a 14-day free trial.
A time-based drip sends "Day 5: have you tried X?" to people who did X on day 1. In September 2026, one Hacker News user summed it up: "I get blasted with email drips everywhere I sign up." Emails sent by what the user did never do that. Write these four:
- "You did it", sent the moment they reach the first win. Say what they just did, and give the one next step that makes the product part of their week, such as inviting a teammate or connecting the tool they already use.
- "One more thing", sent 7 days after the first win. One useful thing most users miss. One link.
- "Trial ends soon", sent 3 days before the trial ends. Say what stops working, what it costs a month and how to pay. Link straight to the payment page.
- "Your trial ended", sent the day after, only to people who did not pay. Ask one question: what stopped them? Their answers go to your win-back emails and your pricing.
People who sign up and never reach the first win get your personal notes from step 5 instead. Rules for all five emails:
- One job and one link each, under 120 words, signed by you.
- No more than 2 emails in the first 48 hours, counting your personal note.
- No discount. Money off at the end of a trial teaches people to wait for it. If price comes up in the replies, check your pricing page first.
If you have a free plan instead of a trial: replace the two trial emails with one email sent when a user hits the free plan's limit. Say what they hit and what the paid plan adds. Which model to pick is a separate decision: free trial or freemium.
"You did it" (when they reach the first win): Subject: [what they just did] Hi [first name], you just [the first win]. That's the hard part done. Next: [the one next step]. It takes [minutes] minutes: [link] [Your first name]"One more thing" (7 days after the first win): Subject: one thing most people miss Hi [first name], one thing most [kind of user] miss: [the useful thing, in one line]. Here's where it is: [link] [Your first name]"Trial ends soon" (3 days before the trial ends): Subject: your trial ends on [day] Hi [first name], your [product] trial ends on [day]. After that, [what stops working]. To keep it, it's [price] a [month]: [link to the payment page]. Questions? Just reply. [Your first name]"Your trial ended" (the day after, only if they did not pay): Subject: what stopped you? Hi [first name], your trial ended yesterday. Could you tell me what stopped you? A one-word reply is perfect: Price Didn't get it working Something else (tell me what) [Your first name]
- Tool: the same Google Doc.
- Time: 1 hour.
- You will have: four more emails, each with its trigger written above it.
- It worked if: each email names its trigger, has one link and fits on one phone screen.
- Common mistake: sending "day 2, day 5, day 7" tips to everyone. People who already did the thing feel the emails are not about them, and Gmail's "Manage subscriptions" page, added in July 2025, lets them unsubscribe in one click.
See it done: Bugmoth's five onboarding emails
14-day trial, five emails
| Sent when | The one link | |
|---|---|---|
| Signs up | Welcome | Install the Bugmoth button |
| Gets the first client bug report | You did it | Invite a teammate |
| 7 days after the first report | One more thing | Send reports to Slack |
| 3 days before the trial ends | Trial ends soon | Add a card: $19 a month per team |
| Trial ended, not paid | Your trial ended | None: reply with one word |
Why it works: Every email has one trigger and one link, and nobody who is stuck gets an email about a feature they cannot use yet.
4. Set your onboarding emails to send on their own from your own domain
Put the five emails into an email tool that sends each one when your app tells it what the user did. Send them from your name, on your own domain, with replies going to your inbox. This takes about 2 hours, most of it adding a few lines of code.
Use Loops. It is built for SaaS, starts emails from events your app sends, and is free while your email list has fewer than 1,000 subscribed contacts and you send up to 4,000 emails in 30 days. The free plan adds a small "Powered by Loops" line.
- Set up your domain. Sign up, then open Settings, then Domain, and click View records. Loops gives you SPF, DKIM and MX records; copy each one into your domain's DNS settings. Use a subdomain such as
mail.yourdomain.com, as Loops recommends. Add a DMARC record too (p=noneis fine to start). Never send from a domain you set up for cold email. - Add your postal address in Settings, then Domain. Loops puts your company name, address and an unsubscribe link at the bottom of every workflow email.
- Send two events from your app:
signUpwhen someone signs up, andfirstWinwhen they reach the first win. Use the Loops events API. If your signups go through Clerk or Supabase, Loops can take them from there; if you take payments with Stripe, it connects to Stripe too. Loops also has an MCP server and agent skills, so a coding assistant such as Claude Code or Cursor can write this code with you. If you are a developer who would rather build than sell, this is the part you will enjoy. Then get back to the notes in step 5. - Build the emails. Open Workflows and add one workflow per email trigger, each starting with the "Event received" trigger:
signUpfor the welcome email,firstWinfor "You did it". Put the "One more thing" email after it with a Timer of 7 days. In each email, set Name to your name and Reply to your own inbox. Use no images and no buttons: plain text with one link. - Send the trial email on time. If your trials run in Stripe, have your app pass on Stripe's
customer.subscription.trial_will_endevent, which Stripe sends 3 days before a trial ends by default, as atrialEndingevent, and send atrialEndedevent when a trial ends unpaid. If your trial needs a card, Stripe says you must follow the card networks' rules for trials, and its reminder email helps you meet them: in Stripe, open Settings, then Billing, then Subscriptions and emails, and turn on "Send a reminder email 7 days before a free trial ends". - Test it. Add contacts with
@example.comaddresses (Loops never sends to them) and send them events to watch them move through. Click "Send a preview" on each email. Then sign up yourself with a real Gmail address.
The rules that apply to you: since February 2024, Gmail requires every sender to have SPF or DKIM, and to keep spam reports below 0.3%. Since November 2025, Gmail rejects more mail that breaks these rules. You are not a bulk sender until you send 5,000 emails a day to Gmail, but set all three records now. In the US, an email that sells needs your postal address and a way to stop, and a "stop" must be acted on within 10 business days. Loops' footer covers both. Keep selling out of the first emails anyway: they are there to help.
- Tool: Loops, free under 1,000 subscribed contacts. Stripe if you already take payments there.
- Time: about 2 hours, including the code for the two events.
- You will have: five emails that send themselves, from your name, at the right moment.
- It worked if: your test signup gets the welcome email in a Gmail inbox, not spam, within 5 minutes; your reply to it lands in your own inbox; and a test
firstWinsends "You did it". - Common mistake: sending from noreply@ or from the root domain with no DKIM. The first kills replies; the second sends you to spam. Read more on email deliverability.
5. Email every stuck signup by hand, every day, and answer every reply
Every signup who has not reached the first win 24 hours after signing up gets a short personal note from you. Today, send one to every past signup who never got there. From tomorrow, do it every day for new signups, follow up up to 3 times, and answer every reply the same day.
At your size, these notes do more than all five automatic emails together. A note from a person that names what they did gets replies, and every reply tells you where your product loses people. Offer to set it up with them: a 15-minute call, run like a discovery call, often turns a stuck signup into one of your first users.
How to send them:
- Every morning, list everyone who signed up more than 24 hours ago with no first win. Note what they did do: the screens they opened, how far they got.
- Paste 10 rows at a time into ChatGPT or Claude with the template below, and ask for one note per person. You add or check the one line about what they did.
- Send each note from your normal Gmail, one at a time. Send up to 3 follow-ups, on day 3, day 7 and day 10, as replies in the same thread. Stop as soon as they reach the first win or reply.
- Write each reply's reason in your sheet, in their words: "didn't understand the setup", "need my client to install it", "not this month". This is the cheapest feedback from your first users you will ever get. A sheet is fine until it gets slow; then move to a CRM.
When to stop doing it by hand: while you get fewer than 20 new signups a day, write every note yourself. Above 20 a day, add the note to Loops as a workflow (the "Event received" trigger for signUp, a 1-day Timer, and an Audience filter for "first win is not set", applied to "All following nodes" so anyone who gets the first win drops out). Keep answering every reply by hand.
If this is fewer than 10 notes a day, your onboarding is not the main problem: you need more signups. Spend the rest of the day on the 100 personal messages a day in getting your first 100 SaaS users. If people visit your site but do not sign up, fix the site first.
Subject: [product] + [their company or project]Hi [first name],I saw you [one true line: what they did, such as "added your first project"] yesterday but haven't [the first win] yet. Where did it get stuck? A one-word reply is perfect: Setup No time yet Something else (tell me what) If it helps, I can set it up with you on a 15-minute call: [booking link][Your first name]Follow-up 1 (day 3): Hi [first name], did this get buried? Happy to do the setup for you if you send me [what you need].Follow-up 2 (day 7): Hi [first name], one thing that helped others who got stuck at the same point: [the most common fix, in one line].Follow-up 3 (day 10): Hi [first name], last one from me about this. If [product] isn't right for you, a one-word reason would help me a lot.
- Tool: Gmail, your signup sheet, and ChatGPT or Claude to draft. Free.
- Time: about 3 minutes a note. 2 to 3 hours today for your past signups, then 30 to 60 minutes a day.
- You will have: a note to every stuck signup, the follow-ups logged, and the reasons people get stuck, in their own words.
- It worked if: at the end of each day, nobody who is 24 hours past signup without a first win is missing a note, and no reply is waiting.
- Common mistake: "Let me know if you have any questions!" Nobody answers that. Ask one specific question with three short answers.
See it done: Bugmoth's note to a stuck signup
To: Leo, who created a project yesterday but never installed the button
Subject: bugmoth + northwall studio
Hi Leo,
I saw you set up a project for Northwall Studio yesterday but haven't added the Bugmoth button to the site yet. Where did it get stuck? A one-word reply is perfect:
- Setup
- No time yet
- Something else (tell me what)
If it helps, I can install it with you on a 15-minute call: [booking link]
Sam
Why it works: It names what he did, asks one question he can answer in one word, and offers to do the hard part for him.
6. Count first wins and paying users every Sunday, and fix the email where most people stop
Every Sunday, write one row: how many people signed up, how many reached the first win within 7 days, how many notes and follow-ups you sent, how many replied, how many trials ended, and how many started paying. Then fix the one email at the step where most people stop.
Count what people did in your product, not who opened an email. Apple Mail downloads email content in the background as it arrives, so an email can count as "opened" when nobody read it, and your open rate looks better than it is. A first win, a reply or a payment cannot be faked.
Week | Signups | First win in 7 days | Notes and follow-ups | Replies | Top reason | Trials ended | New paying users
Then use these rules:
- Fewer than half reach the first win: the welcome email and the notes are the problem, or the product step behind them is. Read the reasons. Fix the step most of them name, then change the welcome email to match. The full job is in improving your activation rate.
- Most reach the first win, but few pay: fix the "Trial ends soon" email and your pricing page. The full job is in turning free trials into paying customers.
- Fewer than 1 in 10 notes get a reply: make the one true line more about the person, and the question easier to answer, the same fixes that get replies to cold emails.
- Change one email at a time, and judge the change after 50 signups have had it. Read every reply the day it arrives, but do not rewrite an email after 5 signups.
Once a month, add the totals to your monthly marketing review, next to your cost per paying user. Users who reached the first win and paid are the right people to ask for a testimonial, a short case study or a referral. Paying users who leave later are a churn problem, not an onboarding one.
- Tool: Google Sheets.
- Time: 20 minutes each Sunday.
- You will have: one row a week, and the step where most of your signups stop.
- It worked if: you can name the one email you changed this week, and why.
- Common mistake: changing three emails at once. When the numbers move, you cannot tell which change did it.
See it done: Bugmoth after 4 weeks
Weeks 1 to 4 (week 1 includes notes to 19 past signups)
| Week | Signups | First win in 7 days | Notes and follow-ups | Replies | Top reason | Trials ended | New paying users |
|---|---|---|---|---|---|---|---|
| 1 | 2 | 1 | 30 | 6 | Client would have to install it | 2 | 0 |
| 2 | 3 | 1 | 18 | 3 | Client would have to install it | 1 | 0 |
| 3 | 2 | 2 | 4 | 1 | No time yet | 2 | 1 |
| 4 | 3 | 2 | 3 | 1 | Setup | 3 | 0 |
The decision: 6 of the 11 replies said the client would have to install the button. So Sam changes the welcome email's one step from "add the button to a client site" to "send this install link to your client", and judges it after 50 signups.
Why it works: The reasons pointed at one step, so they changed that step instead of writing more emails.
Your SaaS onboarding email checklist
0 of 13 done
Work through this list with an AI assistant
It drafts the work and keeps track of what is done.
Frequently asked questions
- How many onboarding emails should a SaaS send?
For a 14-day trial, five automatic emails are enough: a welcome, one when they reach the first win, one a week later, one 3 days before the trial ends and one after it ends. Add a personal note to anyone stuck after 24 hours. Send no more than 2 emails in the first 48 hours. More emails do not fix a step people cannot get past.
- What should a SaaS welcome email say?
Thank them in one line, give the one step that leads to the first win with a link to the exact screen, say how long it takes, and ask one question: "What made you sign up today?" Sign it with your first name and send it from your name, so people can reply. Leave out feature lists and logo banners.
- Should onboarding emails be plain text or HTML?
Plain text, or as close to it as your tool allows: no banner, no images, one link. A plain email reads like it came from a person, so people reply to it, and the replies tell you where they got stuck. Designed emails look like the newsletters people unsubscribe from.
- Should onboarding emails be sent by time or by what the user does?
By what the user does. An email sent when someone reaches the first win, or does not reach it in 24 hours, is always about them. A "day 5" email goes to people who already did the thing and people who never started. Use a timer only after an action, such as 7 days after the first win.
- Do onboarding emails need an unsubscribe link?
Put one in every automatic email; tools like Loops add it with your postal address. In the US, any email whose main purpose is selling needs both, and a "stop" must be acted on within 10 business days. Gmail also asks senders to act on unsubscribes within 48 hours. Keep the first emails about helping, not selling.
Sources
- 1.Email sender guidelines — Google Workspace Admin Help, checked 9 October 2026
- 2.Email sender guidelines FAQ — Google Workspace Admin Help, checked 9 October 2026
- 3.Declutter your inbox with Gmail's newest feature — Google, 8 July 2025
- 4.Pricing — Loops, checked 9 October 2026
- 5.Billing — Loops Docs, checked 9 October 2026
- 6.Workflows — Loops Docs, checked 9 October 2026
- 7.Events: trigger automated emails with Loops — Loops Docs, checked 9 October 2026
- 8.Setting up your domain — Loops Docs, checked 9 October 2026
- 9.The editor (footer content) — Loops Docs, checked 9 October 2026
- 10.Configure trial offers on subscriptions — Stripe Docs, checked 9 October 2026
- 11.Manage compliance requirements for trials and promotions — Stripe Docs, checked 9 October 2026
- 12.Automate customer emails — Stripe Docs, checked 9 October 2026
- 13.CAN-SPAM Act: A Compliance Guide for Business — Federal Trade Commission, checked 9 October 2026
- 14.Mail Privacy Protection & Privacy — Apple, checked 9 October 2026
- 15.SaaS Onboarding Best Practices: The Complete 2026 Playbook — Arcade, 15 June 2026
- 16.12 onboarding email examples from real SaaS brands (2026) — DigiStorms, 25 May 2026
- 17.How we built our onboarding email flow (with actual performance data) — PostHog, updated 18 February 2025
- 18.Comment on email drips after sign-up — Hacker News, September 2026
Next article to read
Related guides
- How to improve activation rateSaaSComing soon
- How to reduce SaaS churnSaaSComing soon
- How to write a win-back emailWrite a win-back email that brings back customers who went quiet: list everyone past their reorder gap, send each a short personal note asking why they stopped, follow up 3 times, and fix the top reason every Sunday.
- How to get your first 100 SaaS usersSaaSGet your first 100 SaaS users when a few people signed up and most never used it: count only people who did the main thing, offer a 15-minute set-up call in 100 messages and 20 answers a day, set up every signup within 24 hours, launch once you have 20 users, and count users by source every Sunday.
Guides that link here
- How to build a free tool that brings in leadsSaaS
- How to build an email list for free
- How to grow a newsletter from scratch
- How to write a win-back email
- How to fix a SaaS launch that got zero signupsSaaS
- How to get beta users for your startupSaaS
- How to get people to try your product
- How to get your first 100 SaaS usersSaaS
- How to build a waitlist before you launch
- How to launch on Product HuntSaaS
- How to post a Show HN on Hacker NewsSaaS
- How to submit your SaaS to directoriesSaaS
- Should you do an AppSumo lifetime deal?SaaS
- How to price a SaaS productSaaS
- How to get listed in integration marketplacesSaaS
- How to get G2 reviewsSaaS
- How to start a referral program
- How to build a community around your brand
Cite this page
Dinesh Bypilla (2026). How to write SaaS onboarding emails. Scout7 Academy. https://scout7.ai/academy/email-marketing/how-to-write-saas-onboarding-emails
Written by Dinesh Bypilla, Agentic systems engineer at Scout7. Reviewed by Murali Sid. Last checked 9 October 2026.
Quote any part of this guide with a link back to this page. © 2026 Scout7.
Markdown version of this page: https://scout7.ai/academy/email-marketing/how-to-write-saas-onboarding-emails.md