SMS delivery report dashboard showing message flow from app through SMSC to handset, with DELIVRD, EXPIRED, REJECTD, and UNKNOWN status codes and a 98.2% delivery rate metric

SMS Delivery Reports: Track and Fix Failed Messages

You sent 10,000 messages. Your dashboard says they went out. But how many actually reached a customer’s phone?

Without an SMS delivery report for each message, you are spending money on messages that may never arrive. According to Sakari’s industry compilation, 90% of SMS messages are read within three minutes of delivery. That speed only matters if the message lands in the first place.

This guide breaks down what SMS delivery reports tell you, what the status codes mean on African mobile networks, and the specific steps you can take to improve SMS deliverability. If you run promotional campaigns or transactional alerts across Africa, every section addresses the carrier-level realities you face daily.

What Is an SMS Delivery Report?

An SMS delivery report (DLR) is a status notification your SMS provider receives from the mobile network confirming whether a message reached the recipient’s handset.

The process works in four steps:

  1. Your application sends a message through your SMS provider’s API or dashboard.
  2. The provider routes the message to the carrier’s Short Message Service Centre (SMSC).
  3. The SMSC attempts delivery to the recipient’s device.
  4. The carrier sends a delivery receipt back through the chain, updating your provider’s dashboard with a status code.

This receipt is your delivery report. It tells you one of three things: the message was delivered, it failed, or the carrier is still trying.

For developers using the Arkesel SMS API, delivery reports come through webhook callbacks. Your application receives the status update in real time, giving you SMS delivery tracking without checking a dashboard manually. You can trigger retries, flag invalid numbers, or alert your operations team the moment a status changes. Full endpoint documentation is available in the Arkesel Developer APIs portal.

What Do SMS Delivery Status Codes Mean?

Every SMS delivery report includes a status code. Understanding these codes is the difference between guessing why messages fail and fixing the root cause.

Different providers display these codes differently — some show the raw SMPP protocol abbreviation (like DELIVRD), while others translate it to plain language (like “Delivered” or “Success”). The table below shows the most common statuses and what they mean.

Provider DisplaySMPP CodeOther Common LabelsMeaningCommon Causes on African Networks
DeliveredDELIVRD“Success”, “Sent”Message reached the handsetSuccessful delivery
UndeliveredUNDELIV“Not Delivered”, “Failed”Message could not be deliveredInvalid number, phone switched off for extended period, subscriber deactivated
ExpiredEXPIRED“Timed Out”Delivery window closed before reaching handsetPhone off or out of coverage for too long, SMSC queue timeout
RejectedREJECTD“Blocked”, “Denied”Carrier rejected the messageSender ID issues, content filtering, carrier blacklist
FailedFAILED“Error”Permanent delivery failureNetwork error, routing failure, number ported to a carrier without a valid route
UnknownUNKNOWN“Pending”, “Indeterminate”No specific reason providedTemporary error, carrier returned a status without a clear delivery or failure reason

An Unknown status means the carrier returned a response without providing a specific delivery or failure reason. It could be a temporary error, a timeout, or simply that the carrier’s system did not resolve the message to a final state. This does not necessarily mean the message was not delivered — it means the outcome is uncertain. A high Unknown rate warrants investigation with your SMS provider, as it may point to routing or configuration issues.

A Rejected status can result from several causes: sender ID issues, content that triggered carrier filters, or your number appearing on a carrier blacklist. If you see a spike in Rejected statuses, check whether your sender ID is properly configured with the carriers you are targeting. See our guide on sending SMS with your company name for setup steps.

How Do You Calculate Your SMS Delivery Rate?

Your SMS delivery rate tells you what percentage of sent messages actually reached recipients. The formula is straightforward:

Delivery Rate = (Delivered Messages ÷ Total Messages Sent) × 100

What counts as a good delivery rate depends on the type of message you are sending.

Promotional campaigns (bulk marketing, offers, announcements) — contact lists naturally degrade over time as subscribers change SIMs, go inactive, or churn. For bulk promotional sends:

  • Below 60%: Urgent — significant list quality or routing issues.
  • 60–70%: Needs attention. Validate your contact list and check routing.
  • 70–80%: Good performance for promotional sends.
  • Above 80%: Excellent. Your list hygiene and routing are strong.

Transactional messages (OTPs, order confirmations, alerts) — recipients initiated the interaction and are actively waiting, so delivery should be higher:

  • Below 85%: Investigate immediately — something is blocking delivery.
  • 85–90%: Needs attention. Check sender ID configuration and routing.
  • 90–95%: Healthy range for transactional messaging.
  • Above 95%: Excellent. Direct carrier routing and clean infrastructure.

Track your SMS delivery rate weekly, not monthly. A sudden drop between campaigns points to a specific issue — a batch of invalid numbers, a carrier-level block, or a routing change from your provider.

Why Are My SMS Messages Not Being Delivered?

Delivery failures on African mobile networks trace back to five common causes. Diagnosing the right one saves you from applying fixes that do not match the problem.

1. Invalid or Inactive Numbers

Phone numbers get deactivated, ported, or entered incorrectly. In markets like Ghana and Nigeria where prepaid dominates, subscribers frequently change SIMs. A number that worked three months ago may be reassigned or disconnected.

Fix: Run your contact list through a number validation service before every major campaign. Remove numbers that return invalid status. If you are scaling campaigns for a growing customer base, see our guide on bulk SMS strategies for Ghana SMEs for list management practices that keep delivery rates high.

2. Carrier Content Filtering

Mobile carriers across Africa use automated filters to block messages that look like spam. Certain keywords, excessive capitalization, and URLs from unknown domains trigger these filters. Filtering intensity varies by market — Nigerian carriers tend to apply more aggressive anti-fraud filtering than others.

Fix: Review your message templates against your carrier’s content guidelines. Avoid URL shorteners that carriers flag. Read our guide on avoiding SMS spam filters for specific patterns to watch.

3. Grey Route Delivery

Grey routes are unofficial pathways that bypass direct carrier connections. They are often lower-cost, but they come with serious tradeoffs: no delivery receipts, lower SMS delivery rates, and the risk of carrier-level blocks when detected.

We cover this in depth in the next section.

4. Sender ID Issues

Some mobile operators require sender ID registration before delivering branded messages. If your sender ID is not properly configured with a carrier, messages may be silently dropped or the sender ID replaced with a generic number.

Fix: Register your alphanumeric sender ID with every carrier you need to reach. Your SMS provider should handle this registration process for you. Requirements vary by operator and market, so confirm coverage for each network you target.

5. Message Content Triggers

Messages containing financial terms, promotional language, or links to certain domains face higher scrutiny from carrier filters — especially in markets with aggressive anti-fraud filtering.

Fix: Keep messages concise. Front-load the important information. Avoid combining multiple promotional elements in a single message.

The Grey Route Problem: Why Your SMS Provider Matters in Africa

The single biggest factor in your SMS delivery rate across African markets is whether your SMS provider uses direct carrier connections or grey routes.

Direct (white) routes connect your provider to carriers through official commercial agreements. Every message travels through the carrier’s own infrastructure. You get real delivery receipts, registered sender IDs, and consistent delivery quality.

Grey routes bypass these agreements. Messages might travel through SIM farms, international gateways, or resold connections with no contractual relationship to the destination carrier. The result:

  • No reliable SMS delivery reports (status codes come back as Unknown)
  • Higher failure rates, especially during peak hours
  • Risk of your sender ID being stripped or blocked
  • No recourse when messages fail at scale

The cost difference between grey and direct routes can be significant. But if your delivery reports show high Unknown rates, you are likely paying for messages that never arrived — and you cannot even tell which ones.

Arkesel maintains direct mobile network connections across Ghana, Nigeria, and other African markets, delivering a 99.9% delivery rate with real-time SMS delivery tracking for every message. When you compare bulk SMS providers, ask specifically about route type and whether they return carrier-confirmed delivery receipts.

See how Arkesel’s direct carrier connections deliver 99.9% reliability — explore the Arkesel SMS Platform.

7 Ways to Improve Your SMS Delivery Rate

These steps are ordered by impact. Start with the ones that apply to your current situation.

1. Clean Your Contact List Before Every Campaign

Remove invalid, deactivated, and duplicate numbers. In prepaid-dominant markets, list decay is faster than you might expect. A quarterly deep clean is not enough — validate before every large send.

2. Register Your Sender ID with Every Target Carrier

Do not assume one registration covers all networks. Each carrier may have its own requirements. An unregistered or misconfigured sender ID means silent message drops with no error to alert you.

3. Use a Provider with Direct Carrier Connections

This is the highest-leverage change you can make to improve SMS deliverability. A provider with direct MNO agreements gives you real DLR data, registered sender ID support, and consistent delivery quality. When choosing an SMS gateway for Africa, direct carrier connections should be the first criterion.

4. Optimize Your Message Content

Keep messages under 160 characters when possible. Avoid URL shorteners that carriers flag. Do not use excessive caps or special characters. Front-load the most important information in the first line.

5. Control Your Sending Volume and Timing

Sending 50,000 messages in a single burst overwhelms carrier queues. Spread sends across 30–60 minute windows. Avoid peak network hours for non-urgent campaigns.

6. Implement Opt-Out and Honour It Immediately

Carrier filters monitor opt-out compliance. Messages sent to numbers that have opted out risk triggering carrier-level blocks on your sender ID — affecting delivery to your entire list, not just the opted-out number.

7. Monitor Your Delivery Reports After Every Campaign

Do not wait for complaints. After every send, check your SMS delivery rate, review failed statuses, and identify patterns. A spike in Rejected statuses points to a sender ID or content filtering issue. A rise in Expired statuses signals timing problems. A high Unknown rate warrants a conversation with your provider about routing quality.

For teams running automated SMS campaigns, build DLR monitoring into your workflow so failures trigger alerts, not manual dashboard checks.

How to Read Your Delivery Dashboard

Your delivery dashboard gives you four numbers that matter:

Sent: Total messages submitted to the provider. This confirms your campaign executed.

Delivered: Messages confirmed by the carrier as reaching the handset. This is the number that counts.

Failed: Messages that received a permanent failure code (Undelivered, Rejected, or Failed). Investigate every spike.

Pending/Unknown: Messages without a final status. A small percentage is normal — phones in tunnels or basements will receive messages when they reconnect. But if your Unknown rate stays above 5% after 24 hours, investigate with your provider.

Look at the ratio of Delivered to Sent. That is your delivery rate. Compare it across campaigns, across days of the week, and across carrier networks if your dashboard offers that breakdown.

For a broader view of how SMS fits into your marketing strategy, see our complete SMS marketing guide for Ghana.

Frequently Asked Questions

What Is a Good SMS Delivery Rate?

It depends on the message type. For transactional messages like OTPs and order confirmations, aim for 90% or higher — recipients are actively waiting, so delivery should be reliable. For promotional campaigns, 75% or higher is good performance. Contact lists naturally degrade as subscribers change SIMs or go inactive, so the larger and older your list, the more attrition you should expect.

How Do I Check If My SMS Was Delivered?

Check your SMS provider’s delivery dashboard or, if you use an API, the DLR webhook callback. A Delivered status confirms the carrier delivered the message to the recipient’s handset. Any other status means the message either failed or is still in transit.

Why Do My Bulk SMS Messages Have Low Delivery Rates?

The most common causes are invalid numbers in your contact list, unregistered sender IDs, and grey route delivery. Start by validating your contact list, confirming your sender ID registration with each carrier, and asking your SMS provider whether they use direct carrier connections.

Do SMS Delivery Reports Confirm the Recipient Read the Message?

No. An SMS delivery report confirms the message reached the recipient’s device, not that they opened or read it. That said, according to Sakari’s industry compilation, SMS sees 90–98% open rates and 18–35% click-through rates globally — significantly higher than most other channels.

Start Tracking Every Message

Your SMS delivery report is not a vanity metric. It is a diagnostic tool that tells you exactly where your messages fail and why.

Clean your lists. Register your sender IDs. Choose a provider with direct carrier connections and real-time SMS delivery tracking.

Sign up for Arkesel and track every message from send to delivery — with direct carrier connections across African mobile networks.

Related Articles

Popular Posts

When does a voice survey beat an SMS, web, or written one? A decision guide for Ghanaian teams, with honest trade-offs and how to run one on VoiceConnect.
How an AI voice agent works, when to use one for after-hours and overflow calls, and how it hands off to a human. A Ghana-focused guide.
Progressive, predictive, or preview dialling? A Ghana guide to outbound dialling modes — how each paces calls, the trade-offs, and which fits your team.
Scroll to Top