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_
| 14-day trial | 30-day trial | |
|---|---|---|
| Activation check | Day 2 | Day 3 |
| Mid-trial value recap | Day 7 | Day 15 |
| Objection handler (T-3) | Day 11 | Day 27 |
| Urgency (T-1) | Day 13 | Day 29 |
| Expiry / grace day | Day 14–15 | Day 30–31 |
| Post-expiry win-back | Day 18–21 | Day 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.
| Event | Send it when | Properties | Sent from |
|---|---|---|---|
| signup_ | The signup form is submitted, before email verification | source, plan_ | Browser |
| signup_ | The account exists and the email is verified. Identify the user here, with the ID your billing system uses | trial_ | Server |
| activated | The user completes your aha action for the first time (define it once, for example "first report shared") | activation_ | Server |
| trial_ | A daily job finds trial_ | days_ | Server, scheduled |
| subscription_ | Your billing provider confirms the first successful charge | plan, interval, amount | Server, from the billing webhook |
Two naming rules keep the plan readable a year later: object_
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_
| 1 · Onboarding: first value | 2 · Onboarding: stalled trial | 3 · Trial-expiry rescue | |
|---|---|---|---|
| Trigger | signup_ | No activated event 48 hours after signup_ | trial_ |
| Entry filter | On a trial plan; not an internal or test account | Same, and no reply to the welcome email | No subscription_ |
| Steps | Welcome email → wait up to 48 hours for activated → next-step email | Help email → wait up to 3 days for activated → plain-text check-in from a person | Branch 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 |
| Suppression | Unsubscribed and hard-bounced contacts never enter; at most one marketing email a day across journeys | Same; pause while a person is answering their reply | Same; skip the reactivation email if they replied or booked a call |
| Exit and goal | Goal: activated. Exit on subscription_ | Goal: activated. Exit on subscription_ | Goal and exit: subscription_ |
Adapt six messages
| Message | Subject line | Opening line | One call to action |
|---|---|---|---|
| Onboarding (welcome) | Welcome to {product}: one thing to do first | Most teams get value from {product} the day they {aha_ | {aha_ |
| Activation (next step) | You {aha_ | That's the step most trials never reach. The next one is {next_ | {next_ |
| Help (stalled trial) | Stuck on {setup_ | You signed up {days} days ago and haven't {aha_ | Reply to this email |
| Trial nearing its end (T-3, T-1) | {days_ | So far you've {usage_ | Choose a plan |
| Expiration (grace day) | Your trial ended. Your work is still here | Your trial ended on {trial_ | Keep my account |
| Reactivation (win-back) | Pick up where you left off | Since you last logged in, we shipped {relevant_ | 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.