Here's the pattern almost every trial funnel has: a user signs up, gets a welcome email, does nothing on day 1, gets a "here's how to get started" email on day 3, still does nothing, and gets a "your trial ends soon" email on day 5 that lands in a work inbox with 400 unread messages. By the time they'd open it — if they open it — the activation window is already closed.
Full disclosure: I work for Ready, an SMS platform. So I have a bias toward the channel. But the honest position isn't "text everything." It's that some onboarding moments are time-sensitive and personal enough that a text does a job email structurally can't — and plenty of others are still better off as email. This post is about drawing that line.
Why the day-5 email misses and the day-2 text lands
Email and SMS fail and succeed for different reasons.
Email is cheap, roomy, and good for anything that needs formatting, screenshots, or a paragraph of explanation. But open rates for onboarding email sit somewhere in the 20–35% range depending on your list hygiene, and the time-to-open can be hours or days. For a milestone that has to happen inside a 14-day trial, "opened three days later" is functionally a miss.
SMS gets read fast — most texts are opened within minutes, and opted-in response rates often land somewhere around 30–50%. That immediacy is the whole point. A "you're one step from your first report — want the 2-minute setup link?" text on day 2, while the user still remembers signing up, catches them in the window where activation is still emotionally live.
The mistake is treating this as a versus. It's a division of labor.
The consent line that makes it legal
Before any of this, the legal part, because it's not optional and it's not complicated.
Transactional onboarding texts to a user who signed up for your product still need express consent to receive SMS specifically. Signing up for your app is not the same as opting in to texts. You capture SMS consent at signup with a clear checkbox or line:
"Text me setup reminders and account alerts at this number. Msg & data rates may apply. Reply STOP to opt out."
That gets you an auditable opt-in. Ready records consent attestation on bulk and API sends, honors inbound STOP automatically and propagates the opt-out so a stopped contact can't be messaged again from another campaign, and enforces quiet hours based on the recipient's local time — so your 9pm-Pacific "finish setup" nudge doesn't fire at 6am for the user in London. None of that makes you lawsuit-proof; consent is ultimately your responsibility. It does mean the plumbing is doing the right thing by default.
If you send from the same number for onboarding texts and marketing blasts, read the note in this post on separating transactional and marketing numbers — mixing them gets both filtered. And the 10DLC registration side for SaaS specifically is covered here.
The channel-by-step map
Here's how I'd split a standard 14-day trial. The rule of thumb: SMS for time-boxed, single-action, "you're about to lose momentum" moments; email for education, depth, and anything with a screenshot.
| Onboarding moment | Channel | Why |
|---|---|---|
| Welcome + full getting-started guide | Needs room, links, screenshots | |
| Day 2: not activated yet, one setup step left | SMS | Single action, momentum still warm, high open speed |
| Day 3: feature deep-dive / use-case education | Long-form, no urgency | |
| Activation milestone hit ("you built your first X") | SMS | Reinforce the win instantly, celebratory + short |
| Day 5–7: weekly tips / best practices | Digestible, batchable, not time-critical | |
| Day 11: trial ends in 3 days, still not activated | SMS | Hard deadline, needs to be seen, one clear CTA |
| Day 13: trial ends tomorrow, active but no card | SMS | Deadline + single action (add card) |
| Post-trial: didn't convert, here's what you missed | Long-form winback, no live deadline |
The day-2 and day-11 texts are the two that most consistently move activation numbers, because both sit on a clock and both ask for exactly one thing. Notice what's not in SMS: nothing that needs a screenshot, nothing educational, nothing you'd want the user to sit and read for two minutes.
Keep the SMS to one action per text
The reason a text outperforms an email at these moments is precisely that it's cramped. Use that.
An onboarding SMS should be one sentence, one link, one action:
"Hey Sam — you're one step from your first dashboard. Add a data source here (takes ~2 min): rdy.co/xk9. Reply STOP to opt out."
That's about 115 characters plus the STOP line — one GSM-7 segment (160 chars). Add an emoji and you drop the ceiling to 70 chars per segment and split into two, doubling the per-send cost. For transactional onboarding, skip the emoji. The message is the value, not the decoration.
If a user replies to that text — "how do I connect Postgres?" — that's where the two-way inbox earns its keep. Their reply lands in your conversations inbox (and inside GoHighLevel if you've connected it, mapped per location so an agency's clients stay isolated). A human can answer, or Ready's AI-assisted replies can suggest a response you approve before it sends. Onboarding isn't a broadcast; the users most likely to convert are the ones with a question.
The cost of running SMS on this milestone map
Text is not free, and the whole point of a channel split is you're not texting everything — so the spend stays small and targeted.
Say you're onboarding 3,000 trial signups a month. On the map above, each user gets roughly four one-segment SMS touches across the trial (day 2, milestone, day 11, day 13 — and not everyone hits all four, since activated users skip the nudges). Call it an average of 3 segments per user.
- 3,000 users × 3 segments = 9,000 segments
- On Ready's Standard tier that's $0.02/segment + the $0.0045 carrier pass-through = $0.0245 all-in
- 9,000 × $0.0245 = $220.50/month
For a channel that catches trial users a day-5 email never reaches, $220 to move even a few points of activation on 3,000 signups is trivial arithmetic — one recovered annual sub usually covers the year. If you cross 50,000 segments in a month, the per-segment rate drops to $0.016 automatically; you don't pick a plan or ask for it. Full pricing is on the product page.
One more spend note: layer the litigator/DNC scrub at $0.005/contact before a first send to a batch of new numbers. On 3,000 signups that's $15 to screen out known TCPA-litigator and DNC-complainer numbers — cheap insurance against the $500–$1,500-per-text exposure a single bad number can carry.
Don't double-fire the same beat on both channels
The failure mode when teams add SMS to an existing email flow: they leave the email running and add the text at the same step, so the user gets both at once. That reliably bumps unsubscribe rates because it reads as pushy on both channels. If a moment belongs in SMS, move it out of email — don't stack them. The branch-logic version of this problem is worked through in this post on splitting SMS and email steps, and if you're building in GoHighLevel, the duplicate-send guardrails are worth setting up before you launch.
The map above already avoids overlap: each moment lives on exactly one channel. Build it that way and you never have to untangle a double-text later.
The practical takeaway
Email still does most of your onboarding work — the welcome, the education, the depth. SMS earns its place at four specific beats: the day-2 momentum nudge, the milestone win, and the two end-of-trial deadline reminders. Each is one action, one link, on a clock. Capture SMS consent at signup, keep the messages to a single segment, and never run the text and the email at the same step.
If you want to wire the four SMS beats into an existing trial flow, creative SaaS onboarding journeys has more sequence ideas, and you can start with 2,500 free credits — no card — at app.tryready.com/signup to send the day-2 text and see whether it moves your activation number before you commit anything.