Skip to content
Sendozi

SMS

DND and SMS delivery in Nigeria

Do Not Disturb is a network-level setting a Nigerian subscriber activates to block unsolicited marketing SMS. Promotional traffic to a DND-active number is blocked by the network. Transactional messages - OTPs, alerts, service notices - travel a separate corporate route that is not treated as marketing.

By SendoziUpdated 5 min read

What is DND in Nigeria?

Do Not Disturb is a service Nigerian mobile networks provide under a Nigerian Communications Commission directive. A subscriber texts a short code to their network to opt out of unsolicited marketing messages and calls, either fully or by category. Once active, the network itself filters marketing traffic before it reaches the handset.

The important word is network. DND is not a filter your messaging platform applies and can therefore be persuaded to skip. It is enforced upstream by MTN, Airtel, Glo and 9mobile. No provider can deliver blocked promotional traffic to a DND-active number, and any provider that says otherwise is either misdescribing a transactional route or misusing one.

The short code and the category options differ by network, and both change from time to time. Check the current codes with the recipient network before publishing opt-out instructions of your own.

Why your SMS failed

DND is the most common explanation, but it is not the only one, and treating every failure as DND hides the ones you could actually fix. Work through these in order.

SymptomLikely causeWhat to do
Promotional campaign delivers to some networks, fails on many numbersThose recipients have DND activeAccept it for marketing. Do not reroute marketing onto a transactional path.
Every message fails immediately, before any network responseSender ID not approved, or the request was rejected at validationCheck the error code in the delivery report and the sender ID status.
A specific set of numbers never deliversThe numbers are invalid, ported oddly or not in +234 formatNormalise and revalidate the list. See the phone number guide.
OTPs fail while campaigns succeedThe OTP was submitted on the promotional routeSet sms_type: "transactional" on the request.
Delivery is reported but the recipient says nothing arrivedHandset issue, or an aggressive on-device filterQuote the message id to support. The status timeline shows what the network returned.

What legitimately travels the transactional route

Messages the recipient is expecting because of something they did: one-time passwords, transaction and balance alerts, order and delivery updates, appointment reminders, payment receipts, service outage notices and account security warnings.

The test is not the wording. It is whether the message exists because the recipient took an action or holds a relationship with you, and whether it would be useful even if they had asked never to hear marketing from anyone. A discount code attached to a delivery notification does not become transactional because the rest of the message is.

On Sendozi the route is explicit rather than inferred. Every SMS request must carry sms_type, either transactional or promotional, and the API refuses to guess. The transactional versus promotional guide sets out where the line falls in practice.

What Sendozi does and does not do about DND

Separate routes, chosen by you
Transactional and promotional traffic travel different paths, and the choice is a required field on every request rather than a guess made on your behalf.
Per-recipient delivery reporting
You see delivered, failed or pending per recipient, with the status timeline and the error code, so a DND block is distinguishable from a bad number.
Suppression lists
Recipients you add are checked on every send, so an opt-out you record once is respected afterwards.
No DND bypass
There is no setting that delivers promotional traffic to a DND-active number, because there is no legitimate mechanism for one.
No live DND lookup
Sendozi does not expose a pre-send DND status check per number. You learn the outcome from the delivery report.

Designing around DND instead of fighting it

  1. 1

    Split the list by message type, not by campaign

    Service communication and marketing are different programmes with different rules. Treating them as one list forces you into the wrong route for half of it.

  2. 2

    Collect a second channel

    Other communication channels may be governed differently, but they are outside Sendozi's SMS offering. A DND-active number should not be treated as permission to reclassify a promotional SMS.

  3. 3

    Make the transactional message carry the value

    A delivery notification that is genuinely useful gets read. That attention is worth more than a blocked promotional blast.

  4. 4

    Ask for consent explicitly, and record it

    A subscriber who has deactivated DND for your category, or who asked to hear from you, is a far better recipient than a purchased number.

  5. 5

    Measure per network

    Delivery differs by network. Reporting failures as one number hides a problem that is specific to one of the four.

Frequently asked questions

Can any provider bypass DND in Nigeria?
No. DND is enforced by the mobile networks, not by messaging platforms. Promotional traffic to a DND-active number is blocked upstream. What providers can legitimately offer is a transactional route for messages that are not marketing.
Do OTPs reach DND numbers?
One-time passwords are transactional traffic and are carried on the corporate route, which is not filtered as marketing. Delivery still depends on the handset being reachable.
How does a subscriber turn DND on or off in Nigeria?
By texting a short code to their network - the NCC publishes the current codes and the category options. Full DND blocks all marketing; category codes allow selected message types through.
Does Sendozi tell me which recipients are on DND?
Not before you send. There is no pre-send DND lookup. The per-recipient delivery report shows what the network returned for each number after the send.
Is it against the rules to send a promotion on a transactional route?
Yes. It misuses a route that exists for service messages, and networks audit for it. The likely outcome is a suspended sender ID.

Choose the route explicitly

Every Sendozi SMS request carries sms_type. The API reference shows how the two routes behave.