1. How Meta's three template categories work
Every WhatsApp Business API template you submit has to be tagged with one of three Meta categories. The category determines pricing, approval strictness, and which content rules apply. Mis-tagging is the single most common rejection reason since Meta's 2024 policy update — the automated classifier now checks intent against the tag and auto-rejects mismatches before the template reaches human review.
Utility Utility
Templates confirming, updating, or informing about a transaction the recipient is already part of: order confirmations, shipping notifications, appointment reminders, payment receipts, account alerts, password resets (non-OTP). Lowest approval friction, lowest per-conversation pricing. The test: could the customer plausibly be waiting for this message because of an action they already took?
Marketing Marketing
Promotional content — sales, offers, newsletters, re-engagement campaigns, new-product announcements, cart-abandonment reminders. Strictest content rules, highest per-conversation pricing, and tighter rate limits on new-recipient volume. Marketing templates must include an explicit opt-out option in practice, even though it's no longer a hard Meta requirement.
Authentication Authentication
One-time passwords and verification codes only. Uses a fixed Meta format — no free-text body, only variables for the code itself and the expiry. Lowest per-conversation pricing among the three in most markets including India and the UAE. Authentication templates cannot be used for anything promotional or informational — only codes.
If you're unsure, tag Marketing. It's the strictest category, so you will never be under-tagging (which is what triggers auto-rejection). A Utility template mis-tagged as Marketing gets approved; a Marketing template mis-tagged as Utility gets rejected.
2. Variables, headers, footers, and buttons
Every template has a standard shape that Meta enforces:
- Header (optional). Can be text, image, video, document, or location. Text headers can include one variable.
- Body (required). Up to 1024 characters. Can include multiple variables
{{1}},{{2}},{{3}}. Variables are filled per recipient at send time. - Footer (optional). Short line up to 60 characters, typically for opt-out or policy reminders. Cannot include variables.
- Buttons (optional). Up to 10 buttons total, in three types: quick reply (sends a pre-set reply as the customer), call phone (dials a number), URL (opens a website — can include one variable for dynamic URLs).
Variables are the hardest part to get right. Use them only for content that changes per recipient — name, order number, appointment time, amount. Do not use them for static business text. Meta rejects templates where variable content could be promotional or vary so widely that the approved body is misleading.
Go4whatsup's template editor shows a live WhatsApp preview with variable placeholders, flags common approval pitfalls before submission (invalid header positions, promotional words in Utility, missing opt-out in Marketing), and resubmits rejected templates with the corrected payload automatically.
3. Retail & E-commerce (5 templates)
Order confirmations, shipping, abandoned-cart re-engagement, review requests, restock alerts.
Order confirmation
Sent immediately after a customer completes checkout. Highest approval rate of any template type.
Note: The header is a real Meta Text-type header with a single static line. Do not put the order number in the header — variable headers cannot span mixed dynamic content reliably.
Shipping notification
Courier picked up the parcel — fires based on a webhook from your 3PL or Shopify.
Abandoned cart re-engagement
Fires 4 hours after an incomplete checkout. Works only with opted-in customers.
Marketing rule: "Not interested" as a quick-reply button counts as a functional opt-out and increases first-pass approval significantly.
Review request
Fires 7 days after delivery confirmation. Utility because it's tied to a completed transaction.
Restock alert
Sent to customers who tapped "notify me" on an out-of-stock item.
4. Education (4 templates)
Admissions confirmations, fee reminders, class schedule changes, parent-teacher outreach.
Admission application received
Sent immediately after a parent or student submits an application form.
Fee due reminder
Sent 7 days before a fee deadline. Keep it factual — promotional language gets it re-categorised.
Class schedule change
Broadcast when a class is rescheduled. Utility because students and parents are expecting this channel for this info.
Parent-teacher meeting invite
Announces an upcoming PTM. Utility because parents expect this communication from the school.
5. Healthcare & Clinics (4 templates)
Appointment booking, reminders, prescription refill, lab report ready.
Appointment confirmation
Fires immediately after a patient books. Include the doctor and location — reduces no-shows.
Appointment reminder (24h before)
Triggers 24 hours before the appointment. Quick-reply confirmation drops no-shows by ~40%.
Prescription refill reminder
Sent when a chronic-care prescription is due. Do not include the medication name — may trigger health-category flagging.
Lab report ready
Clinic's lab has released a report. Link to a secure portal rather than sending results directly.
6. Restaurants & F&B (4 templates)
Reservation confirmations, order tracking, table-ready alerts, loyalty reward.
Reservation confirmation
Sent when a table booking is confirmed. Include pax count and outlet to avoid confusion.
Delivery order in progress
Fires when the kitchen starts preparing a delivery or takeaway order.
Table-ready alert (waitlist)
Sent to a waitlisted guest when their table opens up — typical waitlist SMS replacement.
Loyalty milestone reward
Sent when a customer crosses a loyalty tier — e.g., after 10 visits, 20 visits.
7. Travel & Hospitality (4 templates)
Booking confirmation, check-in reminder, flight/hotel update, trip-end review.
Booking confirmation
Generic booking template covering flight, hotel, or tour.
Check-in reminder
Sent 24 hours before a flight or check-in time for a hotel.
Itinerary change
Flight delay, gate change, hotel upgrade, tour-timing adjustment.
Trip-end review request
Day after check-out or return flight — closes the trip loop.
8. Real Estate (3 templates)
Lead confirmation, viewing reminder, offer status.
Property enquiry received
Sent immediately after a prospect fills a property-enquiry form on your website or portal.
Viewing reminder
Sent 2 hours before a scheduled property viewing.
Offer status update
Sent when an offer on a property is submitted, countered, or accepted.
9. Professional Services (4 templates)
Consultation confirmation, document request, invoice, renewal reminder.
Consultation confirmed
Lawyers, accountants, consultants — sent when a client books a paid consultation.
Document request
Ask a client to send supporting documents securely.
Invoice issued
Sent when an invoice is generated. Link to hosted invoice; do not attach PDF unless the template supports document headers.
Renewal reminder
Annual retainer, insurance, subscription — sent 30 days before expiry.
10. B2B SaaS (4 templates)
OTP login, free-trial end, billing failure, account provisioning.
OTP login code
Standard one-time password. Cheapest per-conversation category; fastest approval.
Authentication rule: Meta's 2024 Authentication template format is fixed — body must contain only the OTP variable and a non-sharing warning. Use the dedicated OTP copy-code button for mobile one-tap paste.
Free trial ending
Sent 3 days before trial expiry. Utility because the recipient signed up and is expecting trial lifecycle messaging.
Billing failure / card on file expired
Sent when a subscription renewal attempt fails. High-priority, high-urgency — keep it factual.
Account provisioning complete
Sent after onboarding setup completes — workspace ready, team invited, first integration live.
11. How to submit a template in Go4whatsup
Once you've picked the template you want from the library above, submitting it takes about a minute.
- In your Go4whatsup workspace, go to Templates → New Template.
- Paste the body text, replacing
{{1}},{{2}}etc. with variable placeholders from your contact fields. - Pick the right category — Marketing, Utility, or Authentication. Our editor flags mismatches before submission.
- Pick a language (en, hi, ar, etc). For multi-language campaigns, submit one template per language — Meta reviews each separately.
- Add header, footer, and buttons from the library spec.
- Click Submit for Review. Meta usually returns a verdict in 2 to 12 hours for first-time templates; re-submissions after a rejection typically go faster.
Skip the template writing — let us pre-load them
Go4whatsup's onboarding team pre-loads the 10 highest-impact templates for your industry into your workspace on day one, submits them for Meta review, and resolves any rejections with you. Included on PRO and Enterprise plans at no extra cost.
12. Why templates get rejected (and how to fix yours)
If a template comes back rejected, Meta provides a reason code. Here are the reasons we see most often, with the fix.
- Category mismatch. Template tagged Utility but reads Marketing (or vice versa). Fix: re-tag based on intent; if it's promoting anything, tag Marketing. If in doubt, Marketing is safer.
- Too many variables. Body composed mostly of variables with little static text. Meta rejects because the approved content is too vague. Fix: add fixed context around the variables so a reviewer can see what a filled message looks like.
- Variable in an unsupported position. Variables in footers are always rejected. Variables in URL buttons are allowed only as suffix — not mid-URL. Fix: move variable to body, or restructure URL as
https://yourdomain.com/order/{{1}}. - Emoji in the display name or body position. Display names cannot contain emoji; some body emoji placements trigger rejection too. Fix: remove emojis from the display name; keep emoji in the body where Meta allows.
- Non-brand content. "Sales", "Offer", "Discount" as the core of a Utility template — gets re-categorised. Fix: move promotional content to a Marketing template.
- URL button with suspicious domain. Buttons linking to URL shorteners (bit.ly, tiny.url) are frequently rejected. Fix: use your own domain; set up 301 redirects if you must shorten.
- OTP template missing security wording. Authentication templates are required to include a "do not share this code" warning. Fix: use the template from #29 as the baseline.