We only start adding SMS to Klaviyo flows after email has failed twice
SMS enters a flow only after two emails went undelivered or unopened. A text opt-out is far harder to win back than an ignored email.
Most agencies bolt a text onto every flow and call it channel diversity. Then the opt-outs arrive, from people who'd read both emails and decided. Our rule is duller and it protects the channel: SMS enters a flow only after the inbox has failed twice, and the flow logic has to prove it.

A text slot in the flow builder isn't a reason to send a text
Look, most agencies will tell you to bolt a text onto every flow you run. The cart sequence goes from two emails to two emails and a text, sent to everyone who abandons, whatever those emails actually did. A week later there's an opt-out spike. And a client asking why SMS is suddenly the least trusted channel in the account.
The person who converted off email one never needed the nudge, and they get texted anyway. That's the cost of treating SMS as a step instead of a decision. An SMS opt-out is far harder to win back than an ignored email.
Our rule is boring on purpose: SMS only enters a flow after the two email sends before it were undelivered or unopened. Not underperforming. Not a bit slow to convert. If somebody opened email one and clicked through to browse, they get another email or nothing, because they're still in the conversation on the channel they already use.
Build the gate on delivery and opens, not on time elapsed
The default logic most platforms nudge you towards is time based. Wait a day, send email two, wait again, send the text. That isn't an escalation, it's a countdown. It never asks what happened to the first two sends before switching channels.
What you want is a conditional split sitting directly before the SMS step, checking two things on each prior email. Was it delivered, and was it opened. If both came back delivered and opened, or either one converted, the contact exits or rolls into a plain follow-up email. If both bounced, landed in spam or sat unopened, the inbox isn't reaching this person, and SMS becomes a real second channel instead of a repeat of the first.
In Klaviyo that's a conditional split referencing the opened email metric and bounce or suppression status on the two prior sends. Never a blanket delay. It's the same filter pattern that stops two parts of the flow programme messaging one person in the same hour. Twenty extra minutes to build, and those minutes are the whole difference between checking and hoping.
Decide what a failed send means before you open the flow builder
Undelivered or unopened sounds like a clean rule until the data argues back. Email two shows delivered but unopened, and the contact clicked a link in email one a few days earlier. That's not a failure. They're plainly engaged, they just skipped one send.
So set the definition before you touch the builder. A send counts as failed only if it has no open and no click of its own. A click on email one doesn't excuse an unopened email two, because the question is whether this specific message landed. Two clean fails on two independent sends, no credit carried over, is what earns the switch to SMS.
Write the definition into the flow's internal notes before you build it. Six months from now somebody else on the account will open this flow and find a conditional split. They should be able to read what it checks without reverse engineering your logic from the conditions.
Gate the rescue messages and leave the service messages alone
The gate earns its keep on any flow where the text exists to recover something: cart, browse, back in stock, price drop. In every one of those the message means we think you still want this, and the first attempt to tell you didn't land. That's exactly what a second channel is for.
Some texts are doing a job email was never going to do as well, and those skip the gate entirely. Shipping confirmations, delivery day alerts, a restock text somebody explicitly asked for. None of those is an escalation from a failed email. Immediacy is the point, so gating them against email performance solves a problem that doesn't exist.
The test is one question. Is this SMS standing in for an email that didn't work, or doing something email can't do here? The first kind gets the gate. The second is a channel choice, and it belongs to how you run SMS and WhatsApp alongside email, not to any rescue logic.
How to audit an SMS step you inherited
Take over an account and the question is whether an existing SMS step is a rescue or a habit. The flow report answers that faster than the copy does. Start with the two emails immediately before the text.

- Pull the open and click rates on the two email sends before the SMS step, for the segment that actually reaches it
- If both look comfortably healthy, the text is very likely reaching people who didn't need it
- Check whether the SMS step has any conditional split at all, or just a flat delay off the previous email
- Compare opt-out rates on the SMS step against the flow's emails, and treat a wide gap as an early warning
- Read the SMS copy: if it repeats the email offer word for word instead of acknowledging a missed message, it's a habit send dressed as strategy
Most flows fail that checklist on the first two lines. So the fix is in the gate, not the copy. It's the rebuild we make most often on accounts we take over: fewer texts, and the ones that still go out have a reason to exist.

Alex Gregoriades
Operations director at Engage Commerce, where he runs the accounts the writing comes out of.
FAQs

Should SMS be in every Klaviyo flow?
No. It belongs where a message needs to recover something the inbox failed to deliver, or where immediacy is the whole point, like delivery updates. Adding a text step to every flow because the builder offers one is how brands burn consent they spent months earning.
What counts as a failed email send?
A send with no open and no click of its own, judged on that message alone. Engagement elsewhere in the flow doesn't excuse it, and a bounce or a spam placement fails it immediately. Decide the definition in writing before you build the split, so the logic stays consistent when somebody else opens the flow.
Why not just send the SMS on a time delay?
A time delay asks nothing about what happened before it fires. It texts people who've already read both emails and chosen not to buy, which reminds an engaged customer that opting out is an option. A conditional split on delivery and open status sends fewer texts, to people whose inbox genuinely never showed them the message.
Which flows should skip the gate?
Anything where the text is a service message instead of a rescue. Shipping confirmations, delivery day alerts and requested restock notifications work because they're instant, not because email failed first. Gate the recovery flows, and let the service messages fire on their own logic.
A rescue channel only works if you save it for rescues
Add SMS as a reflex and you train your best customers to ignore it, and the opt-out curve says so long before the revenue does. Add it as a rescue, gated on two sends the inbox genuinely failed to deliver, and the channel still means something on the day you need it. The gate isn't caution. It's what keeps the loudest channel in the account worth having.
Flows and automation
The automated journeys that earn while nobody touches them.

Why are my abandoned cart emails not working? Check the product page they point back to
When opens and clicks hold steady but completed checkouts fall, the blocker is on the other side of the click, not in your emails.
Read it
Email Automation Alchemy: Turning Clicks into Cash for Your Ecom Empire
The essential email automation flows for ecommerce: welcome series, abandoned cart, post-purchase, re-engagement, personalisation and seasonal timing.
Read it
Your Google ads already did the welcome flow segmentation for you
The search term that won the click is a ranked trust score, and most welcome flows throw it away at the popup.
Read itWould you rather this was just handled?
Bring your Klaviyo account and the thing annoying you most. We will tell you what we would fix first, on the call, before you spend anything.


Book a call with our founder.
We're all about relationships built on trust, mutual respect and a shared vision for success. If that sounds like your vibe, let's make some waves together 🌊



