Est. reading time: 7 minutes
A brand turns on SMS, and within a week every email flow has a text message bolted beside it. The abandoned checkout email lands, the abandoned checkout text lands a minute later, and both carry the same discount code. A shopper who was already deciding now has two notifications asking the same question, and the brand is paying per message for the second one.
This is the default pattern we find when we audit Klaviyo accounts that added SMS. Nobody decided who should get which message. The channels were stacked, and the reports looked healthy because each channel claimed credit for the same orders.
Orchestration is the set of decisions that prevents this. It covers who is reachable on which channel, which messages belong where, how the two are spaced, which send wins when they collide, and how you judge whether the text earned its cost.
Split the audience by channel consent before building email and SMS orchestration
Most accounts treat the SMS list as a subset of the email list that receives everything twice. That framing hides the groups the program has to serve. Your reachable audience sorts into three segments, and each needs its own plan:
- Email-only subscribers, usually the largest group, who can only be reached in the inbox.
- SMS-only subscribers, who gave a phone number and either never gave an email or later unsubscribed from it.
- Dual-consent subscribers, the group where nearly every orchestration decision gets made.
Consent for each channel is collected and tracked separately. Klaviyo’s documentation states that email consent does not count as SMS consent and the reverse, and that SMS consent has to stay optional. Any plan that assumes the two lists overlap cleanly will misfire on both ends.
The fix is to build three saved segments on consent status and use them as the starting filter for every campaign and as the branching logic in every flow that carries both channels. The SMS-only group deserves more attention than its size suggests. When a flow is written as an email sequence with texts attached, these subscribers receive a fragment of it with no context, so any flow they can enter needs text messages that make sense on their own.
Smart Sending will not space an email and a text for you
The assumption we run into most often is that Klaviyo’s frequency controls already handle cross-channel overlap. They don’t. Smart Sending runs an independent window for each channel, so a profile that just received an email is still eligible for a text the same day with Smart Sending on. The defaults differ too (16 hours for email, 24 for SMS), and SMS lets you set separate windows for campaigns and flows.
Two more behaviors from the same documentation shape the plan. Transactional messages are never skipped and never start the countdown, so order and shipping texts sit outside the system entirely. Messages skipped by Smart Sending are also not rescheduled, which means a text that loses to an earlier send simply never goes out.
The fix is to build cross-channel spacing yourself. In flows, put a time delay between an email and the text that follows it, and gate the text on whether the recipient already engaged with the email or completed the purchase. In campaigns, schedule the SMS hours after the email instead of alongside it, and decide in advance whether it goes to the full dual-consent segment or only to the people who ignored the email.
Give SMS the messages where timing carries the value
Email is cheap to send, holds long content, and gets read on the customer’s schedule. SMS costs money per message, holds a sentence or two, and gets seen within minutes. Those properties should decide the channel for each message, and in most stacked accounts that decision was never made.
Product education, founder stories, newsletters, and anything that needs images or several links belong in email. A text earns its cost when the moment matters more than the content. A checkout left open while stock runs low, a sale ending tonight, early access for your most engaged buyers, and delivery updates the customer is waiting on all qualify.
Make SMS the escalation step in abandonment flows
Abandoned checkout is where stacking wastes the most money, because the flow fires on high-intent shoppers who often finish the purchase on their own. Send the email first. After a delay, check whether the order came through and whether the email was opened or clicked, and send the text only to shoppers who are still outstanding. The text then reaches the people the email missed, and it arrives as a shorter second nudge with its own job.
Browse abandonment usually belongs on email alone. Intent is lower, trigger volume is higher, and a text about a product someone glanced at once lands as intrusive for many customers. Per-message cost multiplied across that volume rarely pays back.
Run welcome series as separate flows
Welcome sequences are the exception to building SMS inside the email flow. Klaviyo recommends separate welcome flows for each channel, because people often subscribe to email and SMS at different moments. A shopper who gives an email today and a phone number next week should get a text welcome that fits where they are, and a combined flow has no clean way to do that.
Decide which send wins when campaigns and flows collide
Flows fire on behavior and campaigns fire on the calendar, and on a promotion day they compete for the same profiles. With SMS Smart Sending on, a campaign text can be skipped for anyone who just received a flow text, and since skipped texts are not rescheduled, those people miss the promotion on that channel entirely. The reverse happens as well. A shopper who abandons a checkout an hour after a campaign text can lose the reminder most likely to close the order.
The fix is a written priority rule that everyone building sends follows. For most brands, revenue-recovery flows (abandoned checkout, back in stock) outrank promotional campaigns, and promotional campaigns outrank nurture flows. The separate SMS windows for campaigns and flows let you encode part of that, and each SMS campaign has its own settings for whether to skip profiles who recently received a campaign text or a flow text. For major sale days, we also pause or filter lower-priority SMS flows for the duration so the calendar controls the channel.
Launch sequencing follows the same logic. Email announces to everyone and carries the detail. The text goes out later to dual-consent subscribers who did not click, plus the SMS-only group, who are hearing about the launch for the first time.
Judge the two channels together on incremental revenue
Stacked programs report well because both channels claim the same orders. A customer who opens the email, receives the text, and buys can show up as a conversion in each channel’s reporting, and the combined total overstates what the program produced. SMS then looks like pure upside, and its per-message cost never gets weighed against what it added.
The honest test is a holdout. Take a random share of the dual-consent segment and send it email only, send the rest email plus text, and compare revenue per recipient across the two groups over a full purchase window. The difference, net of SMS spend, is what the text contributed. Run the test separately for abandonment, campaigns, and win-back, because the answer tends to differ by message type.
Keep the reporting clean while the test runs. Klaviyo only attributes revenue to SMS when links go through its own link shortener, so a text built with an outside shortener loses its attribution and skews the comparison. Attribution settings and tracking quality underneath the store matter here as much as the flow logic does.
Good orchestration comes down to a handful of decisions made on purpose (who can be reached where, which channel each message belongs on, how sends are spaced, and which send wins a collision). The accounts we open with stacked channels usually made none of them, and the SMS invoice is where that shows first. Write the rules down, build them into segments and flow branches, and test the text against its absence before you scale it. If you want a second set of eyes on how your channels are wired together, we’re glad to take a look.










