SMS
Bulk SMS pricing in Nigeria: how the cost is calculated
Bulk SMS is priced per page. On Sendozi one page costs ₦7.00 at the same rate for transactional and promotional traffic, so a campaign costs pages per message multiplied by recipients.
How much does bulk SMS cost in Nigeria?
On Sendozi, SMS costs ₦7.00 per page. There is no setup fee, no monthly minimum and no contract: you fund a naira wallet and each send is deducted from the balance. The same published rate applies to Promotional and Transactional SMS.
Prices across the Nigerian market are usually quoted per page, and per-page rates typically fall as committed volume rises. Sendozi publishes one rate rather than a tiered table, and negotiates separately above 1,000,000 messages a month. The pricing page is the canonical rate; this guide explains how the arithmetic works so an estimate is never a surprise.
What is an SMS page?
A page is the billing unit of an SMS. A short message is one page. A longer message is carried as several linked parts and billed for each of them, which is why message length is a cost decision, not a style decision.
Sendozi resolves pages from the character count of the whole message against a fixed table. The first page ends at 160 characters; each further page adds roughly 146 characters, because linked messages carry a small header that eats into the payload.
| Characters in the message | Pages billed |
|---|---|
| 1 to 160 | 1 |
| 161 to 306 | 2 |
| 307 to 459 | 3 |
| 460 to 612 | 4 |
| 613 to 765 | 5 |
| 766 to 918 | 6 |
| 919 to 1000 | 7 |
Worked examples
| Message length | Recipients | Pages per recipient | Total cost |
|---|---|---|---|
| 120 characters | 500 recipients | 1 page each | ₦3,500.00 |
| 155 characters | 5,000 recipients | 1 page each | ₦35,000.00 |
| 180 characters | 1,000 recipients | 2 pages each | ₦14,000.00 |
| 300 characters | 1,000 recipients | 2 pages each | ₦14,000.00 |
| 460 characters | 250 recipients | 4 pages each | ₦7,000.00 |
| 150 characters | 50,000 recipients | 1 page each | ₦350,000.00 |
Two things stand out from the table. First, the jump from 155 to 180 characters doubles the cost of a campaign - the most valuable editing you can do is getting a message back under 160. Second, cost scales linearly with recipients, so cleaning a list of dead numbers is real money rather than housekeeping.
The formula
const PAGE_THRESHOLDS = [160, 306, 459, 612, 765, 918, 1000];
const PRICE_PER_PAGE_KOBO = 700;
function pagesFor(message) {
const characters = Array.from(message).length;
if (characters > 1000) throw new Error("Sendozi caps a single send at 1000 characters.");
return PAGE_THRESHOLDS.findIndex((limit) => characters <= limit) + 1;
}
function campaignCostKobo(message, recipientCount) {
return pagesFor(message) * PRICE_PER_PAGE_KOBO * recipientCount;
}
// ₦14,000 for a two-page message to 1,000 recipients
console.log(campaignCostKobo("x".repeat(180), 1000) / 100);PAGE_THRESHOLDS = [160, 306, 459, 612, 765, 918, 1000]
PRICE_PER_PAGE_KOBO = 700
def pages_for(message: str) -> int:
characters = len(message)
if characters > 1000:
raise ValueError("Sendozi caps a single send at 1000 characters.")
return next(index for index, limit in enumerate(PAGE_THRESHOLDS, start=1) if characters <= limit)
def campaign_cost_kobo(message: str, recipient_count: int) -> int:
return pages_for(message) * PRICE_PER_PAGE_KOBO * recipient_countWhat you are not charged for
- Sandbox sends. A sk_test_ key records the send, calls no provider and debits nothing.
- Rejected requests. A send blocked by validation, an unapproved sender ID or an insufficient balance is not charged.
- Account features. Contacts, templates, delivery reports, webhooks, API keys and team members are part of the platform, not add-ons.
- Failed sends where the provider rejected the message: the wallet debit is reversed.
Budgeting a recurring send
- 1
Count the real audience
Deduplicate, drop invalid numbers and remove opt-outs before you multiply anything.
- 2
Fix the template length
Write the longest version the merge fields can produce, then count that. A name field can push a message over a page boundary for a subset of recipients.
- 3
Multiply and add a margin
Pages times recipients times the rate, plus room for retries and for the list growing between now and the send.
- 4
Fund the wallet before the send
A campaign that exhausts the balance mid-run stops there. Top up for the whole campaign, not the first half.
Frequently asked questions
- How much is bulk SMS per page on Sendozi?
- ₦7.00 per page, the same rate for transactional and promotional traffic. There is no setup fee and no monthly minimum.
- Is transactional SMS more expensive than promotional SMS?
- Not on Sendozi. Both routes are billed at the same per-page rate; the route affects delivery behaviour, not price.
- Do I pay more for a longer message?
- Yes. Billing is per page, so a message of 180 characters costs twice a message of 150 characters. The page boundaries are 160, 306, 459, 612, 765, 918 and 1,000 characters.
- Does my wallet balance expire?
- No. The balance stays in the wallet until it is spent or the account is closed.
- Are there volume discounts?
- Above 1,000,000 messages a month, rates are negotiated. Below that, everyone pays the published per-page rate.
- Is VAT included?
- VAT is shown at top-up and on invoices where it applies.
Related reading
SMS
Bulk SMS in Nigeria: the complete guide
How bulk SMS works in Nigeria: sender IDs, transactional and promotional routes, the DND register, page-based pricing, delivery reports and consent. Written for teams sending their first campaign.
SMS
SMS character limits, Unicode and message length
Why an SMS holds 160 characters in GSM-7 but only 70 in Unicode, what happens when a message is concatenated, how emoji and Nigerian-language text change the count, and how Sendozi bills pages.
SMS
Transactional vs promotional SMS in Nigeria
The difference between transactional and promotional SMS, how each route behaves against the Nigerian DND register, a side-by-side comparison, and the grey cases teams get wrong.