DEV Community

Cover image for Who Decides a WhatsApp Template's Category? What Meta Checks and What to Handle in Code
Arseny Ivanchuk for WABB

Posted on AI-assisted

Who Decides a WhatsApp Template's Category? What Meta Checks and What to Handle in Code

Disclosure: this article was written with AI assistance and checked by the WABB team against Meta's "Template categorization" page (updated 15 September 2026, read on 9 November 2026).

You choose a category when you create a WhatsApp message template, but you do not get the final say. Meta compares the content with its guidelines, can approve a template under a different category than the one you picked, and can change the category of a template that is already live. If your code assumes the category it sent is the category it got, a template can end up in a different category, or stop sending, without anyone touching it. This post covers what Meta checks, when the category changes, and what to handle in code. Our own suggestions are marked as such.

The short version

  • Three categories exist: Marketing, Utility and Authentication. Meta decides by the content of the template, not by the label you set.
  • If you create a template as Utility and Meta judges it to be marketing, it is approved as Marketing (since 9 April 2025).
  • An approved template can still be recategorized. For Utility to Marketing there is a 1-day notice; if you were warned for misuse, the change is instant (since 16 April 2025).
  • A template_category_update webhook tells you before and after. Our suggestion: store the category per template and update it from that webhook, never from your own request.

The three categories and their tests

The three template categories and the test for each: Marketing is the flexible category and also holds mixed or unclear content; Utility needs two tests; Authentication is the most restrictive.

Figure 1. What Meta checks for each category.

Marketing is the flexible one: awareness, sales, retargeting, app promotion and relationship building. Meta also treats two kinds of templates as marketing: mixed content (an order update with a promotion in it, a feedback survey with promotional content) and unclear content (a body that is only {{1}}, or just "Congratulations!").

Utility has two tests, and a template must pass both. It must be non-promotional, with no promotional or persuasive intent. And it must be either specific to or requested by the user (clearly about their order, account, service or transaction), or essential or critical to them. Meta's examples include order confirmations and tracking numbers, account balances and payment reminders, and a feedback survey that names a specific order. A generic survey does not qualify. Order updates are where this bites in practice: a confirmation that also pushes another product fails the first test. If you send order updates from a store, our guide to automating Shopify orders, support and sales on WhatsApp covers order updates among the messages a store sends.

Authentication is the most restrictive. Only authentication templates can send a one-time passcode. Meta requires a Cloud API authentication template from the Template Library, a one-time password button (copy-code or one-tap), no URLs, media or emojis in the content or parameters, and parameters of at most 15 characters.

Source: Meta for Developers, "Template categorization" (updated 15 Sep 2026), checked 9 November 2026. Related guide on WABB: WhatsApp Business Broadcast: Lists, Limits & Cost.

What happens when you create a template

At creation, a template is approved as chosen, approved as Marketing when a Utility template is judged to be marketing, or rejected with the reason INCORRECT_CATEGORY.

Figure 2. The three outcomes of category validation at creation.

You pass a category, and WhatsApp validates it against the content. There are three outcomes:

  1. Approved as chosen. The status is APPROVED, and a message_template_status_update webhook fires with the event APPROVED.
  2. Approved as Marketing. Since 9 April 2025, a template you set as Utility that WhatsApp determines should be Marketing is approved as Marketing. The allow_category_change property used to opt into this; that behaviour is now the default. You can request a review within 60 days of the category update.
  3. Rejected. The status is REJECTED with the reason INCORRECT_CATEGORY. Meta lists three options: create a new template, edit the category and resubmit, or request a review.

A template that is approved can also be reviewed within 60 days of creation. A template whose status is PENDING is still in review, and the outcome arrives by email, in WhatsApp Manager, and as a webhook with APPROVED or REJECTED.

Source: Meta for Developers, "Template categorization" (updated 15 Sep 2026), checked 9 November 2026. Related guide on WABB: WhatsApp Business API Requirements: What to Prepare First.

After approval, the category can still change

After approval: Utility to Marketing with a 1-day notice; instant change if you were warned for misuse; templates that should be Authentication are rejected on the first day of the next month; the template_category_update webhook fields before and after.

Figure 3. Recategorization after approval, and the webhook that reports it.

Since 1 July 2024, WhatsApp runs a recurring process that finds approved templates that should be in a different category. It can apply to any approved template that does not meet the guidelines, including templates whose category was confirmed by a review earlier.

  • Utility that should be Marketing. A 1-day advance notice, then the category becomes Marketing. The status stays APPROVED, so the template keeps sending, now under the new category. If you were warned for misusing template categorization, the notice is skipped and the change is instant (effective 16 April 2025).
  • Marketing or Utility that should be Authentication. This process began on 1 October 2024. The category does not change. On the first day of the following month, the status becomes REJECTED, and the template can no longer send.

You are told in three places: an email to people with full control of the messaging account, an alert in WhatsApp Manager (with a downloadable CSV of affected templates), and the webhook. Before the change, template_category_update carries correct_category (what the category should be) and new_category (the current one). After the change it carries new_category and previous_category.

Source: Meta for Developers, "Template categorization" (updated 15 Sep 2026), checked 9 November 2026. Related guide on WABB: WhatsApp New Features for Business.

What to handle in code

Meta does not tell you how to structure your data. These are our suggestions, built on the behaviour above.

  1. Store the category Meta returns, not the one you sent. Read it from the template object and from template_category_update. Treat your request as an intention.
  2. Subscribe to both webhooks. message_template_status_update for approval and rejection, template_category_update for category changes. Without the second one, a Utility template that turned into Marketing looks unchanged in your system.
  3. Make the warning visible. The "before" event gives a day of notice (unless you were warned for misuse). Route it to a person: someone can rewrite the template so it passes the Utility tests, or accept the change.
  4. Alert on REJECTED with INCORRECT_CATEGORY, and on templates that Meta says should be Authentication. The second kind stops sending at month end.
  5. Keep promotion out of utility templates. Mixed content is treated as Marketing, so an order update with a banner for another product is a Marketing template, however you labelled it.
  6. Do not use Marketing or Utility templates for one-time passcodes. Only authentication templates can.

Source: Meta for Developers, "Template categorization" (updated 15 Sep 2026), checked 9 November 2026. Related guide on WABB: AI Customer Support: Resolve Queries Without Frustrating Customers.

Checklist

  • Each template's stored category comes from Meta's response and webhook, not from your request
  • Both webhooks are subscribed, and the category notice reaches a person
  • Utility templates have no promotion, and every one is tied to a specific order, account or request
  • Passcodes go only through authentication templates
  • Someone knows the review window: up to 60 days from creation or from the category update

FAQ

Can I stop Meta from changing a Utility template to Marketing? The decision follows the content. Meta describes the tests; the way to keep a template in Utility is to meet both of them.

Does a recategorized template stop sending? For Utility to Marketing, no: the status stays APPROVED. For a template that should be Authentication, yes, from the first day of the next month.

Does this page say what each category costs? No. It explains how templates are categorized for pricing purposes, and it lists no prices.

Where can I read more on the WABB side? See the WhatsApp Business broadcast guide, the API prerequisites and the Shopify automation guide.

We build tools for WhatsApp messaging at WABB. This post uses only Meta's public documentation. If you are choosing between the app and the API, start with our comparison.

Top comments (0)

⌂ 换网址