Most SMS invoices are hard to read for one reason: several different costs get folded into one "per message" number. A carrier surcharge, a registration fee and a compliance check can all land on one line, so when the bill jumps you can't tell which one moved.

This post lists every charge that can appear on an SMS bill, what causes it, and how it's measured. It also shows how the mix changes for a single business, an agency running sub-accounts, and a software platform texting for its own customers. We make Ready, so the figures below are ours. Where another provider charges less per segment, we say so.

The five kinds of charges on an SMS bill

Nearly every invoice, from any provider, is built from five kinds of charges:

  1. The per-segment rate. The provider's price for each billed unit of text.
  2. The carrier fee. A fee the mobile carriers charge on each segment, which the provider either lists separately or hides inside its rate.
  3. Registration fees. A2P 10DLC brand and campaign registration, billed every month. Some providers also charge a monthly fee per number.
  4. Compliance surcharges. Litigator and Do Not Call scrubbing, plus landline checks, if your provider offers them.
  5. Add-ons. Voice minutes, iMessage lines, MMS and vetting upgrades.

Most "why is my bill higher than I expected" questions come from items 2 and 3 being hidden inside item 1. Our post on the carrier line item most providers bake into their per-message price covers why that hiding happens.

What each line costs on Ready

Line itemWhat triggers itHow it's meteredReady figure
Standard rateEach segment sent, and each segment receivedPer segment$0.0075/segment
Carrier feeSame segments as abovePer segment$0.0045 per segment
Brand registrationHaving a registered brandMonthly$10/mo
Campaign registrationEach registered 10DLC campaignMonthly$20/mo
NumberEach number on the accountMonthly$2 per number
Litigator/DNC scrub (on sends)Only if switched on for the accountPer segment$0.003 per segment
Landline validation (on sends)Only if switched on for the accountPer segment$0.003 per segment
Standalone scrubWhen you scrub a list yourselfPer contact$0.005 per contact
Brand vettingOptional, one timeOne-time$79 Standard / $179 Enhanced
Ready DialerAnswered calls onlyPer started minute$0.025/min
Blue line (iMessage)Each lineMonthly + per segment$99/mo + 6 cents a segment

Some notes on the table:

  • There is one Standard rate. It is the same at 500 segments and at 5 million. Enterprise pricing is negotiated, so talk to us if you're at that scale.
  • The carrier fee is its own line. Billing runs on prepaid credits through Stripe, and the carrier fee appears separately on the bill, so you can compare it to what the carriers actually charge.
  • "All-in" means rate plus carrier fee. When we quote an all-in per-segment price, it is $0.0075 plus $0.0045. That excludes the compliance surcharge. Scrubbing and landline validation are off by default and only add cost if you switch them on.

The full registration breakdown is in 10DLC cost: every fee explained.

Segments, not messages: why the same campaign can cost three times as much

Carriers bill by segment, and every per-segment charge follows that count. Here is how a message is split:

  • One GSM-7 segment holds 160 characters. Longer messages split into parts of 153 characters each.
  • One emoji or other non-GSM character drops the limit to 70 characters, or 67 per part when split.
  • On Ready, curly quotes, long dashes and ellipses are swapped for plain characters before sending. Pasting from a doc won't quietly push a message into unicode.

Worked example (assumptions stated): a 175-character promo with one emoji, sent to 5,000 opted-in contacts on Standard.

  • 175 characters in unicode becomes 3 segments (67 + 67 + 41).
  • 5,000 contacts × 3 segments = 15,000 segments.
  • Rate line: 15,000 × $0.0075 = $113.
  • Carrier line: 15,000 × $0.0045.

Now cut the copy to 155 characters and remove the emoji. It becomes 1 GSM segment.

  • 5,000 segments × $0.0075 = $38, plus 5,000 × $0.0045 on the carrier line.

Both lines drop by two thirds. If scrubbing is switched on, the surcharge drops too, because it is charged per segment: 15,000 × $0.003 = $45 on the emoji version versus 5,000 × $0.003 = $15 on the plain one.

When an invoice doesn't match the segment count you expected, start here. Agencies rebilling sub-accounts should read the segment-count audit that explains missing margin.

Replies are on the bill too

Inbound replies are billed the same way as sent texts: the Standard rate plus the carrier fee, per segment.

Example: assume your 5,000-contact campaign gets 1,000 single-segment replies. That adds 1,000 × $0.0075 = $8, plus 1,000 × $0.0045. A two-way conversation costs both directions, so budget for it.

What does not show up

Knowing what is never charged makes a bill easier to check:

  • Opt-outs and numbers on your Ban list are refused before sending and are not charged. STOP is handled automatically and applies across every campaign.
  • Quiet hours. A text queued during the recipient's quiet hours is held and sent later. It is charged only when it actually sends. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.
  • Unanswered calls. On the Ready Dialer, a ring-out or busy line costs nothing.

One exception to check. Numbers Ready has already seen as landlines are refused on every account at no charge. Landline validation adds a send-time lookup that catches more of them; it costs $0.003 per segment and is off by default. A landline Ready has not seen, with validation off, is billed like any other send.

How the bill changes by sender type

A single business texting its own customers

This sender pays for one brand, usually one campaign, and a number or two.

  • The charge at submit is $25: the first month of brand ($10) and campaign ($20). There is no setup fee.
  • After that, the monthly cost with one number is $25/mo for registration and $2/mo per number, before any texts are sent.
  • Most approvals take 2 to 7 days.

Before registering, an account can send up to 500 texts a month at its normal per-text rate. The first 20 one-to-one texts are free, but those free texts end when a registration is paid for. Use them before you register.

An agency running sub-accounts

Each sub-account has its own numbers and its own 10DLC registration. That gives each one isolated sending reputation, but the fixed cost is multiplied.

  • Example: 20 sub-accounts, each with one brand, one campaign and one number, pay the brand, campaign and number fees 20 times over before any message is sent.
  • If you rebill clients a flat fee, those fixed fees have to be covered before your per-message margin counts.

A software platform texting for its customers

The structure matches the agency's: one sub-account and one registration per customer, created through the API. The difference is who absorbs the fixed cost.

A blue line (iMessage) sender

A blue line has a different cost shape. It needs no 10DLC registration, so there is no brand or campaign fee for that line.

  • Example: 1,500 segments in a month cost 1,500 × $0.06 = $90, on top of the $99 line.
  • Replies to a blue line are also 6 cents a segment. Reactions are free.
  • Texts to Android phones go from the account's regular number. If the account already had a number, they bill at the regular SMS rate. If the green number came with the blue line, they bill at 6 cents a segment once the account registers or sends through GoHighLevel.

Limits and setup are in the blue line guide.

A sender who also calls

The Dialer bills each started minute as a full minute, and only for answered calls. A call that reaches voicemail counts as answered.

Example: 200 dials, of which 60 are answered and average 3 minutes 12 seconds.

  • Each answered call bills 4 minutes, so 60 × 4 = 240 minutes.
  • 240 × $0.025 = $6.00.
  • The 140 unanswered dials cost $0.

The compliance surcharge: when to turn it on

Litigator and DNC scrubbing on sends, and landline validation, each add $0.003 per segment. TCPA exposure is often cited at $500 to $1,500 per text. For a list with any uncertainty about where it came from, a half-cent per segment is a reasonable price to reduce that risk.

There is a cheaper option. For a list you mostly re-send to, scrub it once with the standalone scrub at $0.005 per contact, rather than paying per segment on every send.

Neither option makes a sender immune to lawsuits. Compliance stays the sender's responsibility. Our consent attestation records who sent, to how many and when. Recipient opt-in records (when they opted in, what wording they saw, which page) live in your own systems.

Where other providers charge less per segment

If the per-segment line is all you're comparing, raw CPaaS APIs come in lower:

  • Twilio: around $0.0083/segment.
  • GoHighLevel's LeadConnector: around $0.0083 per message, roughly $0.0128 all-in.

Those are real savings if you have engineers to build registration, opt-out handling and quiet hours yourself. What our Standard rate pays for is everything else on this page: self-serve registration, built-in compliance, and a bill where the carrier fee is listed separately.

The practical takeaway

When you read any SMS invoice, check these in order:

  1. Count segments, not messages. Emojis and long copy multiply every per-segment charge.
  2. Find the carrier fee. Is it a separate line, or hidden inside the rate?
  3. List the fixed monthly costs. Brand, campaign and number fees, per sub-account.
  4. Check which surcharges are switched on.
  5. Confirm what should be zero. Opt-outs, held quiet-hour texts and unanswered calls.

If you want to see these lines on your own account, sign up and send your first 20 one-to-one texts before you register. 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 rate card is at tryready.com/pricing.