River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

SMS and Email Cadence Template

Three documents and four sheets that price a text against an email using your own opt-out rates, then set one cap across both channels.

Free download  ·  No account needed

Cadence Map  ·  one ordinary week, both channels, per person

Two caps summing to 8 a week, and a cohort receiving 13

Bramble & Rye  ·  62,000 on email, 14,800 with SMS consent, 13,100 on both

CohortPeopleEmailsTextsMessagesAttrition units
VIP, bought, abandoned, browsed, due1181031323.11
VIP, abandoned, browsed604731020.11
VIP, browsed1,83442612.74
Same activity, email only2141001010.00
Not engaged, email only32,3462022.00

Counted as messages the top cohort is 1.30x the email-only cohort doing the same things. Counted in attrition units it is 2.31x.

Where 4.37 comes from

Email unsubscribes run 0.19% per send here and SMS opt-outs 0.83%, both from the same quarter. So one text costs 4.37 emails of list attrition, and that quotient is the only assumption on this page. SMS is 11.1% of the week's messages and 35.3% of the week's attrition.

Why neither cap is wrong

The email cap is 5 a week and the SMS cap is 3. Both are configured on campaigns, both programmes' flows are excluded from them, and neither platform can read the other. Nobody chose 13 for anybody; 13 is what two reasonable caps produce when they are set in two places.

The distribution, both ways

Median 2 messages and 2.00 units. p90 is 5 and 8.37. p99 is 10 and 20.11. The two orderings disagree, and the one every dashboard reports is the one that understates the load.

Transactional messages are excluded. An offer inside an order confirmation is not transactional and belongs in this table.

Bramble & Rye caps email at five messages a week and SMS at three. The two caps sum to eight, both are configured on campaigns with every flow excluded, and neither platform can read the other one. In an ordinary week the heaviest cohort receives thirteen messages: 118 people who happen to be loyal, browsing and due to reorder, so they qualify for almost everything. Nobody chose thirteen for anybody. Thirteen is what two reasonable caps produce when they are set in two places that cannot see each other.

Counting messages is the mistake, and it is the one every cross-channel cadence guide makes. Email unsubscribes here run 0.19% per send and SMS opt-outs 0.83%, so one text costs 4.37 emails of list attrition. Price the week that way and the top cohort carries 23.11 attrition units against the 10.00 borne by the email-only cohort doing exactly the same things. Counted as messages it looked 1.30 times heavier. Counted in attrition it is 2.31 times heavier.

So the cap is one budget across both channels, denominated in units and enforced on the person rather than the channel. Sweep it from two units a week to twenty-four and the cost per saved contact barely moves, $38.00 at three units and $36.08 at sixteen, because the cut always lands on the marginal message. The level is a bet on subscriber tenure instead. Pair this with the customer segmentation model template and the lifecycle email programme pack, or take the files blank from the template library.

What a week actually looks like, what a cap costs, and what the consent record can evidence

The full Cadence Map, the budget sweep with its break-even column, and the register rows that produce findings.

Cadence Map

One ordinary week: two email campaigns to everyone, one to the engaged segment, browse abandon, a three-message cart series, two post-purchase and a replenishment reminder. On SMS: one campaign to everyone consented, one to VIPs, and a cart abandon text.

CohortPeopleEmailsTextsMessagesUnits
D1 VIP, bought, abandoned, browsed, due1181031323.11
D2 VIP, abandoned, browsed604731020.11
D3 VIP, browsed1,83442612.74
D4 VIP, engaged2,81032511.74
D5 Engaged, browsed3,1204158.37
D6 Engaged3,4863147.37
D7 Not engaged1,1282136.37
E1 VIP, bought, abandoned, browsed, due2141001010.00
E2 Engaged, abandoned, browsed1,1807077.00
E3 Engaged, browsed5,9404044.00
E4 Engaged9,2203033.00
E5 Not engaged32,3462022.00
S1 VIP, abandoned (SMS only)9603313.11
S2 VIP (SMS only)4700228.74
S3 Consented, not engaged1,1340114.37
Total63,700172,88021,550194,430

Compare D1 and E1. Same activity, same programmes, one of them consented to texts. 13 messages against 10, which is 1.30x. 23.11 units against 10.00, which is 2.31x. The message count understates the load on the dual-channel group by nearly half, and the message count is what every platform reports.

The SMS list is not a smaller email list. 40.1% of SMS subscribers are VIPs against 9.0% of email subscribers, a 4.45x concentration, because people opt into texts from brands they already like. So the load falls hardest on the most valuable cohorts, and 88.5% of the SMS list is on email too.

Median load is 2 messages and 2.00 units; p99 is 10 and 20.11. The two orderings disagree, which is the whole reason to keep both columns.

Frequency Cap

One budget in attrition units, swept rather than chosen. Each person's units are spent on email first. The last column divides the cost of a saved contact by what that contact returns a year.

Budget/wkEmailsTextsAttrition/wkSaved/wkGiven up/wkCost per saveSave returns/yrBreaks even at
2124,0000236272$10,805$39.76$19.342.06 years
3152,5260290218$8,266$38.00$20.941.81 years
4165,5360315193$7,108$36.86$21.971.68 years
6169,7681,700337171$6,222$36.46$22.341.63 years
8172,2169,124403104$3,781$36.21$22.561.61 years
10172,88014,64445057$2,068$36.08$22.681.59 years
12172,88018,05847829$1,046$36.08$22.681.59 years
16172,88020,7105007$252$36.08$22.681.59 years
24172,88021,5505070$0n/an/an/a

Cost per saved contact is nearly flat, $39.76 at the tightest budget and $36.08 at sixteen units. That is because the cut always lands on the marginal message, whose revenue is roughly the same wherever you make it. So the level cannot be argued from cost, which is what almost every cadence recommendation tries to do.

What moves is what a save is worth. An email subscriber returns $12.90 a year and an SMS subscriber $22.68, so a tight cap that starts cutting email is saving the cheaper contacts. Divide and you get a break-even tenure: ten units pays for itself at 1.59 years, two units needs 2.06. Put your retention curve beside that column.

BudgetRuleEmailsTextsRevenue/wkSaved/wk
10texts first157,07220,732$20,18937
10email first172,88014,644$19,77257
14texts first167,47221,550$21,35910
14email first172,88019,988$21,37313

A text earns 3.51x an email per send and 0.77x an email per unit of attrition, so under a shared budget the text is what gets cut at the margin. At ten units, email-first gives up $416 a week to save twenty more contacts, $20.32 each, against a contact worth $25.81 to $45.35 over two years. At fourteen units email-first wins on revenue as well.

Only 4.2% of the base is over a ten-unit budget today, which is 2,652 people in four cohorts. SMS is additive rather than substitutive for the other 91.4%, and nowhere else.

Consent Register

One row per consent event per channel, written at capture rather than reconstructed later. Seven rows shown, covering the four states that actually occur.

ProfileChannelStateSignature recordRevokedRouteHonouredFinding
p-40118SMSexpress writtenform log + IP + rendered disclosureclean
p-40118Emailopted inn/aseparate consent
p-38204SMSrevokedinbound message log2 Mar“no more texts please”3 Marnot the STOP keyword
p-38204Emailopted inn/astill mailable
p-51993SMSrevokednone held19 Janemail to support21 Janunsupportable, suppress
p-47760SMSexpress writtentablet log + staff idclean
p-47760Emailrevokedn/a2 Aprunsubscribe link2 Aprdisagrees with SMS

The p-38204 row is the one that costs money. The reply read “no more texts please”, which no keyword filter catches. A revocation made in any reasonable manner has to be honoured, a sender may not designate an exclusive means of revoking, and the window is a reasonable time not to exceed ten business days. If nothing reads free-text replies, that row is sitting unhonoured in an inbox.

The p-51993 row carries a consent state imported from a prior vendor with no disclosure and no signature record. The register marks it unsupportable and suppresses it rather than carrying a flag it cannot evidence. An imported list looks exactly like a consented list in every platform, and the difference only appears when somebody asks for the record.

The last row is a correct state that renders as an error in any dashboard keeping one subscription flag per person: SMS live, email revoked. Honoured by is the audit column, and a blank one on a revoked row is a finding on its own.

What's in the pack

01

Cadence Map

One ordinary week per cohort across both channels, with the message count and the attrition-unit count side by side so the gap between them is visible.

02

Channel Value

Revenue and attrition per send for each channel, and the one column that decides an allocation: net revenue per unit of list attrition.

03

Frequency Cap

The budget swept from two units a week to twenty-four, with cost per saved contact, what that contact returns, and the tenure each level needs to break even.

04

Consent Register

One row per consent event per channel, with the disclosure and signature records that a consent claim actually rests on, and an audit column. Where the choice is offered rather than revoked, the email preference centre template builds that page from real unsubscribe reasons.

05

Channel Strategy

What each channel is for, who is really on the SMS list, and the three things SMS carries. The test is whether the message expires.

06

The Attrition Unit Method

How to derive your own exchange rate, why the cap is a bet on tenure rather than a preference, and why the allocation rule matters more than the level.

07

Consent and Compliance Note

Consent is per channel and per seller, revocation is not the STOP keyword, and an imported list is not a consented list. With the reasoning, not just the rules.

08

One budget across both channels

A space rule that stops River reasoning about frequency one channel at a time, which is the habit that produced two caps in the first place.

How to use it

  1. 1

    Open in River, or take it blank

    Hand River the exports and let it derive your exchange rate and build the map, or download the three documents and four sheets and do the division yourself.

  2. 2

    Send four figures and the flow definitions

    Email sends, email unsubscribes, SMS sends and SMS opt-outs from one quarter, plus every sending programme in both platforms. Flow definitions, not last week's send report.

  3. 3

    Read your exchange rate first

    One division, and it reframes everything after it. Then the Cadence Map, where the comparison worth seeing is the dual-channel cohort against its email-only twin.

  4. 4

    Sweep the budget, then set it

    The sweep gives a break-even tenure for every level. Put your retention curve beside that column and the row picks itself, which is not the same as picking a round number.

Frequently asked questions

Is this template free?

Yes. Download the Word documents and CSV sheets with no account, no card and no email gate. Edit with AI is the optional half: River derives your exchange rate, builds the cohort map and runs the sweep. Every pack sits in the template library.

How often should I text customers?

The question has no answer on its own, because a text is not a unit of anything. Ask instead how much a person receives from you across every channel, priced by what each message costs in list attrition. Here that made one text worth 4.37 emails.

Why not just cap email at five and SMS at three?

Because that is two caps, and their sum is a number nobody chose. Bramble & Rye's two caps sum to eight and its heaviest cohort receives thirteen, since both caps are configured on campaigns and both programmes' flows are excluded from them.

Is an email opt-in enough to send someone a text?

No. SMS marketing needs prior express written consent, defined in 47 CFR 64.1200(f)(9) as an agreement in writing bearing the signature of the person called that clearly authorises the seller. Consent is per channel and per seller, so it does not carry over.

Do I have to honour anything other than STOP?

Yes. A called party may revoke by any reasonable method, a sender may not designate an exclusive means, and requests must be honoured within a reasonable time not to exceed ten business days. A reply reading "no more texts please" is a revocation.

Does adding SMS increase revenue or just move it?

It depends entirely on whether the person is at budget. For the 91.4% of this base under ten units a week SMS is additive. For the rest it is a substitution, and since a text is 0.77x an email per unit of attrition, it is the message that should be cut.

Why does one emoji make a text cost three times as much?

Because carriers bill per segment. Twilio documents that GSM-7 fits 160 characters in one segment and 153 in a concatenated one, while a single UCS-2 character drops those to 70 and 67. A 140-character text goes from one segment to three.

Find out what a text actually costs you

Take the Word documents and CSV sheets blank, or open this exact pack in River and send it one quarter of send-and-attrition figures.

Edit with AI