Here's the pattern almost nobody sets their frequency cap around: the person who joined your list yesterday will happily take four texts this week, and the person who's bought from you nine times will hit STOP if you send more than two. Most brands do the exact opposite — they blast their whole list at one flat cadence, or worse, they reward loyalty with more messages because "those are our best customers." Then they watch their VIP segment quietly bleed opt-outs.
Full disclosure: I work for Ready, an SMS platform. So I have a reason to want you sending more texts — which is exactly why I'd rather you send the right number to the right people than torch your list and blame the channel.
Why the tolerance curve inverts
Think about what a subscriber actually knows about you at each stage.
A brand-new opt-in just entered a discount code, saw a welcome offer, and is in an active shopping mindset. They want to hear from you — they're deciding whether to buy at all. Four touches in a week (welcome, offer reminder, social proof, last-chance) feels like helpfulness, not harassment. Their attention is at its peak and their relationship expectations are unset.
A loyal buyer already knows your catalog, your price points, your restock rhythm. There's no discovery left. Every text you send them is now competing against the fact that they already trust you and don't need convincing. A second promo in a week doesn't inform them — it interrupts them. And because they're emotionally invested in the brand, the STOP feels less like unsubscribing from a stranger and more like breaking up. They do it decisively.
Rough industry approximations bear this out: unsub rates on established, high-purchase-count segments tend to climb noticeably faster per incremental send than on 0–30-day subscribers. Frame it however you like — the shape of the curve is that novelty buys you frequency, and familiarity spends it.
The revenue-per-send angle, not just the unsub angle
Unsubs are the loud signal. The quieter, more expensive one is revenue per send falling below what the send costs you.
On Ready's Standard tier, a segment runs $0.02 + $0.0045 carrier = $0.0245. So a 5,000-contact loyal segment on a single-segment text costs:
`` 5,000 × 1 × $0.0245 = $122.50 per send ``
That's cheap — if the send earns. The trouble is that on a fatigued VIP segment, the fourth text of the week might convert at a third the rate of the first while doubling the opt-out rate. You're paying $122.50 to earn less and to permanently shrink your most valuable audience. That's not a cost, it's a liability.
I wrote about where that break-even lands in Finding Your Revenue-Per-Send Peak — the short version is that the peak sits at a different message number for each lifecycle stage. New subscribers peak later. Loyal buyers peak early, then fall off a cliff.
A stage-based cap that actually inverts
Here's a starting framework. Tune the numbers to your own data — these are defaults, not gospel.
| Lifecycle stage | Definition | Weekly cap | Why |
|---|---|---|---|
| New (0–30 days) | Opted in, 0–1 orders | 3–4 | High intent, undefined expectations, discovery mode |
| Active (bought in last 90 days) | 2+ orders, recent | 2 | Knows the brand, still engaged, moderate patience |
| Loyal / VIP (5+ orders) | High LTV, repeat | 1–2 | Trust is high, novelty is zero, unsub cost is highest |
| Lapsed (90+ days silent) | No open/click/order | 1 (win-back only) | Fatigue-prone, mostly dead weight past a point |
The counterintuitive line in that table is the VIP row. Your instinct is to message your best customers most. Your data will almost always tell you to message them least frequently but most deliberately — fewer sends, each one earning its place. The VIP cost-per-revenue math is worth running before you assume "send them more" is the play; sometimes it is, but only for a tiny top slice.
And the Lapsed row has its own ceiling — past a certain segment size you're literally paying to text people who will never buy again. That's covered in the win-back cost-ceiling post.
How to build this in Ready
The mechanics come down to two things: segmentation that reflects lifecycle, and automations that enforce caps per segment.
Segment by lifecycle, not by list. Build segments off order count and recency — "0–1 orders, opted in <30 days," "5+ orders, purchased <90 days," and so on. If you're running a store through GoHighLevel, Ready's native GHL integration syncs these contacts and their tags per location, so your lifecycle segments stay current as orders come in rather than going stale the day after you export a CSV.
Cap per segment, not globally. A flat "max 2 texts a week for everyone" cap under-messages your new subscribers (leaving welcome-flow revenue on the table) and over-messages your VIPs (bleeding opt-outs). Set the cap at the segment level. In practice that means your campaign schedule references the segment, and your automations suppress a contact who's already hit their stage cap that week.
Let opt-outs propagate. When someone does STOP, Ready honors it automatically and propagates the opt-out so they can't be re-messaged across other campaigns. That matters more than it sounds for lifecycle work — you don't want a VIP who unsubbed from promos getting swept back into a "we miss you" blast three weeks later. That's the fastest way to earn a spam complaint.
Watch the segment count, not just the cadence
There's a cost mechanic that quietly interacts with all of this: longer messages cost more, and lifecycle messaging tempts you to get wordy with your best customers.
A single SMS segment is 160 GSM-7 characters. A 175-character "we've missed you, here's an exclusive early-access link" text is already 2 segments (multipart splits at 153 chars each). Drop an emoji in and the limit collapses to 70 characters — now that same message is 3 unicode segments. Send it to a 5,000-contact loyal segment:
`` 5,000 × 3 × $0.0245 = $367.50 per send ``
versus the $122.50 for a tight single-segment version. Three times the cost, to a segment that's more likely to unsub. If you're going to message your loyal buyers less often, at least make each send lean. Skip the emoji on the high-value segments where the math punishes you most.
A quick word on when flat caps are fine
I'll be honest: if your list is small — say under a few thousand and mostly recent opt-ins — lifecycle-based capping is overkill. You don't have enough loyal-buyer volume for the inverted curve to show up in your numbers yet. A single sane cap (2–3 a week) and a solid welcome flow will do more for you than a segmentation project.
The inversion becomes worth engineering once you've got a meaningful repeat-buyer base — enough VIPs that a 1% swing in their unsub rate is real money. If your top 5% drives a big share of SMS revenue (and it usually does), protecting that segment's tolerance is one of the highest-leverage cadence decisions you can make.
The practical takeaway
Novelty buys frequency; familiarity spends it. New subscribers are in discovery mode and forgive a heavier cadence. Loyal buyers have no discovery left, the highest emotional cost to unsubscribe, and the thinnest patience for a redundant promo. So:
- Segment by lifecycle stage (order count + recency), not one flat list.
- Set the weekly cap higher for new, lower for loyal — invert the instinct.
- Watch revenue-per-send per stage, and pull back the moment it dips under cost.
- Keep messages to your low-frequency, high-value segments short — the segment math compounds fast.
If you want to test this, the setup is small: build two or three lifecycle segments, give them different caps, and watch unsub-and-revenue per send diverge over a month. Ready gives you 2,500 free credits to run that experiment without a card — you can start here or read the pricing and segment math first. Either way, the number that matters isn't how many texts you send. It's how many the right people are still glad to get.