Skip to content

Trial-to-paid emails

Trial-to-paid emails are the short sequence that turns an activated trial user into a paying customer before the trial expires. Onboarding gets someone to their aha moment; this sequence gets them to enter a card. It recaps the value they already got, answers one objection, and adds honest urgency as the deadline nears.

Updated 12 min readBy fromHello

Key takeaways

  1. Onboarding gets a user activated; the trial-to-paid sequence gets them to pay. It picks up exactly where onboarding stops.

  2. Tie every value recap to what the user did in-product. 'You built 5 segments' converts better than 'our platform is powerful.'

  3. A standing discount trains people to let trials lapse. Reserve discounts for a targeted win-back, not the main sequence.

  4. Encharge, citing MadKudu, reports roughly half of SaaS conversions can happen after the trial ends — keep a grace day and a post-expiry email.

Where does the trial-to-paid sequence pick up?

Onboarding and trial-to-paid emails do two different jobs. The onboarding sequence has one goal: get the user to their aha moment — the point where the product's value is obvious. That is activation. It is not a purchase.

The trial-to-paid sequence picks up from there. It assumes the value is already delivered and does the one thing onboarding does not: ask for the card. Where onboarding maps to the activation lifecycle stage, this sequence maps to the trial-to-paid decision — a short, well-timed push that ends before the trial does.

What does the sequence look like, and when does each email go out?

Six emails, sequenced across the trial. Some fire on behavior, some on the calendar. The first two react to what the user does; the last four count down to expiry. A journey engine handles the mix — a wait_for_event node holds the activation email until the user actually activates, and a branch node routes activated and passive trialists down different paths.

The six-email trial-to-paid sequence, from activation check to post-expiry win-back.
Email14-day trial30-day trial
Activation checkDay 2Day 3
Mid-trial value recapDay 7Day 15
Objection handler (T-3)Day 11Day 27
Urgency (T-1)Day 13Day 29
Expiry / grace dayDay 14–15Day 30–31
Post-expiry win-backDay 18–21Day 34–37

What should each email actually say?

The recap emails should tie value to what the user actually did in the product, not to your feature list. 'You built 5 segments and shipped 2 journeys — here is what that turns into on a paid plan' beats 'our platform is powerful.' Specifics that mirror their own activity are the strongest argument you have.

  • A value recap tied to a real in-product action, with a number where you have one
  • Exactly one objection, named and answered — price, migration effort, or a missing integration
  • Optional social proof: one line, one number, from a comparable team
  • One clear CTA — upgrade — and nothing competing with it
  • Plain language on what happens at expiry: what they keep, what they lose

Pick the single objection most likely to stall the purchase and answer it directly — do not list five. This is the judgment a lifecycle marketer brings: knowing which objection is real for this segment. If you are building the wider system these emails live in, see lifecycle marketing for startups.

The expiry day and the grace period

The expiry-day email is not a footnote. Send it the moment the trial ends: state that access has changed, and give one path back. Then add a short grace window — a day or two where the account still works — and say so. If you collect a card upfront, note the timing rules: Userlist points out that card networks such as Visa require at least seven days' notice before a trial converts to a paid charge, so your reminders have to run early enough to comply.

Do not treat expiry as the end. Encharge, citing a MadKudu analysis, reports that roughly half of SaaS conversions can happen after the trial ends — which is why a post-expiry win-back earns its place. Send a lighter re-engagement a few days later. And once a user does convert, the next leak is billing: a failed charge quietly churns a paying customer, so pair this sequence with dunning and failed-payment recovery.

Should you offer a discount?

Sparingly. A standing 20% off in every trial-end email trains people to let the trial lapse and wait for the coupon — you teach your best-intent users to stall. Prefer honest urgency and a value recap during the live trial. Reserve a discount for a targeted win-back to users who lapsed without converting, where it is a genuine second offer, not a reflex. Tools like Customer.io, Encharge, and Loops can gate that offer to a specific lapsed segment.

How do you measure trial-to-paid conversion?

Trial-to-paid conversion rate is paying customers divided by trials started in the same cohort — cohort by signup week, not by calendar month, or late signups distort the rate. Segment it by activated versus not; the activated cohort is the one your emails can move. Benchmarks vary widely with trial design: Baremetrics reports opt-in trials (no card required) often convert around 15–25%, while card-upfront trials often run higher, roughly 40–60%. Treat those as reference points, not targets — your product and audience set the real number.

The starter kit: events, journeys and messages

Everything below is a template to adapt, not a result: event names, journey rules and message drafts sized for a 14-day trial. Swap in your own aha action, trial length and plan names. The same kit is available as a Markdown file to drop into your repo or wiki.

Track five events

Five events carry the whole sequence. Send product and billing events from your server, where an ad blocker can't drop them and a visitor can't fake them, and keep personal data on the profile rather than in event properties.

EventSend it whenPropertiesSent from
signup_startedThe signup form is submitted, before email verificationsource, plan_intentBrowser
signup_completedThe account exists and the email is verified. Identify the user here, with the ID your billing system usestrial_ends_at, planServer
activatedThe user completes your aha action for the first time (define it once, for example "first report shared")activation_action, days_since_signupServer
trial_expiringA daily job finds trial_ends_at three days away, then one day awaydays_left, trial_ends_atServer, scheduled
subscription_startedYour billing provider confirms the first successful chargeplan, interval, amountServer, from the billing webhook

Two naming rules keep the plan readable a year later: object_action in snake_case, and the past tense for things that already happened. Write it down once, with an owner: that is all a tracking plan is.

Build three journeys

Two onboarding journeys split activated and stalled trials; the third rescues the trial at expiry. All three share the same guardrails: everyone leaves the moment subscription_started arrives, unsubscribed and hard-bounced contacts never enter, and internal or test accounts are filtered out at entry.

1 · Onboarding: first value2 · Onboarding: stalled trial3 · Trial-expiry rescue
Triggersignup_completedNo activated event 48 hours after signup_completed (handed over from journey 1)trial_expiring with days_left = 3
Entry filterOn a trial plan; not an internal or test accountSame, and no reply to the welcome emailNo subscription_started yet
StepsWelcome email → wait up to 48 hours for activated → next-step emailHelp email → wait up to 3 days for activated → plain-text check-in from a personBranch on activated: value recap with one objection answered, or help with an extension offer → T-1 reminder → expiry and grace-day email → reactivation email 4 days later
SuppressionUnsubscribed and hard-bounced contacts never enter; at most one marketing email a day across journeysSame; pause while a person is answering their replySame; skip the reactivation email if they replied or booked a call
Exit and goalGoal: activated. Exit on subscription_startedGoal: activated. Exit on subscription_startedGoal and exit: subscription_started, at any step
Journeys 1 and 2, onboarding: a welcome email, a wait of up to 48 hours for the activated event, then the next step for activated users or a help email for the others, and a plain-text check-in from a person if they are still stalled three days later.
Journey 3, trial-expiry rescue: triggered three days before the trial ends, it branches on activation into a value recap or a help email with an extension offer, then sends a T-1 reminder, an expiry and grace-day email, and a reactivation email four days later.

Adapt six messages

MessageSubject lineOpening lineOne call to action
Onboarding (welcome)Welcome to {product}: one thing to do firstMost teams get value from {product} the day they {aha_action}. Here is the shortest path there.{aha_action}
Activation (next step)You {aha_action_past}. Here's what comes nextThat's the step most trials never reach. The next one is {next_action}, and it takes about five minutes.{next_action}
Help (stalled trial)Stuck on {setup_step}?You signed up {days} days ago and haven't {aha_action_past} yet. Usually it's {common_blocker}: here's the fix, or reply and a person will help.Reply to this email
Trial nearing its end (T-3, T-1){days_left} days left: what you've built so farSo far you've {usage_summary}. On {plan}, all of it keeps running after {trial_end_date}.Choose a plan
Expiration (grace day)Your trial ended. Your work is still hereYour trial ended on {trial_end_date}. Your {objects} stay put for {grace_days} days, so you can pick a plan without losing anything.Keep my account
Reactivation (win-back)Pick up where you left offSince you last logged in, we shipped {relevant_change}. Your {objects} are still here if you want another look.Restart my trial

Placeholders in braces come from profile properties and event data. Write each message in plain text first, keep one call to action, leave discounts out of the main sequence, and pull every statement about the user's activity from a real property, never a guess.

Before you switch it on

  • Run every journey with a test profile: fire each event by hand and check who enters, who waits and who exits.
  • Pay with a test card halfway through journey 3 and confirm the remaining emails stop.
  • Send in each user's time zone, never overnight, and cap marketing email at one a day across journeys.
  • If you take a card upfront, start the reminders early enough for the card networks' notice rules described above.
  • Measure trial-to-paid by signup-week cohort, and keep a small holdout group if you want to know what the sequence itself adds.

Any journey tool with event triggers, waits that end on an event, and an exit rule can run this kit. In fromHello, the five events come in through the tracking snippet or the API, and each journey above is built from the builder's own nodes: send email, wait, wait for event, branch, goal and exit. Startups under two years old that have raised less than €5M can apply for 12 months of fromHello Core through our startup program. Other vendors run startup programs too, and our comparison of marketing automation startup programs sets their terms side by side.

FAQ

Common questions

  • When should the trial-to-paid sequence start?

    Once the user is activated — has hit their aha moment — or once the trial clock forces the decision, whichever comes first. Activated users get a value recap; passive ones get help reaching activation before any sales push.

  • How many emails should a trial-to-paid sequence have?

    Around five to six. An activation check, a mid-trial recap, an objection handler near T-3, an urgency email at T-1, an expiry or grace note, and a post-expiry win-back. More than that and you are nagging; fewer and you skip the objection or the follow-up.

  • Should trial emails offer a discount to convert?

    Rarely. A standing discount trains users to let trials lapse and wait for the coupon. Lead with urgency and a value recap during the trial, and reserve discounts for a targeted win-back to users who already lapsed.

  • What counts as a good trial-to-paid conversion rate?

    It depends heavily on trial design. Baremetrics reports opt-in trials often land around 15–25%, with card-upfront trials higher. Cohort your own rate by signup week and track the trend rather than chasing a benchmark.

  • Which events do you need for trial-to-paid emails?

    Five cover it: signup_started, signup_completed, activated, trial_expiring and subscription_started. Send the last four from your server, identify the user on signup_completed, and make every trial journey exit on subscription_started so nobody who just paid gets a reminder.

fromHello is open-source marketing automation: messages triggered by what people do.

fromHello Cloud is in early access through the waitlist.

Early access

fromHello Cloud

You didn’t start this to stay small.

Early access to fromHello Cloud opens in stages. Onboarding is hands-on: we help you get set up and bring your contacts over.

We’ll email you when your spot opens. No spam.

Not ready to join? View on GitHub