On Safaricom, a sender ID is registered either as promotional or as transactional, and one ID cannot carry both kinds of traffic. If you send OTPs, receipts or account alerts, you need a transactional sender ID; if you send offers or newsletters, you need a promotional one, which must include an opt-out and can only deliver between 08:00 and 18:00.

Last reviewed: 27 October 2026

This guide explains where the line sits, how to decide which ID (or IDs) your business needs, what registration costs with eSMS Africa and the mistakes that get messages blocked. It covers Safaricom in most detail because Safaricom carries the large majority of Kenyan mobile lines (69.8% of subscriptions in the Communications Authority's latest quarterly data, as reported by Techweez), but the same planning applies to Airtel, Telkom and Equitel.

What Safaricom means by promotional and transactional

Safaricom's operator notice, circulated to bulk SMS providers in late 2020, split sender IDs into two categories:

  • Transactional sender IDs are for service engagement: one-time passwords, bank and SACCO transaction alerts, billing reminders, delivery notices, outage alerts and similar messages a customer expects because of a relationship or an action they took.
  • Promotional sender IDs are for promoting products or services: offers, discounts, product launches, newsletters and event marketing.

The notice set two operating rules. Promotional messages must carry opt-out instructions and can only be sent between 08:00 and 18:00. Transactional messages have no time restriction and do not need an opt-out line. Where a business wanted to use one ID for both, Safaricom preferred separate IDs, and where that was not possible, the ID was to be classified as promotional.

That last point is the one that catches businesses out. If your single sender ID is classified as promotional, your 02:00 OTP or your 19:30 payment receipt is now subject to the daytime window. The customer trying to log in at night simply does not get the code.

A decision tree for your business

Work through these questions in order.

  1. Do you send anything a customer needs to complete an action or understand their account? OTPs, receipts, balances, delivery codes, appointment reminders, fee balances. If yes, you need a transactional sender ID.
  2. Do you send anything whose main purpose is to sell? Offers, new products, seasonal campaigns, "refer a friend", upgrade prompts. If yes, you need a promotional sender ID as well.
  3. Is any of your traffic time-critical outside 08:00 to 18:00? Login codes, fraud alerts, night deliveries, hospital reminders for early clinics. If yes, it must sit on the transactional ID, never on a shared or promotional one.
  4. Are the two kinds of message sent by different teams? Often marketing sends campaigns while the product or finance team triggers alerts by API. Separate IDs make it obvious who is sending what and stop a campaign upload from going out under the ID customers associate with security codes.

Most businesses that answer yes to both of the first two questions end up with two IDs, often a short brand name for transactional traffic (for example JENGASACCO) and a variant for marketing (for example JENGAOFFER). Both must be registered.

Examples of where common messages belong

MessageCategoryWhy
Login or sign-up OTPTransactionalTriggered by the customer's action, time-critical
M-Pesa payment receipt from your businessTransactionalConfirms a payment the customer made
Loan instalment or fee balance reminderTransactionalAccount information about an existing relationship
Delivery code and rider ETATransactionalPart of fulfilling an order
Loyalty points balance with no offerTransactionalAccount information only
"Double points this weekend"PromotionalThe aim is to drive purchases
New loan limit or product launchPromotionalSelling a product, even to existing customers
Black Friday or festive offersPromotionalClassic marketing

A useful test: if you removed the sales element, would the message still be worth sending? A receipt is; "20% off this weekend" is not. And do not hide offers in transactional messages. Adding "PS: 10% off your next order" to a receipt turns it into marketing, both under Safaricom's categories and under the Data Protection (General) Regulations, 2021, which treat electronic messages sent using personal data for commercial purposes as direct marketing.

What registration costs with eSMS Africa

Sender IDs are registered per network. eSMS Africa prepares and submits the paperwork and charges a one-off setup fee per network, with no monthly maintenance fee:

NetworkOne-off setupMonthly fee
Safaricom and Airtel bundledKES 14,100None
Safaricom onlyKES 8,700None
Airtel onlyKES 8,700None
TelkomKES 4,500None
EquitelKES 9,000None

The fee applies to each sender ID, so a business that needs both a transactional and a promotional ID on Safaricom and Airtel registers each one. Message sending is billed separately on a pay-as-you-go basis: a standard Kenyan SMS currently costs KES 1.08 ($0.0083) at the basic tier, with lower rates at higher volumes on the pricing page. Fees and the documents we ask for are kept up to date on the Kenya sender ID page.

What you will need

  • A letter of authorisation on your letterhead, naming the sender ID and confirming you own the brand.
  • Your business registration certificate (or the registration document for a SACCO, school, church or NGO).
  • One or two sample messages that match the category you are applying for. A promotional sample should include the opt-out you will actually use.

Approval times vary by network. While you wait, you can test your integration and send live traffic on the eSMS default sender.

Rules for the promotional ID

A promotional sender ID comes with obligations beyond the 08:00 to 18:00 window.

  • Consent first. The CA Consumer Protection Regulations, 2010 require automated direct-marketing schemes in Kenya to be opt-in (regulation 17(4)). The ODPC has awarded compensation to people who received promotional texts without consent.
  • A working opt-out. Every promotional message needs one. A one-way alphanumeric ID cannot receive replies, so use a short unsubscribe link, or a keyword on a two-way short code. Do not write "reply STOP" on an ID that cannot receive a reply.
  • Respect the network-wide block. Safaricom subscribers can dial *456*9*5# and choose to stop all promotional messages. Those customers will not receive your promotions however good your consent records are.
  • Plan around the window. Schedule campaigns so they finish well before 18:00. A large send started at 17:45 may not complete in time. The eSMS dashboard lets you schedule sends in Kenyan time.

The Nation has reported a Communications Authority proposal to bar promotional texts after 19:00. That would not change much for Safaricom senders, whose window already ends at 18:00, but check the CA website for any final rules.

Rules for the transactional ID

Transactional status is not a licence to send anything at any hour. Keep it clean:

  • No offers, links to sales pages or "you might also like" lines.
  • Send only to people with a genuine account or transaction relationship.
  • For OTPs, keep the code near the start of the message, state the expiry and add "never share this code".
  • Avoid sending non-urgent reminders at night even though it is allowed. Customers notice.

If you are building OTP flows, see the managed eSMS Verify API, which keeps codes on transactional routing by design.

Common mistakes

  1. One ID for everything. It ends up classified as promotional, and your night-time OTPs and receipts stop arriving.
  2. Sample messages that do not match. Applying for a transactional ID with a sample that reads like an advert invites rejection or reclassification.
  3. Generic sender IDs. Names like INFO, ALERT or BANK are typically rejected. Use your brand.
  4. Forgetting the other networks. Registering on Safaricom only means Airtel and Telkom customers see a different sender or none at all. Use the bundle if you serve everyone.
  5. Letting marketing use the transactional key. Use separate API keys and team roles so a campaign cannot go out under your OTP sender.

For industry examples, see how SACCOs and banks and retailers split their traffic.

Frequently asked questions

Can I use one sender ID for both promotions and alerts on Safaricom?

Safaricom does not allow one sender ID to carry both kinds of traffic. If you only register one and use it for marketing, it is treated as promotional, so alerts on it are limited to 08:00 to 18:00 and need an opt-out. Register two IDs if you send both.

Do transactional messages need an opt-out?

Safaricom's notice does not require an opt-out on transactional messages. Customers can still object to processing under the Data Protection Act, so give them a way to change notification preferences in your app or by calling you.

How much does a Safaricom sender ID cost with eSMS Africa?

KES 8,700 one-off for Safaricom only, or KES 14,100 for Safaricom and Airtel together, with no monthly fee. Telkom is KES 4,500 and Equitel KES 9,000. Each sender ID is registered separately.

Can I send while my sender ID is being approved?

Yes. You can send on the eSMS default sender and test your integration with esms_test_ keys, which simulate sends without charge. Switch the sender_id field once your own ID is live.

Sources

Ready to register? Read the Kenya sender ID requirements, then create a free eSMS Africa account and submit your transactional and promotional IDs from the dashboard.