The split that governs your bill
A retail brand sends two fundamentally different kinds of WhatsApp message, and Meta prices them differently.
Utility messages relate to a transaction the customer has already made: order received, payment confirmed, packed, dispatched, out for delivery, delivered, return picked up. These are free inside an open customer service window and charged outside it.
Marketing messages promote something: a sale, a new drop, a festive offer, a cart the customer abandoned. These are always charged when sent, with no free window.
There are two other categories worth knowing. Authentication templates — login and verification codes — behave like utility: free inside an open window, charged outside it. Service messages are ordinary free-form replies; they are free, but can only be sent inside an open customer service window.
| Retail message | Category | Charged? |
|---|---|---|
| Order confirmed, payment received | Utility | Free inside an open window; charged outside it |
| Packed / dispatched / out for delivery | Utility | Free inside an open window; charged outside it |
| Delivery confirmation, return pickup scheduled | Utility | Free inside an open window; charged outside it |
| COD verification code | Authentication | Free inside an open window; charged outside it |
| Agent replying to "where is my order?" | Service (non-template) | Free, and only sendable inside an open window |
| Festive sale announcement | Marketing | Always charged |
| New collection launch | Marketing | Always charged |
| Abandoned cart nudge with a discount | Marketing | Always charged |
| Customer's own message to you | — | Never charged |
The rule that catches brands out is this: the category Meta applies to the template at the time of use determines the charge — not the category you intended. Write what you consider a dispatch update, attach "and here's 10% off your next order", and you have written a marketing message. You will be billed accordingly, and you cannot appeal it after the send.
That single sentence is the discipline this page is about. Keep transactional templates transactional.
