Most product teams that embed texting price it the way they'd price email: a per-message rate, maybe a markup, done. That works for email because email has no meaningful fixed cost per customer. Texting does. Every customer that sends business SMS in the US needs its own A2P 10DLC brand, a registered campaign and at least one number. Those carry a monthly charge whether the customer sends 20,000 texts or none.
Your pricing has to account for that fixed cost before you think about per-segment margin. This post works through the cost structure on Ready, models three ways to package it, and shows what happens to customers who barely text. If you're still deciding who should own the brand registration in the first place, start with 10DLC for SaaS platforms and come back.
The fixed cost per sub-account
On Ready, each of your customers gets a sub-account with its own numbers and its own carrier registration. The recurring cost for one customer looks like this:
- Brand registration: $10/month
- Campaign registration: $20/month
- Each phone number: $2/month
A customer with one number costs $35 a month before a single segment goes out. There is no setup fee. When you submit a registration, $25 is charged, which is the first month of brand plus campaign. After that the monthly is $25 for registration + $2 per number.
Most approvals take 2 to 7 days. Your onboarding flow needs to set that expectation, because the customer has already started paying.
Two things raise that floor:
- Extra numbers. Local presence is on by default, so if you give a customer five local numbers, that's $25/month in numbers alone, before local presence, which has a listed price of $0.0015 for each segment of a delivered text. Every number still sits on the customer's registered campaign.
- Optional brand vetting. $79 Standard or $179 Enhanced, one-time. It raises trust score and daily throughput caps. Most senders don't need it. It's worth it for customers whose volume actually hits the caps, which we cover in is 10DLC brand vetting worth $79.
The variable cost per segment
On top of the fixed cost, every segment is billed at the Standard rate of $0.0075/segment plus a $0.0045 carrier fee. Inbound replies are billed the same way as sends. That matters for products where customers have real two-way conversations. It's one flat rate with no tiers, and Enterprise pricing is custom, so talk to us if you're at that scale.
That all-in figure excludes the compliance surcharge. Scrubbing and landline validation are each $0.003 extra per segment when switched on for an account. Both are off by default. If you enable them for every sub-account, add them to your per-segment cost model. We break down the carrier line in the $0.0045 line item.
On raw per-segment price alone, Twilio's rate is about $0.0083/segment, which is lower than ours. What you're paying for on Ready is the registration API, the sub-account model, STOP handling, quiet-hours holds and the scrub tooling, so you don't have to build them yourself.
Segments are metered, not messages. A 160-character GSM-7 text is one segment. A 175-character text with an emoji is three. If your product writes the templates, the templates set your customers' bills.
Three customers, one model
To compare the packaging options, take three example customers on a platform. These are assumptions for illustration, not benchmarks:
- Light: 200 segments/month (appointment confirmations for a small shop)
- Mid: 2,000 segments/month
- Heavy: 20,000 segments/month
Each has one number, so fixed cost is $35. Your monthly Ready cost per customer:
- Light: $35 + (200 × $0.0075) = $39, plus 200 × $0.0045
- Mid: $35 + (2,000 × $0.0075) = $75, plus 2,000 × $0.0045
- Heavy: $35 + (20,000 × $0.0075) = $435, plus 20,000 × $0.0045
Spread the $35 across volume and the problem is obvious:
| Customer | Fixed cost per segment sent |
|---|---|
| Light (200) | $35 ÷ 200 = $0.175 |
| Mid (2,000) | $35 ÷ 2,000 = $0.0175 |
| Heavy (20,000) | $35 ÷ 20,000 = $0.00175 |
For the light customer, the fixed cost is almost nine times the per-segment rate. For the heavy customer, it's a rounding error.
Any pricing model you pick has to hold up for both.
Option A: absorb the fixed cost, mark up usage
You eat the $35 and charge customers a per-segment price. In this example, $0.03/segment.
Texting contribution = (segments × $0.03) − $35 − (segments × $0.0075) − (segments × $0.0045)
- Light: $6 − $39 = −$33, minus 200 × $0.0045
- Mid: $60 − $75 = −$15, minus 2,000 × $0.0045
- Heavy: $600 − $435 = +$165, minus 20,000 × $0.0045
You break even at $35 ÷ ($0.01 − $0.0045) segments a month, which is several thousand at today's carrier fee. Every customer below that line loses you money on texting.
When it works: Your customer base is concentrated among heavy senders, or your base subscription has enough margin to carry $35 per customer. A $400/month vertical SaaS product can absorb $35 without anyone noticing. A $29/month product can't.
When it breaks: Low-ARPU plans where texting is a checkbox feature. Most customers turn it on, send a handful of reminders, and cost you $35 each.
Option B: pass the fixed cost through as a line item
You show it on the invoice: "Texting registration and number: $35/month," plus usage at $0.03/segment.
- Light: $35 + $6 revenue − $39 cost = +$2, minus 200 × $0.0045
- Mid: $35 + $60 − $75 = +$20, minus 2,000 × $0.0045
- Heavy: $35 + $600 − $435 = +$200, minus 20,000 × $0.0045
Every cohort is positive as long as your markup covers the carrier fee. It's honest and easy to explain: carriers require registration, and this is what registration costs.
The tradeoff is adoption. A small business that wants to send 50 reminders a month sees $35 plus usage and may decide texting isn't worth it. If texting is part of why customers stick with your product, a visible $35 fee can lose you more in retention than it saves in margin.
When it works: Products where texting is an add-on sold separately, or a customer base that already expects to pay for carrier costs. Agencies reselling to their clients often land here. Per-message rebill vs flat monthly fee covers the same tension from the agency side.
Option C: bundle registration into a tier
Texting is available only on a higher plan. The plan price covers registration and an included allowance, with overage on top. In this example, the texting tier is $70/month more than the plan below it. It includes 1,000 segments, and overage is $0.03/segment.
- Light (200): $70 − $39 = +$31, minus 200 × $0.0045
- Mid (2,000): $70 + (1,000 × $0.03) − $75 = +$25, minus 2,000 × $0.0045
- Heavy (20,000): $70 + (19,000 × $0.03) − $435 = +$205, minus 20,000 × $0.0045
This is usually the strongest of the three. The fixed cost disappears into a plan-level price jump, and the customers who self-select into that tier are more likely to use texting. Light users either pay for the tier because they value the feature, or they stay on the lower plan and never cost you $35.
Watch the included allowance. Mid-volume customers are where the margin thins. In this example they use 2,000 segments against a 1,000 allowance and contribute less than light users. Set the allowance from your actual usage distribution, not a round number. Remember that inbound replies count toward it.
What to do about customers who barely text
Whichever option you pick, low-volume customers are where the model leaks. Four levers help.
Register only when a customer actually turns texting on
Don't create a brand and campaign at signup. Trigger registration when the customer enables texting, or when they convert from trial to paid. A trial user who never texts shouldn't cost you a $30 submit charge.
The 10DLC registration API lets you fire that from your own product event. You can then poll GET /v1/registration for status instead of walking customers through a carrier form. Sub-accounts are created with POST /v1/sub-accounts. The quickstart and the API docs cover the details.
Use the pre-registration allowance for light starts
An account can send up to 500 texts a month before it registers, at its normal per-text rate. After that, it has to register. For a customer testing the feature, that lets you defer the $35 until volume justifies it.
If the account bought its number before registering, it sends on Ready's shared registration at the same per-text rate while its own registration is in review. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it. The first 20 texts on an account are free one-to-one sends. They end when a registration is paid for, so use them before registering, not as a way to cover it.
Keep number counts tight
Each extra number is $2/month. Local presence is a real reason to add numbers. But defaulting every sub-account to five local numbers turns a $35 floor into $55. Make extra numbers opt-in, or reserve them for the tier that pays for them.
Stop paying for churned customers
A churned customer whose brand, campaign and number are still active keeps costing $35 a month. Build texting teardown into your offboarding checklist the same way you'd revoke API keys.
Picking a model
A rough rule from the math above:
- Base plan above roughly $200/month: Absorb the fixed cost (Option A). Price usage with a margin over $0.0075 plus $0.0045.
- Base plan under roughly $100/month with texting as a core feature: Bundle it into a tier (Option C). Size the allowance from real usage data.
- Texting sold as a separate add-on, or customers who expect carrier costs on the invoice: Pass it through (Option B).
Whatever you choose, model it against your actual distribution of segments per customer. Averages hide the light-user tail, and that's where the $35 hurts. If you want to run your own numbers against live registration and segment billing, you can create an account and register a test sub-account. The per-segment card is on the pricing page.
Frequently asked questions
How much does 10DLC registration cost per customer on Ready?
A customer with one number costs $35 a month on Ready before any texts go out: $25 for registration and $2 for the number. There's no setup fee. When you submit a registration, $25 is charged as the first month of brand plus campaign, and each extra number adds $2 a month. Most approvals take 2 to 7 days, so your onboarding should tell customers they're already paying during review.
Should a SaaS platform pass 10DLC fees through to its customers?
It depends on your base plan and how central texting is to your product. Passing the $35 through as an invoice line keeps every customer profitable as long as your markup covers the carrier fee, and it's easy to explain. The tradeoff is adoption: a small business sending 50 reminders a month may decide texting isn't worth a visible $35 fee. It fits best when texting is sold as a separate add-on or customers already expect carrier costs.
When should a SaaS product register a customer for 10DLC?
Register when the customer actually turns texting on or converts from trial to paid, not at signup. A trial user who never texts shouldn't cost you a $30 submit charge. Until then, an account can send up to 500 texts a month before it registers, at its normal per-text rate. You can create sub-accounts with POST /v1/sub-accounts and poll GET /v1/registration for status, triggered from your own product events.
Do inbound SMS replies count toward a customer's texting costs?
Yes. On Ready, inbound replies are billed the same way as sends: the Standard rate of $0.0075 per segment plus a $0.0045 carrier fee. That matters if your customers have real two-way conversations, and replies also count toward any included allowance you set in a texting tier. If you switch on scrubbing or landline validation for an account, each adds $0.003 per segment, and both are off by default.