Tutorial: create an HSM template in Business Manager (step by step)
An HSM (Highly Structured Message) template is the official way for a business to start a WhatsApp conversation outside the 24-hour window. Without a template, you can only reply to people who messaged you first. Here's the complete step-by-step to create and get one approved — including the Meta rules that get 60% of templates rejected on the first try.
Prerequisites
- Verified Meta Business account (business.facebook.com).
- WhatsApp Business Account (WABA) active and connected.
- Phone number approved with a Meta-approved display name.
- Admin or Editor access to the WABA.
If you use MercaBot, all of these prerequisites are taken care of automatically through Embedded Signup. The tutorial below also works for anyone operating directly in Business Manager.
Step 1 — Access WhatsApp Manager
- Go to
business.facebook.comand log in. - In the side menu, click WhatsApp Manager.
- Select the WhatsApp Business account where you want to create the template.
- In the left menu, click Message templates.
- Click the blue Create template button.
Step 2 — Pick the right category
This is the most expensive mistake: wrong category = instant rejection + Meta will penalize you for trying to reclassify to save money.
- UTILITY (~$0.016/conversation): response to a customer action. E.g. order confirmation, appointment reminder, shipping status, receipt.
- MARKETING (~$0.07): promotion, offer, reactivation, launch. E.g. "Promo of the week", "Come back", "Black Friday 30% off".
- AUTHENTICATION (~$0.02): 2FA verification code, OTP. Restricted — usually only for software/banking apps.
Don't try to pass marketing as utility. Meta detects it automatically from the content and either rejects OR reclassifies + drops your quality rating.
Step 3 — Valid technical name
The name is an internal identifier (the customer doesn't see it). Meta rules:
- Lowercase letters a-z only.
- Numbers 0-9 allowed.
- Underscore
_as separator. No spaces, no hyphens, no accents. - Max 60 characters.
- Cannot contain "whatsapp" in the name (auto-rejection).
Valid examples: order_confirmed, appointment_reminder_v2, weekly_pizza_promo.
Invalid: Order Confirmed (space), whatsapp_promo (forbidden word), appointment-reminder (hyphen).
Step 4 — Language
Pick English (US) — en_US. Each template is unique per language; if you serve in en_US + es, create 2 versions with the same technical name in different languages.
Step 5 — Write the body
This is where most rejections happen. Rules:
- Max 1,024 characters (spaces count).
- Variables with double braces:
{{1}},{{2}},{{3}}, etc. - Variables must be sequential (1, 2, 3 — no skipping to 5).
- Every variable needs an example at submission (Meta uses it to understand usage).
- Can't start or end with a variable (you need fixed text around it).
Valid example — UTILITY category:
Hi {{1}}! Your order #{{2}} has been confirmed.
Total: ${{3}}. Estimated delivery: {{4}}.
Thanks for your business!
Examples:
{{1}} = Mary Smith
{{2}} = 1247
{{3}} = 89.90
{{4}} = Thursday
Valid example — MARKETING category:
Hi {{1}}! Promo of the week at Pizzeria X:
Large pizza + 2L soda for ${{2}} until Sunday.
To order, just reply here in the chat.
To stop receiving messages, reply STOP.
Examples:
{{1}} = John
{{2}} = 12.90
Step 6 — Header, footer and buttons (optional)
- Header: short text (60 chars), image, video or document. An image significantly boosts engagement in marketing.
- Footer: fixed text up to 60 characters. Common: "Team at Store X" or "To stop receiving messages, reply STOP".
- Buttons: up to 3 options. Types: Quick reply (short text), Visit website (URL), Call (phone).
Step 7 — Submit and wait for review
- Click Submit for review.
- Status changes to "In review".
- Meta reviews within 24-72h (I've seen approvals in 4h, and in 5 days).
- You receive an email when the status changes.
- If approved: status "Active" + you can use it immediately.
- If rejected: Meta shows the reason + you can edit and resubmit.
Top 8 rejection reasons (and how to avoid them)
- "Generic content": text too vague. "Hi, how are you?" — rejected. Always show context: business name, message purpose, expected action.
- "Promotional content in utility": trying to push marketing as utility. Use the correct category.
- "Spam-like": too many emojis (3+ in the same message), ALL CAPS, "WIN NOW!!!".
- "Misleading": overblown promise or contradiction with your business category. "Approval guaranteed in 1 min" — rejected.
- "Variable not sequential": jumped from {{1}} to {{3}}. Always 1, 2, 3 in order.
- "Template starts/ends with variable": "{{1}}, your appointment..." — invalid. Needs fixed text at the start.
- "Contains 'WhatsApp' word": any literal mention of "WhatsApp" in the text or name — auto-rejection (Meta brand protection).
- "Short URL / suspicious link": bit.ly, tinyurl, shorteners. Use your own domain with HTTPS.
Best practices that boost approval
- Use the recipient's name ({{1}} = name) — Meta likes personalization.
- Include your business name in the body or footer.
- In marketing, always end with "To stop receiving messages, reply STOP" (clear opt-out).
- In utility, clearly show what the customer did ("Order #X confirmed") — Meta validates it's genuinely transactional.
- Avoid emojis in utility (more sensitive category).
- Keep tone professional and calm. Marketing can be friendly; utility should be technical.
Versioning and editing
You can't edit an already approved template that's in use. To change the text, create a new version with a suffix (appointment_reminder_v2) and submit for separate approval. The old one keeps working until you manually deactivate it.
MercaBot shortcut: create 3 templates per industry in 1 click
If you're a MercaBot customer, there's a "Suggest templates for my industry" button in the panel that automatically creates 3 HSM templates (reminder + promotion + winback) already formatted to Meta rules, for pizzeria, salon, clinic, gym, store, workshop, real estate, or course business. You just review, tweak whatever you want, and submit for Meta approval with 1 click. Saves about 2 hours the first time.
HSM templates by industry in 1 click
Connect WhatsApp in 3 min, click "suggest templates" and MercaBot creates 3 templates ready for Meta approval.
Try it free →