The delivery update is the message WhatsApp was built for and the one Meta approves fastest. The hard part is not the message — it is the volume, and a tier that counts people rather than messages.
The category decides everything else: the price, whether it reaches somebody who opted out, and the criteria it is reviewed against.
| Message | Category | What that means |
|---|---|---|
| Picked up, in transit, out for delivery, delivered | Utility | Four messages to one recipient count once against the tier. |
| Failed delivery, reschedule | Utility | The message that recovers a parcel instead of returning it. |
| Driver on the way, live location | Interactive, free-form | Needs the window open — which a recipient's own "where is it?" opens for you. |
Meta paces messages from a new business portfolio until it has 500,000 lifetime sends. Messages are not rejected — they are held, and released as the pacing lifts. For a logistics company launching at volume this looks exactly like an outage and is not one. Zanii renders held messages as "Meta is holding these" with the reason, rather than as a stalled counter that produces a support ticket about somebody else's rate limiting.
Hi {{1}}, we tried to deliver {{2}} today and nobody was in. Reply 1 for tomorrow, 2 to collect from {{3}}.
Category: Utility
The double braces are variables WhatsApp fills per recipient. Meta rejects a template whose numbering has gaps, and Zanii catches that before you submit it.