Blog / Marketing
What a bulk SMS campaign actually costs, worked through
Providers quote a per-message price and your actual bill is some multiple of it. Here is where the multiple comes from.
Segments, not messages
You are billed per segment. A plain GSM-7 message fits 160 characters in one segment. At 161 characters it splits into two, and because concatenated messages carry a header, each part now holds 153 characters rather than 160.
So a 170-character message is two segments, and a 310-character message is three. Write to 160 and you halve the bill against a lazy 200-character draft that says the same thing.
Emoji are expensive
One emoji anywhere in the message switches the encoding to UCS-2. The per-segment limit drops from 160 characters to 70, or 67 for concatenated parts. A 150-character message with a single smiley goes from one segment to three. That is a 200 percent cost increase for a decoration.
A worked example
4,000 contacts, US numbers, Twilio at roughly $0.0079 per segment. A clean 155-character message is one segment: about $32 per campaign.
Now add the real-world friction. 9 percent duplicates means 4,360 actual sends. A 175-character message makes it two segments. One emoji makes it three. That $32 campaign is now about $103, for the same number of actual humans reached.
International changes the shape entirely
Per-segment rates vary enormously by destination. A list that is 70 percent domestic and 30 percent spread internationally can easily have the smaller portion dominating the bill. You will not see this in a blended average, which is the argument for splitting the list by country and pricing each separately.
The cheapest line item is list hygiene
Deduplication is the only one of these variables that costs nothing to fix and pays back on every future send. Trimming 360 duplicates from a 4,000-contact list saves roughly 9 percent of every campaign forever, and removes the complaints that come from texting someone twice in one minute.
The iPhone's built-in tool matches on name and misses the ones saved under slightly different spellings, which are most of them. Finding them by number instead catches what it leaves behind.
Platform fees and number rental
Per-segment pricing is only part of the bill. A dedicated number is a few dollars a month, A2P 10DLC registration carries a one-off fee plus a monthly campaign charge in the US, and most marketer-friendly platforms add a monthly subscription on top.
At small volumes these fixed costs exceed the sending costs. At 500 contacts sent weekly, the fixed side can be most of your bill, which makes the per-message rate a bad basis for choosing a provider.
Inbound messages cost too
Replies and opt-outs are usually billed as inbound segments. A campaign that generates healthy engagement generates inbound cost with it. Budget for it rather than being surprised by it.
Where the money actually goes
For a typical small-business campaign the split is roughly: fixed platform and number costs, outbound segments, inbound replies, and waste. Waste is duplicates, landlines and invalid formats, and it is the only line you can cut to zero without reducing reach.
That is the argument for cleaning the list rather than negotiating the rate. A better per-segment price saves a few percent. Removing a tenth of the list that was never reachable saves a tenth, on every campaign, permanently.
Test sends and retries add up quietly
Every test to your own phone is billed. So is every automatic retry on a soft failure, depending on the provider. These are small individually and they turn a tidy forecast into a messier invoice.
Budget perhaps 5 percent on top of your calculated send cost for testing and retries, and treat anything beyond that as a signal that something is failing repeatedly.
Work out your cost per reply, not per message
Per-message cost is the easy number and it is close to useless on its own. If 4,000 messages at $32 produce 40 genuine enquiries, that is 80 cents per enquiry, which is a number you can compare against every other channel you run.
Once you have cost per reply, the case for cleaning the list makes itself. Waste raises the denominator without touching the numerator.
Get Pluck for iPhone
Pluck does the steps in this guide on your iPhone, with no server, no account, and no analytics. Group your contacts by country, find duplicates the iOS tool misses, and export to CSV, Excel, TXT, or vCard.