Skip to content

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:

FieldValue
Nameorder_update
LanguageEnglish (or your customers' language)
CategoryUtility
HeaderNone, or text such as Order update. Templates with an image, video or document header can't be used for order notifications.
Bodysee below
FooterOptional, for example your shop name
ButtonsOptional: 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:

VariableExampleMeans
{{1}}Mariacustomer's first name
{{2}}#1042order number
{{3}}shippedorder status
{{4}}49.90 USDorder 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):

  1. Tick the status and choose order_update.

  2. Map the variables:

    VariableOrder detail
    {{1}}Customer first name
    {{2}}Order number
    {{3}}Order status
    {{4}}Order total
    Button {{1}}Order ID (for links)
  3. 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.