Sending bulk SMS in Kenya: a practical guide
Bulk SMS is simple once the groundwork is in place. Follow these steps in order and your first campaign will reach the right people, cost what you expected and stay within Kenyan law.
Step 1: Register a sender ID
A sender ID is the name shown in place of a number, such as "GREENHILL". It is up to 11 letters or numbers with no spaces, and must relate to your business or brand. Generic words such as INFO or ALERT are rejected.
Sender IDs are registered with each network through a licensed provider. Safaricom, which carries about 94% of SMS traffic in Kenya, reviews new sender IDs in twice-weekly batches. Airtel and Telkom usually take 1 to 2 weeks.
Decide what you will send. On Safaricom one sender ID carries either transactional messages (reminders, confirmations, alerts) or promotional ones (offers), not both.
Read our sender ID guide for the full list of documents and common rejection reasons.
Step 2: Build and clean your contact list
Put your contacts in a spreadsheet with at least a name and a phone number. Add columns for anything you want to include in messages, such as balance, class or branch. Save it as CSV.
- Remove duplicates, so nobody pays twice for one person.
- Fix or remove numbers that are too short or too long.
- Delete people who have asked you to stop.
| How the number is written | What it becomes |
|---|---|
| 0712 345 678 | 254712345678 |
| +254 712 345 678 | 254712345678 |
| 254712345678 | 254712345678 |
| 0112 345 678 | 254112345678 |
Step 3: Make sure people agreed
Kenya's Data Protection Act 2019 (section 37) requires express consent before you use someone's personal data for commercial purposes, and the opt-in principle in the CA Consumer Protection Regulations is generally applied to SMS marketing.
In practice: send reminders and notices to your own customers, members, parents or patients, and send promotions only to people who said yes. Never buy or borrow a list.
Good places to ask for consent are the forms where you already collect numbers: admission and membership forms, patient registration, the till, your website checkout or a WhatsApp chat. Use plain words, such as "Can we send you offers by SMS?", and keep a record of who said yes and when.
Our guide to bulk SMS rules in Kenya covers consent, opt-outs and the cases the data regulator has decided.
Step 4: Write and personalise a message under 160 characters
One SMS holds 160 standard characters. Longer messages are split into 153-character parts, each charged as an SMS. One emoji or curly quote switches the whole message to Unicode, which fits only 70 characters per SMS.
Use variables such as {{first_name}} so each person sees their own name, balance or appointment time. Personal messages are more likely to be read and acted on. Check that the longest name and largest figure still keep the message within one SMS.
- Start with who it is for and what it is about.
- Give one action and one deadline.
- Include the Paybill, account, phone number or place they need.
- Sign off with your name, even though the sender ID shows it.
- Type it directly; do not paste from Word or WhatsApp.
| Draft | Characters | SMS |
|---|---|---|
| "Dear Parent/Guardian, we would like to kindly remind you that the school fees balance for this term is still outstanding and should be paid as soon as possible. Kindly use our Paybill number 123456 and use the admission number as the account. Thank you." | 253 | 2 |
| "Dear Jane, Term 3 balance is KES 12,500, due 30 Sept. Pay via Paybill 123456, account: admission no. GREENHILL ACADEMY" | 118 | 1 |
Step 5: Choose the right time
- Reminders: the day before, or the morning of a deadline.
- Promotions: during the day, before people shop. Never late at night.
- Urgent alerts: immediately.
- Do not send the same group several messages a day.
Step 6: Test, send and check delivery reports
Send the message to yourself and a colleague first. Check the wording, the variables and the sender name on a real phone.
After sending, open the delivery report. Delivered means the SMS reached the phone. Failed numbers are often switched off, out of service or wrongly typed. Fix them in your list before the next campaign.
Step 7: Handle opt-outs
People cannot reply to a sender ID, so give them another way to stop: for example "Opt out: WhatsApp STOP to 07XX XXX XXX". Remove them before your next campaign and never add them back. Safaricom customers can also block promotional messages on the *456# menu.
Common mistakes to avoid
- Sending before the sender ID is approved, or from a personal line, so messages arrive from an unknown number.
- Using one sender ID for both offers and service messages on Safaricom.
- Pasting text with emoji or curly quotes, which doubles or triples the cost.
- Uploading an old list full of duplicates and numbers that no longer work.
- Sending promotions to people who never agreed to them, or with no way to opt out.
- Messages with no sign-off, no deadline or no Paybill, so people cannot act on them.
- Sending late at night, or several times a day to the same people.
- Never reading the delivery report, so the same numbers fail every month.
Sending bulk SMS with chat.or.ke
- Tell us the sender ID you want on the form or WhatsApp. We register it with Safaricom, Airtel and Telkom for a one-off KES 7,500.
- Once approved, sign in to your portal and top up with M-Pesa from KES 500.
- Import your CSV. We clean the numbers, remove duplicates and skip anyone who opted out.
- Write your message. The portal shows the character count and SMS cost before you send.
- Send now, then follow the delivery report. Each SMS costs KES 0.55, with no monthly fee.