Trial users should get emails triggered by what they do, or fail to do, in the product, not by days since signup. Build your SaaS onboarding email sequence around activation milestones: each email pushes one user toward one next action, fires when they reach or miss a step, and stops once they complete it. Then judge it by activation rate and trial-to-paid, not opens.
Define activation before writing emails
Most onboarding sequences are written backward: “Day 1, Day 3, Day 7,” each slot filled with a feature. Start instead with one question: what does a trial user have to do before they’re likely to pay?
That action is your activation event. To find it, pull your last few hundred trials and look for actions converters took in their first days that non-converters mostly skipped.
A good activation event is:
- Observable as an event you can send to your email tool
- Reachable inside the trial window, ideally in the first few sessions
- Predictive of paying, not just of curiosity
- Account-level for B2B products, where the buyer is a team, not one user
“Logged in twice” isn’t activation. “Connected a data source and shared a first report” might be.
Then break the path into milestones. An example for a hypothetical reporting tool:
| Milestone | What it means | Example event |
|---|---|---|
| Signed up | Account created | signup_completed |
| Set up | Data connected, product usable | integration_connected |
| First value | User got the result they came for | report_created |
| Activated | Value shared or repeated | report_shared |
| Team adoption | Colleagues are in | teammate_invited |
Every email in the sequence exists to move someone from one row to the next.
Time-based vs behavior-based sequences
A time-based sequence sends the same emails to everyone on a fixed schedule. It’s quick to build and needs no product data, which is why most teams start there. The problem: on day three, the user who connected their data in hour one gets an email telling them to connect their data.
A behavior-based sequence triggers each email from what the user did or didn’t do, and removes them from a step once they complete it.
| Time-based | Behavior-based | |
|---|---|---|
| Trigger | Days since signup | Product events, or their absence |
| Relevance | Same message for fast and slow users | Matches where the user actually is |
| Setup effort | Low | Needs product events in your email tool |
| Failure mode | Telling active users to do what they already did | Silent gaps if an event breaks |
In practice you want a hybrid: behavior triggers with time windows. “If integration_connected hasn’t fired within 24 hours of signup, send the setup nudge” is both.
The plumbing matters more than the copy. Product events need to reach your email or CRM tool, through a CDP like Segment or RudderStack, a direct integration, or a sync from your data warehouse. Test every trigger with a test account before launch and after releases that touch those events.
The core SaaS onboarding email sequence
This is the sequence I start from for most 14-day B2B SaaS trials. Swap in your own milestones.
| # | Trigger | Goal | Subject line idea | Exit when |
|---|---|---|---|---|
| 1 | Signup | Start setup | “Your first step in [Product]” | Setup done |
| 2 | No setup after 24 hours | Remove the setup blocker | “Stuck connecting [data source]?” | Setup done |
| 3 | Setup completed | Reach first value | “Now build your first [result]” | First value reached |
| 4 | First value reached | Share or repeat it | “Send this to your team” | Activated |
| 5 | Activated, single user | Bring in colleagues | “Who else needs to see this?” | Teammate invited |
| 6 | Activated, around mid-trial | Show a second use case | “Most teams use it for [use case] next” | Trial ends |
| 7 | 3 days before trial ends | Choose a plan | See the expiry section below | Converted |
A fast user might get emails 1, 3, 4 and 5 in their first two days and never see email 2. A slow user might see only 1 and 2 in the first week. That’s the point.
Rules for every email
- One email, one action. One link, pointing to the exact screen where the action happens.
- Plain text from a real person. It reads like help, not marketing.
- Replies go to a monitored inbox. Onboarding replies are some of the best product feedback you’ll get.
- Keep onboarding separate from your newsletter, so unsubscribing from one doesn’t silence the other.
A copyable welcome email:
Subject: Your first step in [Product]
Hi [First name],
Thanks for starting a trial. The teams that get the most from
[Product] do one thing first: connect [data source]. It takes
about [X] minutes, and everything else builds on it.
Connect [data source]: [deep link]
If anything gets in the way, reply to this email. It comes
straight to me.
[Name], [Role] at [Product]
Nudges for stalled users
A stall is when a user hasn’t reached the next milestone within the window you’d expect. Set that window from your own data: if most converters finish setup on day one, a user with no setup after 24 hours has stalled, which is why email 2 fires then.
Different stalls need different nudges:
| Stall signal | Likely cause | Nudge |
|---|---|---|
| Never came back after signup | Bad timing, or unclear first step | One-question email: “What were you hoping to get done?” |
| Started setup but didn’t finish | Technical blocker or missing access | Troubleshooting help plus an offer to set it up together |
| Set up, no first value | Blank-slate problem | A template or sample data to start from |
| Activated, then went quiet | No habit or reason to return | A specific use case tied to their role or data |
Cap nudges at two per milestone, then offer human help or leave the user alone. And stop all automation the moment someone replies; a person should answer.
If many users stall at the same step, that’s a product problem. Email can soften it, but the fix belongs on the roadmap.
Trial expiry and conversion emails
Don’t send one expiry email to everyone. What you send should depend on activation state.
Activated users get a reminder that leads with what they’ve built, such as “You’ve created 14 reports and shared 3 with your team,” pulled from product data, then one link to choose a plan and a line on what happens to their work if they don’t.
Users who aren’t activated rarely pay because of a reminder. Offer a short extension or a setup call instead of pushing a plan.
Power users, near plan limits or with several teammates, get pointed to the plan that fits their usage, or to sales (next section).
A typical expiry schedule:
- 3 days before: segmented reminder based on activation state
- 1 day before: short reminder with the plan link
- Expiry day: “Your trial has ended,” with what’s preserved and how to restart
- 7 to 14 days after: one follow-up asking what stopped them
If you take a card at signup, send a clear pre-charge reminder with the date, amount and how to cancel. It reduces disputes, and some markets and card networks require it; check the rules where you sell.
If the link opens a confusing plans page, the email did its job and the page lost the sale; see SaaS pricing page best practices.
Handing product-qualified leads to sales
If your larger plans justify a sales conversation, some trials shouldn’t get self-serve conversion emails at all. They should get a person.
A product-qualified lead (PQL) combines three things:
- Activation: they reached your activation event.
- Fit: company size, industry or role matches your ideal customer profile.
- Buying signal: hitting a plan limit, inviting several teammates, using a higher-tier feature, or returning to the pricing page.
Define the rule, then build the handoff:
- Sync key product properties (activation status, seats, usage) to the CRM at contact and company level
- When the PQL rule fires, create a task or deal for the account owner automatically
- Pause automated conversion emails for that account so sales and marketing don’t collide
- Give sales the context: what the user did, when, and which signal fired
- Set a response time, such as one business day, and track it
- Record outcomes so you can check whether PQLs actually close better
If you already score leads in HubSpot, product signals fit into the same model; see how to build a lead scoring model in HubSpot.
Measuring activation and trial-to-paid
Open rates tell you almost nothing. Apple Mail Privacy Protection inflates them, and an opened email that doesn’t change behavior isn’t a win. Measure what users do in the product.
Track these by weekly signup cohort:
- Activation rate: activated trials ÷ trials started
- Time to activate: median time from signup to activation
- Milestone conversion: the share moving from each step to the next, which exposes the weakest step
- Trial-to-paid: paying accounts ÷ trials started, measured once the cohort’s trial has ended
- PQL-to-closed: for sales-assisted plans
To know whether the emails work, keep a holdout: a random slice of new trials gets only transactional emails. A worked example with made-up round numbers: 1,000 trials a month, 10% held out. If the emailed group activates at 36% and the holdout at 30%, the sequence is adding about six points of activation. Small holdouts are noisy, so read the result across several months, not one week.
When I audit SaaS onboarding, the fix is rarely better copy. It’s usually missing events, users getting emails for steps they already finished, and nobody checking what happens after the click. That’s the work I do in lifecycle marketing: the triggers, the data and the reporting, not just the emails.
Get it built
If trial users sign up and go quiet, I’ll map your activation milestones, wire up the product events and build a sequence you can measure. Most engagements start with a fixed-price Growth Audit, credited if we continue. See pricing or get in touch.