Delivery receipt (DLR)
A delivery receipt is a status message returned by a carrier or email provider describing what happened to a message you sent. It is the basis of every delivery percentage a vendor quotes, and it proves considerably less than those percentages imply.
| Status | Means | Does not mean | Terminal? |
|---|---|---|---|
| queued | The platform accepted it and has not handed it to a carrier | Anything about the recipient | No |
| sent | Handed to the carrier, which acknowledged receipt | That a handset received it | No |
| delivered | The carrier reports the handset acknowledged it | That a person unlocked the phone and read it | Yes |
| undelivered | The carrier tried and could not — off, out of range, blocked, filtered | That the number is permanently bad | Yes |
| failed | Rejected before or during handoff — bad number, unregistered traffic | That a retry will help | Yes |
| unknown | No receipt ever came back; some carriers simply do not send them | Failure — it is genuinely unknown | Effectively |
The two arithmetic tricks in a delivery percentage
Any delivery figure is a fraction, and both halves can be quietly adjusted.
Trick one: counting sent as delivered. Carrier acceptance is not handset delivery. The gap is largest exactly where it matters most — unregistered 10DLC traffic is accepted and then filtered, so a district with an incomplete registration can show excellent delivery while families receive nothing at all.
Trick two: leaving queued messages in the denominator. If messages still in flight count as attempts but cannot yet count as successes, the rate is a function of when you look at the dashboard. An honest rate is computed over settled messages only — those that reached a terminal state — and reports the unsettled count separately.
Including us. Kastr's own insights query currently groups sent inside the delivered bucket. That contradicts a principle we publish, it is a bug rather than a position, and it is on the fix list. We are naming it here because a page about vendors inflating delivery numbers would be worthless if it quietly exempted the vendor who wrote it.
Bounces, and the right response to each
Email has its own vocabulary for the same problem, and the correct district response differs by type. Treating them all as "failed" is how a list rots.
| Type | Meaning | Correct response |
|---|---|---|
| Hard bounce (email) | The address does not exist | Retire it and ask the family for a new one. Never retry. |
| Soft bounce (email) | Mailbox full, server temporarily down | Retry with backoff; escalate to a data task if it persists |
| Block / reputation | The receiving domain rejected your sender | A deliverability problem, not a contact problem. Fix authentication. |
| Spam complaint | The recipient marked it as junk | Suppress immediately and treat it as feedback about the message, not the address |
| SMS failed — invalid | Not a valid mobile destination, often a landline | Correct the phone type; try voice instead |
| SMS undelivered | Reachable in principle, not right now | Retry once, then fail over to another channel |
Kastr fails a terminally failed SMS over to a voice call and records the linkage, so a landline sitting in a mobile field degrades into a phone call rather than silence.
An evidence ladder for "did the family get it"
When a parent says they were never told, a delivery percentage is not a defence. What helps is knowing which rung of the ladder you can actually stand on:
- The platform accepted it. Proves you tried. Worth very little.
- The carrier accepted it. Proves the handoff. Still nothing about the family.
- The channel reported delivery. Proves a device acknowledged it. The best a one-way channel can do.
- The message was opened or read in an app. Proves a session, not a person.
- Somebody replied. Proves a human read it.
- The requested action happened — the form came back, the student arrived, the call was returned. This is the only rung that proves the communication worked.
For anything with legal weight — a truancy notice, a disciplinary notice, a Title III notification — districts should be designing for rung five or six on purpose, with a second channel and a documented follow-up, rather than relying on a rung-three receipt and hoping. What makes any of it defensible afterwards is an audit record that cannot be edited later; ours is a per-organisation SHA-256 hash chain with UPDATE and DELETE revoked at the database level.
Questions people actually ask
Does 'delivered' mean the parent read the message?
No. It means the carrier reports that a handset acknowledged receipt. The phone could be in a drawer. Reading is a separate event that only an in-app read receipt, a reply or a completed action can evidence.
What is the difference between a hard bounce and a soft bounce?
A hard bounce means the address does not exist — retire it and collect a new one. A soft bounce is temporary, such as a full mailbox, and should be retried with backoff. Retrying hard bounces damages sender reputation and never succeeds.
Why do some texts show 'unknown' status forever?
Because not every carrier returns delivery receipts, and some return them inconsistently. Unknown genuinely means unknown — counting it as either success or failure misstates the result. Report it as its own bucket and size it before trusting any delivery percentage.
What is the strongest proof that a family received a notice?
A response: a reply, a returned form, or the requested action taken. Below that, an in-app read, then a channel delivery receipt, then carrier acceptance. For notices with legal consequence, design for a response on a second channel rather than relying on a receipt.
One price. Every feature. Locked for three years.
$3.50 per student per year under 5,000 students. No tiers, no add-on modules, no per-message fees. Published on the site because you should not have to book a call to learn a price.