Chatbot & Commerce

Why Meta Rejected Your WhatsApp Message Template

Meta checks a WhatsApp template's category against its actual wording — pick the wrong one and INCORRECT_CATEGORY blocks the send, every time.

Papercraft pop-up card — a smiling green chat bubble with a paper telephone handset

A WhatsApp template that comes back rejected almost always fails for the same reason: the category you picked — Marketing, Utility or Authentication — doesn’t match what the message actually says. Meta checks the two against each other automatically, and the fix is usually rewording the template, not appealing the decision.

What “INCORRECT_CATEGORY” actually checks

Meta’s own WhatsApp Business Platform documentation says it “validates the category you indicated per the contents of the template.” Marketing covers messages meant to drive awareness, sales or retargeting — and a template with unclear or purely variable content, like a message that is only {{1}}, defaults to Marketing too. Utility is for messages that follow up on something the customer already did or asked for — an order update, an account alert — and reads as non-promotional. Authentication is the strictest of the three: it exists only to deliver a one-time passcode, must be built from Meta’s own Authentication template library, can carry nothing but the code and a one-time-password button, and allows no links, images or emoji. A business can’t write its own wording for this category — only use the library format.

Where Thai sellers trip the mismatch

Watch for two specific patterns. First, a Utility message that slides into promotional territory — adding “ลดราคา”, a discount code, or a “สนใจสินค้าตัวนี้อีกไหม” upsell line to what was meant to be a plain order-status update. As a rule of thumb, keep a transactional template to the fact and the next step only; the moment it tries to sell something, Meta treats it as Marketing regardless of what you call it. Second, an OTP message built as a regular template instead of pulled from the Authentication library — adding a logo, a greeting, or a company name turns it into exactly the kind of content Authentication templates are not allowed to carry.

What happens after a rejection

A template Meta disagrees with is rejected with the reason INCORRECT_CATEGORY; the usual fix is editing the content or the category and resubmitting. For an approved template, Meta can also recategorize it automatically — a Utility template that reads as Marketing gets switched to Marketing, normally with one day’s notice before the change takes effect. You can request a category review within 60 days of the template’s creation, or within 60 days of a category change, through WhatsApp Manager. Authentication is the exception: a Marketing or Utility template that should have been Authentication is instead set to rejected on the first day of the following month, with no review path — it has to be rebuilt in the Authentication library from scratch.

ตั้งค่าใน 1CS — test the template before it goes out

Connect your number from Settings › Inboxes › New inbox, choose WhatsApp, then pick WhatsApp Cloud. Use the Quick Setup with Meta option and tap Connect with WhatsApp Business if your team is already an admin on the Meta Business account — 1CS sets up the webhook and number automatically — or fill in the Phone Number ID, Business Account ID and API key by hand if not. Once connected, send a test message and reply from 1CS; if that reply is a template, check its category and approval status before relying on it for real customers, since approval and recategorization both happen on Meta’s schedule, not 1CS’s. The full click-by-click steps are in 1CS’s WhatsApp connection guide (Thai only); the channel itself is part of the unified inbox feature. The same approval wait applies to the templates your team needs once the 24-hour reply window closes — plan them before that window shuts, not after.

A Utility-safe template, and a check before you submit

A plain status update, worded to stay inside Utility:

“[Shop name] order update #[order number]: [status]. Expected to arrive by [date]. Reply here if anything needs to change.”

Before submitting any template, check:

  • Does it only react to an order or request the customer already made, with no discount, code or product pitch? → Utility.
  • Does it carry a sale, a promotion or a “come back and buy” nudge of any kind? → Marketing, whatever the rest of the wording says.
  • Is it delivering a one-time code? → Build it from the Authentication library only — no logo, greeting, link or image, and keep any variable under 15 characters.
  • Was it built for a language your team can’t read? Get the wording checked before submitting, not after a rejection.

Sources