eSMSAfrica
Retail & e-commerce · Kenya

SMS for retailers and online shops in Kenya

Kenyan shoppers pay by M-Pesa till or paybill, and many of them expect a text the moment their order is confirmed. eSMS Africa covers the whole retail cycle: order and payment confirmations, delivery updates, loyalty balances and, for customers who opted in, promotions sent in daytime hours with a clear way to stop.

Safaricom, Airtel, Telkom Delivery reports From KES 1.08 per SMS
DUKABORATransactional
Duka Bora: Order #20931 confirmed, KES 3,480 paid by M-Pesa. Delivery to Kilimani on Thu. Track: dukabora.co.ke/t/20931
119 chars · 1 segment · GSM-7
Kenya context

What makes retail & e-commerce messaging different in Kenya

  • Kenya's Data Protection (General) Regulations, 2021 treat electronic messages sent using personal data as direct marketing and require a simple, free opt-out. The ODPC has awarded compensation to people who received promotions without consent.
  • On Safaricom, promotional SMS must come from a promotional sender ID, carry an opt-out and be sent between 08:00 and 18:00. Order confirmations and delivery notices sit on a transactional ID.
  • Safaricom subscribers can block promotional messages by dialling *456*9*5#. Retailers who send too often or without consent risk losing reach to customers who block everything.
  • Black Friday, the festive season in December and the January back-to-school period are the busiest retail moments, and the times when customers are most likely to opt out after a flood of offers.
What to send

Messages retail & e-commerce teams in Kenya send

Order and payment confirmation

Send an order summary as soon as the M-Pesa or card payment clears, with the order number and expected delivery date. This is your first chance to look professional.

Delivery and pick-up updates

Tell the customer when the order is dispatched, when the rider is close and when it is ready at a pick-up point, so fewer deliveries fail.

Loyalty points balance

After each purchase, confirm the points earned and the total balance. A plain message like this keeps customers engaged without counting as a promotion, as long as it carries no offer.

Consent-based offers

Send weekly or seasonal offers only to customers who ticked the box at checkout, at a sensible daytime hour, from your promotional ID with an opt-out.

Abandoned cart reminder

One reminder a few hours after a customer leaves items in the cart, with a link back. If they have not opted in to marketing, keep it to that single service reminder or skip it.

Sample messages

Copy-ready templates for Kenya

Character counts and segments are calculated with the same GSM-7 and Unicode rules used for billing. Replace the example brand and values with your own.

Order confirmed Transactional
Duka Bora: Order #20931 confirmed, KES 3,480 paid by M-Pesa. Delivery to Kilimani on Thu. Track: dukabora.co.ke/t/20931
119 chars · 1 segment · GSM-7
Loyalty balance Transactional
Duka Bora: You earned 35 points today. Balance: 1,240 points (worth KES 124). Thank you for shopping with us.
109 chars · 1 segment · GSM-7
Weekend offer Promotional
Duka Bora: 20% off cooking oil and flour this weekend at all Nairobi stores. Opt out: dukabora.co.ke/stop
105 chars · 1 segment · GSM-7
Offer (Kiswahili) Promotional Kiswahili
Duka Bora: Punguzo la 20% kwa unga na mafuta wikendi hii. Kujiondoa: dukabora.co.ke/stop
88 chars · 1 segment · GSM-7
Rules that apply

Compliance for retail & e-commerce SMS in Kenya

A practical summary with sources, not legal advice. Check the regulator's current text for edge cases.

  • Promotions need consent first. The CA Consumer Protection Regulations, 2010 require automated direct-marketing schemes to be opt-in, and the 2021 data protection regulations require a free, simple opt-out in every marketing message.
  • Use a promotional sender ID for offers and a transactional one for orders. Mixing them on Safaricom is not allowed, and a promotional ID cannot send outside 08:00 to 18:00.
  • Remove customers who opt out promptly and keep a record of when and how they consented. ODPC decisions have turned on the absence of consent and ignored objections.
  • Direct marketing is a mandatory ODPC registration category. A retailer that markets by SMS should check its registration covers that purpose.
Send it

From your system to Safaricom and Airtel in one call

  1. 1Create an account and copy a test key (esms_test_...) to try the integration without spending credit.
  2. 2Request your sender ID for Kenya. Until it is approved you can send from the eSMS default sender.
  3. 3Call the send endpoint from your app, or upload a CSV in the dashboard with merge fields like {{name}}. Delivery reports arrive by webhook.

Need one-time codes? eSMS Verify generates, sends and checks them in two calls. Full reference in the API docs.

curl -X POST https://sms.esmsafrica.io/api/messages/send \
  -H "Authorization: Bearer $ESMS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+254712345678",
    "text": "Duka Bora: Order #20931 confirmed, KES 3,480 paid. Delivery to Kilimani on Thu.",
    "sender_id": "DUKABORA"
  }'
Live pricing

SMS pricing in Kenya

Per-SMS rates for one segment, updated live. Pay as you go with no monthly minimum; volume rates apply automatically by monthly spend.

Basic
KES1.08
per SMS· USD 0.0083
Monthly spend USD 1 - USD 1,000
Business
KES0.9
per SMS· USD 0.0069
Monthly spend USD 1,001 - USD 4,999
Enterprise
KES0.15
per SMS· USD 0.0012
Monthly spend USD 5,000+

Estimate a campaign with the SMS cost calculator or compare all countries in the Africa SMS pricing index.

FAQ

Retail & e-commerce SMS in Kenya: common questions

Can we text offers to every customer who has bought from us?

Not safely. Kenyan rules expect opt-in for automated direct marketing, and the data protection regulations require a clear opt-out. Ask for marketing consent at checkout or in-store, keep the record, and only send offers to people who said yes. Past buyers who did not consent can still receive order and delivery messages.

What opt-out should a promotional SMS include?

Something the customer can use for free: a short link to an unsubscribe page, an SMS keyword on a two-way short code, or both. Do not write "reply STOP" on a one-way sender ID that cannot receive replies. eSMS blocks sends to numbers on your opt-out list.

How often should we send promotions?

There is no fixed legal limit, but each extra message raises the chance a customer blocks all promotions with *456*9*5# on Safaricom. Many retailers settle on one or two offers a week and save higher frequency for genuine sales events.

Is a loyalty points message promotional?

A plain points balance after a purchase is a service message. Once it adds an offer, such as double points this weekend, it becomes promotional and belongs on your promotional sender ID with an opt-out. Keep the two message types apart and the transactional ID stays free of the daytime window.

Get started

Start sending retail & e-commerce SMS in Kenya today

Free account, test keys, sender ID registration handled for you, and pay-as-you-go pricing in KES or USD.