Order shipped
A utility update with a tracking button, the most common template an online store sends.
Write your message, see it on a phone as your customer will, and let the checker flag what Meta usually rejects. When it is clean, copy the text or the API request. Free, no signup, and nothing leaves your browser.
A follow-up on something the customer did, such as an order update, a booking or a payment.
Lowercase letters, numbers and underscores only, such as order_shipped_v1.
A variable is a blank filled in for each customer, written {{1}}, {{2}} and so on. Never start or end the message with one.
{{1}}{{2}}{{3}}{{1}}Up to 10 buttons. At most 2 link buttons, 1 call button and 1 copy-code button.
This check covers the most common reasons for rejection. Meta reviews every template itself and makes the final decision.
{
"name": "order_shipped",
"category": "UTILITY",
"language": "en",
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "Your order is on its way"
},
{
"type": "BODY",
"text": "Hi {{1}}, your order {{2}} has been shipped and should reach you by {{3}}. You can follow its journey with the button below.",
"example": {
"body_text": [
[
"Priya",
"#A1043",
"Friday, 14 November"
]
]
}
},
{
"type": "FOOTER",
"text": "Reply to this message if you need help"
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "URL",
"text": "Track order",
"url": "https://example.com/track/{{1}}",
"example": [
"https://example.com/track/A1043"
]
}
]
}
]
}Send it with POST /{WABA-ID}/message_templates on the WhatsApp Cloud API, or paste the text into the template manager.
Nothing you type here is saved or sent anywhere. The check runs entirely in your browser.
Once a template is approved, send it to thousands of opted-in contacts at once. Try AiSend free
Every message you send first, outside a customer chat, has to be an approved template. A rejection costs you a day and a rewrite, and a wrong category costs you money on every message.
The checker looks for the mistakes that cause most refusals: broken variables, missing examples, selling inside a utility message and risky wording.
The preview shows the header, body, footer and buttons in a chat, with your own example values filled in.
Get the text for the template manager, or the exact request body for the WhatsApp Cloud API, with examples included.
Start from an example or a blank page. The checker updates as you type, so you always know where you stand.
Pick marketing, utility or authentication, then write the message and add variables where the details change.
Work through the problems first, then the warnings. Each one says what is wrong and how to fix it.
Paste the text into the template manager, or send the request body to the Cloud API.
Pick a situation and we load a complete example into the generator above, with examples for every variable. Change the words to suit your business.
A utility update with a tracking button, the most common template an online store sends.
Cuts no-shows for clinics, salons and classes, with quick replies to confirm or reschedule.
Confirms a payment and links to the receipt, so customers stop asking if it went through.
A marketing message with a shop button and an opt-out, written to stay on the right side of Meta.
Brings back people who left something behind, with a link to their own cart.
The fixed authentication format, with a copy-code button and an expiry time.
What templates are, how to pick the right category, how to write variables and buttons, why templates are rejected and what to do after you submit.
A message template is a message that has been written in advance and approved by Meta. On the WhatsApp Business Platform, you can send free-form messages only while a customer is talking to you. That window closes 24 hours after their last message. To message someone outside that window, or to start the conversation yourself, you must use an approved template.
Templates exist to protect customers from spam. Meta reviews each one before you can use it, and it keeps watching how people react to the messages you send. A template people block or report hurts your quality rating, and a low rating limits what you can do.
A template has a fixed part and, if you want, blanks called variables. Your wording stays the same for everyone. The variables are filled in for each customer when you send, so one template can say "Hi Priya, your order A1043 has shipped" to one person and "Hi Rahul, your order B2290 has shipped" to another.
Every template belongs to one of three categories. The category decides how Meta reviews the template and how much each message costs, so choosing correctly matters more than almost anything else on this page.
| Category | Use it for | Examples | Be careful with |
|---|---|---|---|
| Marketing | Anything that promotes, informs about an offer or invites someone back. | Sale announcements, new arrivals, cart reminders, event invitations. | It needs a customer who has agreed to hear from you, and it costs the most per message. |
| Utility | A follow-up on something the customer asked for or did. | Order and delivery updates, booking confirmations, payment receipts, account alerts. | Any sales language moves it into marketing, even if you chose utility. |
| Authentication | One-time passcodes to log in or confirm an action. | Login codes, verification codes, password reset codes. | Wording is fixed by Meta. No links, media or extra text. |
Ask two questions. First, did the customer do something that this message follows up on, such as placing an order, booking a slot or making a payment? Second, would the message still make sense if you removed every offer and every reason to buy? If the answer to either is no, it is marketing.
WhatsApp charges for template messages by category and by the country of the person who receives them. Marketing messages cost the most. Utility messages cost less, and they are free when you send them inside the 24-hour window that opens when a customer writes to you. Meta publishes the current rates on its pricing page, so check there before you plan a campaign.
Meta may also approve a template under a different category than the one you chose. If your utility template reads like a promotion, expect it to be treated and billed as marketing. The checker warns you when a utility template contains offer language, so you can fix the wording or choose marketing honestly.
A template is built from up to four parts. Only the body is required.
| Part | Required? | Limit | Notes |
|---|---|---|---|
| Name | Yes | Lowercase letters, numbers and underscores | For example order_shipped_v1. You use it when you send the template. |
| Header | No | 60 characters, one variable | Plain text. Do not use bold or italics here. |
| Body | Yes | 1,024 characters | Supports bold, italics, strikethrough, emoji and line breaks. |
| Footer | No | 60 characters | Fixed text only. No variables. |
| Buttons | No | 10 in total | Quick replies, links, a call button and a copy-code button. |
Keep the body short enough to read on a phone without scrolling. Customers read the first two lines in the notification and decide from those whether to open it. Put the most important fact, such as what happened or what you need from them, in that first part.
The footer appears below the body in grey, smaller text. It suits a short line such as "Reply if you need help" or "Offer valid on selected items". Because it cannot hold variables, put anything specific to the customer in the body.
Names cannot be changed later, and you will end up with dozens. Use a pattern that tells you what it is and which version, such as order_shipped_v1, cart_reminder_hindi_v2 or diwali_sale_2026. The generator turns a title into a valid name with one click.
A variable is written as a number in double curly braces: {{1}}, {{2}}, {{3}}. They must start at 1 and go up one at a time. Meta does not accept names such as {{customer_name}} in the standard format.
| What you wrote | What is wrong | Write this instead |
|---|---|---|
| {{1}}, your order has shipped. | The message starts with a variable. | Hi {{1}}, your order has shipped. |
| Your order has shipped to {{1}} | The message ends with a variable. | Your order has shipped to {{1}}. Thank you. |
| Order {{1}}{{2}} | Two variables are touching. | Order {{1}} for {{2}}. |
| Hi {{name}}, your order is ready. | Variables must be numbers. | Hi {{1}}, your order is ready. |
| Hi {{1}}, {{3}} is ready. | The numbers skip {{2}}. | Hi {{1}}, {{2}} is ready. |
| {{1}} {{2}} {{3}} | Far too many variables for the amount of text. | Write a full sentence around each variable. |
When you submit a template, Meta asks for an example value for every variable. Reviewers use them to understand the message. Examples such as "test" or "abc" make the template look unfinished and are a common reason for rejection. Use realistic ones: a first name, an order number that looks like yours, a date.
The checker will not let a template pass while an example is missing, and the live preview fills the examples into the message so you can read it as a customer would.
When you send the template later, the values you pass in cannot contain line breaks, tabs or more than four spaces in a row. If your data has them, clean it first. Otherwise the send fails even though the template itself was approved.
Meta reviews templates with a mix of automated checks and people, and it gives a short reason when it says no. These are the causes we see most often, in rough order of how common they are.
The generator checks for the first seven directly. For the rest, read the policies on Meta’s site and keep your wording specific and polite. If a template is rejected, read the reason, fix that one thing and submit it under a new version name, such as order_shipped_v2.
A new template starts as pending. Meta says a review can take up to 24 hours, though many are decided in minutes. You can use a template only once its status is approved.
| Status | What it means | What to do |
|---|---|---|
| Pending | Meta is still reviewing it. | Wait. Do not submit a copy; it may be rejected as a duplicate. |
| Approved | You can send it. | Send a test to your own number first. |
| Rejected | Meta refused it and gave a reason. | Fix the reason and submit a new version. |
| Paused | People reacted badly, so Meta stopped it for a while. | Read the feedback, improve the wording and the audience, then wait. |
| Disabled | Repeated low quality. It cannot be used again. | Write a new template with a new name. |
After a template goes live, Meta watches how customers respond. Many blocks and reports lower its quality rating. A template that stays at low quality is paused for a short time and, if the problem continues, disabled. The best protection is to message only people who asked to hear from you, and to send them something they care about.
Approval is the minimum. A template that is approved but ignored does not help you, and one that annoys people gets paused. A few habits make the difference.
| Weak | Stronger | Why it works better |
|---|---|---|
| Dear customer, your order has been dispatched. | Hi Priya, your order #A1043 has shipped and should reach you by Friday. | Uses the name and tells them when to expect it. |
| SALE!!! BUY NOW!!! 50% OFF!!! | Hi Neha, our festive sale runs until 16 November. Tap below to browse. | Calm, specific and honest about the dates. |
| Pay your dues immediately or face action. | Hi Anita, a payment of Rs. 2,499 for invoice INV-0187 is due on 20 November. You can pay with the button below. | Polite, factual and gives a clear next step. |
| Your appointment. | Hi Rahul, a reminder about your appointment with Dr. Mehta on Monday at 5:30 PM. Please confirm or choose a new time. | Says who, when and what you need from them. |
You can create a template in the template manager inside your Meta business account, or send it to the WhatsApp Cloud API. The generator gives you both: the "Copy as text" button for the manager, and the request body for the API.
The request body is the content of a POST to your WhatsApp Business Account’s message_templates endpoint. It carries the template name, category and language, and a list of components for the header, body, footer and buttons. Examples for every variable are included, which is the part people most often forget when they write it by hand.
message_templates endpoint of your account.Once Meta says yes, you still need to send it to the right people, handle the replies and learn what works. AiSend is built for that part.
Choose a template, pick a segment of people who agreed to hear from you and send it, with the right values for each person.
When someone taps a button or writes back, the chat lands in a shared inbox where your team can answer.
Answer common replies automatically and pass the chat to a person when it needs one.
Two short walk-throughs: writing a template that passes, and fixing one that was rejected.
From a blank page to a clean check.
Read the reason, change one thing, resubmit.
Tell us how it is going. With your permission, we will share your story here.
Share your feedbackPractical reads on writing templates, choosing categories and keeping your quality rating healthy.
Marketing, utility or authentication? Learn how Meta decides, why the category changes what you pay, and how to write each type correctly.
Read articleThe most common reasons Meta rejects a WhatsApp message template, and a simple checklist to fix each one before you submit again.
Read articleCreate a click-to-chat link with a pre-filled message to use in bios, emails and ads.
Open tool WhatsApp link generatorTurn your number into a QR code with your colours and logo, and download it as PNG or SVG.
Open tool WhatsApp QR code generatorDesign a floating chat button for your website and copy the code.
Open tool WhatsApp chat button generatorCompare the return from WhatsApp, SMS and email campaigns.
Open tool WhatsApp ROI calculatorAdd bold, italic, strikethrough and bullets, with a live chat preview.
Open tool WhatsApp text formatterIt is a message you write in advance and Meta approves, which you can send to a customer outside the 24-hour chat window. It has a fixed text and, if you want, variables such as {{1}} that are filled in for each person when you send it.
Choose the honest category, write a clear and specific message, format your variables correctly and give each one a realistic example. Avoid shortened links, capitals and pressure. Then check it with this tool before you submit.
Meta says a review can take up to 24 hours. Many templates are decided within minutes or a few hours. If you have waited longer than a day, check the status in your template manager before you submit it again.
The most common reasons are badly written variables, missing examples, a promotion submitted as utility, requests for sensitive details, threatening wording and shortened links. Meta gives a short reason when it rejects a template. Fix that one thing and submit a new version with a new name.
Marketing promotes or invites someone back. Utility follows up on something the customer did, such as an order or a booking. Authentication delivers one-time passcodes. The category changes how the template is reviewed and what each message costs.
The body can be up to 1,024 characters. A text header and a footer can each be up to 60 characters, and button text up to 25. The generator shows a live counter beside each field and turns it red when you go over.
A variable is a number in double curly braces, such as {{1}}, and stands for something that changes for each customer. Number them in order from 1, never start or end the message with one, and give each an example. The values are supplied when you send the template.
Yes, in the body. Use asterisks for bold, underscores for italics and tildes for strikethrough, and use emoji sparingly. Do not use formatting in a header. Authentication templates have fixed wording and cannot be formatted.
Up to 10 in total. That can include several quick replies, up to 2 link buttons, 1 call button and 1 copy-code button. Quick replies are grouped together, and link and call buttons are grouped together.
You can edit an approved template a limited number of times, but you cannot change its category. For a larger change, write a new version with a new name, wait for approval and then switch your campaigns to it.
No. You should message only people who have agreed to hear from you on WhatsApp. For marketing messages that agreement is essential. Customers who are blocked or reported often can lower your quality rating and limit what you can send.
No. The checker covers Meta’s published limits and the most common causes of rejection, so it removes the avoidable mistakes. Meta reviews every template itself and makes the final decision, and its rules change from time to time.
It is the exact JSON you send to the WhatsApp Cloud API to create the template, including the examples Meta needs for each variable. If you use the template manager instead, use the "Copy as text" button.
Not yet. The generator covers text templates with buttons, and authentication templates. For an image, video or document header, a carousel, a catalogue or a flow, use the template manager or the API.
Choose the language the message is written in. Each language is approved separately, so if you message customers in English and Hindi, create one template for each rather than mixing them in one message.
No. The check and the preview run in your browser. What you type here is not stored and not sent to our servers by this tool.
Leave your details and our team will call you back. If you would rather chat, message us on WhatsApp.