Appearance
Create an order-update template
Order notifications (from WooCommerce or your own system) need an approved utility template with variables for the order details. Meta's sample hello_world has no variables, so it can't say which order it's about.
This page creates one template, order_update, that works for every order status.
Why utility, and why it matters
- Utility templates are for updates about something the customer already did: an order, a booking, an account. They cost less than marketing templates, and a utility template sent while the customer's 24-hour window is open is free.
- Meta checks the category. A template with promotional content (discounts, "shop now", new products) is changed to marketing and charged as marketing. Desorix shows the new category on the Templates page when Meta changes it.
- So keep it strictly about the order. Put promotions in a separate marketing template.
1. Create it in Desorix
Open Templates → New template and fill in:
| Field | Value |
|---|---|
| Name | order_update |
| Language | English (or your customers' language) |
| Category | Utility |
| Header | None, or text such as Order update. Templates with an image, video or document header can't be used for order notifications. |
| Body | see below |
| Footer | Optional, for example your shop name |
| Buttons | Optional: a website button, see below |
Body:
Hi
{{1}}, your order{{2}}is now{{3}}. Total:{{4}}. Thank you for shopping with us!
Give each variable an example value, which Meta uses to review the template:
| Variable | Example | Means |
|---|---|---|
{{1}} | Maria | customer's first name |
{{2}} | #1042 | order number |
{{3}} | shipped | order status |
{{4}} | 49.90 USD | order total |
Meta refuses a body that starts or ends with a variable, or has two variables side by side. This body starts with "Hi" and ends with a sentence, so it passes. The builder warns you as you type.
Optional "Track your order" button: add a website button with the text View order and the URL https://your-shop.com/my-account/view-order/{{1}} (the variable must be at the end of the URL). Use the example 1042.
Click Save and submit to Meta. Approval usually takes a few minutes; the status changes to Approved by itself.
Several languages
Create the same name, order_update, once per language. Each language is reviewed separately.
2. Use it for WooCommerce
In WooCommerce → your store, for each order status (for example Processing, Completed, Cancelled):
Tick the status and choose
order_update.Map the variables:
Variable Order detail {{1}}Customer first name {{2}}Order number {{3}}Order status {{4}}Order total Button {{1}}Order ID (for links) Save notifications, then Send test to your own phone. The test is a real message and is charged.
One template is enough for every status, because the status is a variable. If you want different wording per status ("Your order has shipped! Track it here…"), create one template per status and choose each under its status.
If Meta rejects it
The reason appears on the Templates page in plain words. The usual causes:
- Variable at the start or end of the body: add words around it.
- Promotional wording in a utility template: remove offers, discounts and "shop now".
- Example values missing or unrealistic: use a realistic name, number and amount.
Click Edit, fix it and resubmit the same template.