A green dashboard is compatible with nobody receiving anything. Here is what each status actually proves, and the one question that tells you whether a provider is passing through real receipts.
When you send an SMS, the confirmation that comes back has crossed four parties: your provider submitted it, the operator accepted it, the recipient's network delivered it, and a receipt travelled back along that chain. Each hop can report success before the next one happens — which is how a provider can show 100% delivery while nothing arrived.
| Stage | Who reports it | What it proves | What it does not |
|---|---|---|---|
| Submitted | Your provider | They accepted it and billed you | Anything about the telco |
| Accepted | The operator | The network took it | That a handset got it |
| Delivered (DLR) | The handset's network | It reached the device | That a human read it |
| Status | Means | Typical cause | Charged |
|---|---|---|---|
| Delivered | Confirmed on the handset | — | Yes |
| Sent | Submitted, no final receipt yet | Receipt still in transit, or the operator never returns one | Yes |
| Undelivered | Accepted, never reached the handset | Phone off for days, number recycled, content filtered, memory full | Yes |
| Rejected | Never submitted at all | Invalid number format, blocked content, duplicate | No — refunded |
Undelivered and rejected must be separate numbers. Operators bill on submission, so one is billable and the other is not. A report showing a single combined "failed" count cannot be reconciled against an invoice even in principle — and that is usually the reason it is presented that way.
Some operators simply never return a receipt for a portion of traffic. The message may well have arrived; the confirmation just never came back. Every provider has to decide what to do with those, and the choice moves their headline delivery rate:
There is no universally right answer, but there is a right way to ask: "what do you do when no delivery receipt comes back, and what percentage of my traffic is that?" A provider who has never thought about it will not have an answer. One who has will tell you the percentage.
One question does most of the work:
"Show me a campaign report where the submitted number and the delivered number are different."
If a provider's two numbers are always identical, they are showing you submissions relabelled as deliveries. Real Malaysian traffic always has a gap — phones are off, numbers get recycled, some content gets filtered. A perfect 100% delivery rate across a large campaign is not excellence, it is a provider reporting stage one.
Two follow-ups worth asking: are results available per number or only as campaign totals, and how long until a receipt is final. Per-number data is what lets you find out that one network is filtering you while the others are fine.
The diagnostic detail for each cause is in why SMS is not delivered in Malaysia, and the routing mechanics behind it in SMS gateways and routing.
If you send from your own system, you want delivery status back in the same place. Our
API returns per-number outcomes using the same four statuses
above, so rejected and undelivered stay distinguishable in your own
reconciliation rather than arriving pre-merged.
That your provider accepted the message and billed you for it. It proves nothing about the operator or the handset. Some providers label this as "sent" or even "delivered", which is why a dashboard can show complete success while nobody received anything.
Either the provider is reporting submission as delivery, or the receipt came from an intermediate hop rather than the recipient network. Ask to see a report where submitted and delivered are different numbers — if they are always identical, you are not looking at real delivery data.
For a clean, consented list on direct local routes, high nineties is normal. A sustained 100% is a warning sign rather than an achievement: real traffic always includes phones that are off and numbers that have been recycled.
Usually seconds. Receipts can arrive minutes later if the handset was temporarily unreachable, and some operators never return one for a fraction of traffic — which is why it is worth asking a provider what they do with messages that never get a receipt.
Yes, when the operator accepted the message, because operators bill on submission rather than delivery. You are not charged for messages that were never submitted — invalid numbers or blocked content — which is why the two must appear as separate numbers in the report.
Trial credit, per-number results, and the submitted and delivered numbers shown separately.