Build email first, and collect SMS consent from day one so the list is ready when you need it. For a consumable brand with a 30 to 60 day repurchase cycle, SMS usually produces more revenue per message sent, while email produces more revenue per month, because you can send several times as many messages to several times as many people. The question worth answering is not which channel converts better, but which constraint binds first: cost per send, consent, or fatigue. For almost every consumable brand under roughly $20M, the binding constraint is reachable audience multiplied by permitted send frequency, and email wins that on both terms.
Key takeaways
- SMS typically returns two to four times the revenue per recipient of an email campaign, and costs twenty to forty times more per send. Net contribution per send still favours SMS.
- Monthly contribution favours email anyway, because your email list will be three to five times larger and tolerates roughly four times the send frequency.
- SMS consent is a separate legal permission with quiet hours, revocation deadlines and carrier registration attached. It is not an extension of your email consent.
- Give SMS the narrow, time-sensitive moments: replenishment due, back in stock, shipping, and the last cart reminder. Give email everything that requires explanation.
- Measure the pair on incremental revenue per subscriber per month, not on channel click rates, or you will over-invest in whichever channel gets last-click credit.
Which channel should a consumable brand build first?
Email, with SMS consent collected in parallel from the same forms and checkout.
The reason is reach, not performance. A consumable brand acquires most of its addressable audience through checkout and a signup unit. Email consent comes with the transaction almost for free. SMS consent has to be asked for explicitly and separately, and in the accounts I have run, an SMS opt-in unit converts at 15 to 35 percent of what the equivalent email unit does when both are offered on the same popup. Six months in, you have an email file of 100,000 and an SMS file of 20,000 to 30,000.
Consumables also need education. The first purchase of a supplement, a coffee subscription or a skincare routine carries usage instructions, expectation setting and a reason the second purchase matters. That content does not fit in 160 characters. It fits in an email. Build the flow layer in email first, then decide which individual messages inside those flows deserve an SMS counterpart.
What does cost per conversion actually look like?
SMS wins net contribution per send and loses net contribution per month. Both are true, and only the second one should drive your channel plan.
Here are the ranges I use for a US consumable brand doing mid seven figures. Treat them as a starting shape, then replace each row with your own numbers.
| Metric | Email campaign | SMS campaign |
|---|---|---|
| Cost per 1,000 sends | $0.50 to $2.00 | $20 to $45 (two segments, typical US rates) |
| Share of buyer file reachable | 60 to 80 percent | 15 to 35 percent |
| Click rate on a promotional send | 1 to 3 percent of delivered | 6 to 14 percent of delivered |
| Revenue per recipient | $0.03 to $0.12 | $0.10 to $0.35 |
| Net contribution per 1,000 sends | $29 to $118 | $55 to $330 |
| Sends per subscriber per month before churn climbs | 8 to 16 | 2 to 4 |
Now run the month. A 100,000 buyer file gives you roughly 70,000 reachable email addresses and 25,000 reachable phone numbers. Ten email campaigns is 700,000 sends, which at $0.06 revenue per recipient nets around $41,000 after send cost. Three SMS campaigns is 75,000 sends, which at $0.20 nets around $12,600. SMS earned nearly four times as much per message and delivered less than a third of the monthly contribution. That gap does not close by improving SMS copy. It closes only by growing the SMS file or sending more often, and the second option is the one that damages the asset.
What does consent friction actually cost you at capture?
It costs you list size at signup and it costs you engineering time at the compliance layer, and the second one is the part people underestimate.
SMS marketing consent in the US is governed separately from email. Under 47 CFR 64.1200, you may not send marketing messages outside 8:00 am to 9:00 pm in the recipient's local time, and a revocation request has to be honoured within a reasonable period not exceeding ten business days (eCFR, 47 CFR 64.1200). Consent has to be specific to the sender and cannot be bundled into a general marketing checkbox, which the FCC has reinforced repeatedly in its robocall and texting rulemaking (FCC, Telemarketing and Robocalls).
Practically, that means three things in the account. Your popup needs a two-step flow, because asking for email and phone in one step suppresses both. Your consent state has to be stored per channel, so email_consent and sms_consent are independent properties with independent timestamps and source values. And every campaign audience needs a local-time send window, which in turn means you need a reliable country and timezone on the profile, not an inferred one.
There is also a registration gate. US carriers require 10DLC brand and campaign registration before you can send at volume, and unregistered or misregistered traffic gets filtered without a bounce you can see. If your SMS click rate suddenly drops on one carrier only, check registration status and message content filtering before you touch the copy.
How does fatigue behave differently on each channel?
Email fatigue shows up as decaying engagement over weeks. SMS fatigue shows up as an immediate opt-out, and it is permanent.
That asymmetry should drive your frequency policy. An email subscriber who stops opening is still on the file, still reachable by a change of offer, and still recoverable through a winback. An SMS subscriber who replies STOP is gone, and re-consent requires them to opt in again through a channel you can no longer message. In the accounts I have audited, SMS unsubscribe rates run 0.5 to 2 percent per campaign at a two per month cadence and climb sharply above four per month. Email unsubscribe rates at ten campaigns per month sit around 0.1 to 0.3 percent.
On the email side, the ceiling is set by the mailbox providers rather than by your own tolerance. Gmail's sender guidelines require bulk senders to keep spam complaints below 0.3 percent and recommend staying under 0.1 percent (Google, Email sender guidelines), and Yahoo publishes equivalent expectations for bulk mail (Yahoo Sender Best Practices). Frequency is one of the fastest ways to breach that threshold, which is why your engagement window should be derived from your repurchase interval rather than copied from a template. And be clear that Klaviyo's smart sending is a de-duplication guard, not a frequency cap. If you want a cap, you have to build it.
Which channel should own the replenishment moment?
SMS, if you can predict the moment within a few days. Email, if you cannot.
Replenishment is the one place where SMS economics are clearly better for a consumable brand. The message is short, the intent is already there, the action is a single tap, and the send volume is small because it is triggered per profile rather than blasted to a segment. A replenishment SMS to 3,000 profiles a month costs you around $90 and will typically outperform the same message in email by a wide margin on click rate.
The precondition is timing. If your predicted reorder date is off by two weeks, the SMS lands as an interruption and buys you an opt-out instead of an order. Derive the interval from your own data before you attach SMS to it, using the method in replenishment timing from your repurchase curve, and segment it by product where intervals differ. A 30 day protein powder and a 90 day supplement cannot share one timer.
The other SMS-appropriate moments are the same shape: narrow window, high intent, short message. Back in stock. Shipping and delivery. The final cart reminder when the earlier email touches have already gone unopened. Cart abandonment is worth attention here because abandonment rates sit around 70 percent across documented studies (Baymard Institute, cart abandonment rate statistics), so the volume is there, but the first two touches belong in email where you can address the actual objection.
How do you split the calendar once both channels run?
Start from a monthly budget per subscriber, then allocate SMS only to messages that fail in email.
The policy I use for consumable brands looks like this. Email carries eight to twelve campaigns per month plus the full flow layer. SMS carries two to three campaigns per month plus four triggered types: replenishment due, back in stock, order and shipping, and the last cart touch. Nothing goes into SMS because it performed well in email. It goes into SMS because it is time-bound and the email version arrives too late to matter.
Two operational rules keep this from breaking. First, suppress SMS recipients from the email version of the same promotion inside a 24 hour window, or your engaged buyers get the same offer twice and your incrementality measurement becomes unreadable. Second, cap total messages per profile per week across both channels in one place. If email frequency logic lives in flow filters and SMS frequency logic lives in campaign audiences, nobody owns the combined number, and the combined number is what the subscriber experiences.
How do you measure this without double counting revenue?
Compare incremental revenue per subscriber per month with a holdout, not attributed revenue by channel.
Last-click attribution will hand SMS credit for orders that email created, because SMS usually arrives last in a sequence and drives the tap that becomes the session. If you compare attributed revenue per send, SMS looks two to five times better than it is, and you will over-invest in the channel with the smaller audience and the harder ceiling.
The measurement that survives scrutiny is a holdout. Hold back 5 to 10 percent of the SMS-consented file from SMS entirely for a full repurchase cycle, keep them on the normal email programme, and compare revenue per profile between the two groups. That difference is what SMS is worth on top of email. Run the mirror test on email if you want the same number for the other side. The mechanics of getting a result you can trust are in running tests that mean something, and if your platform numbers already disagree with your store numbers, fix that first using the reconciliation process. A channel decision made on top of a broken revenue feed is a guess with a spreadsheet attached.
Trade-offs and what I would do
The case for SMS first is genuine in two situations. If your product is impulse-priced, sells out regularly, and your buyers are under 30, SMS opt-in rates run high enough that the audience gap closes and the speed advantage compounds. And if your email programme is already at a deliverability ceiling, with complaint rates near the Gmail threshold and a file you cannot send to more often, adding SMS is the only way to add contacts without making the existing problem worse. In that second case, fix the email side too, because a damaged sending reputation does not repair itself and the causes are usually list and frequency related.
The case against SMS first is the one I see borne out more often. Building SMS as the primary channel puts your retention programme on an audience one third the size, a permanent opt-out mechanism, a per-message cost that scales linearly with growth, and a compliance surface with quiet hours and revocation deadlines. That is a fragile foundation for a brand whose entire model depends on a customer buying twelve times over three years.
My recommendation: run email as the programme and SMS as the interrupt. Get the email flow layer and the campaign calendar producing before you spend serious effort on SMS growth, keep collecting phone consent throughout, and turn SMS on at the four triggered moments where timing carries the value. Add SMS campaigns only after your triggered SMS revenue per subscriber is already beating your email equivalent for the same moment. If it is not, more SMS volume will not fix it, and every extra send costs you subscribers you cannot get back.