← Blog

·

60 WhatsApp message template examples by industry (utility and marketing)

Updated on October 28, 2026

Below are 60 WhatsApp message template examples you can adapt and submit to Meta for approval, grouped into seven industries: ecommerce, clinics, education, local services, SaaS, events and billing your own customers. Each example shows the likely category (utility or marketing), the {{1}}-style variables and a suggested button. All of them follow Meta’s review rules: no variable at the start or end of the text, sequential numbering and enough text around each variable.

The category is “likely” because Meta makes the final call based on the content. To understand the criteria, see how Meta categorizes your template.

Rules every example follows

Meta’s template review and template components pages set the limits:

RuleWhat Meta requires
Variable at the start or endNot allowed. The body can’t start or end with a parameter
NumberingSequential: {{1}}, {{2}}, {{3}}, no gaps
DensityToo many variables for the message length gets the template rejected
Characters in variablesNo #, $ or % inside a parameter
SamplesEvery template with variables needs sample values
BodyUp to 1,024 characters
Text headerUp to 60 characters and 1 variable
FooterUp to 60 characters, no variables
ButtonsUp to 10 in total: up to 10 quick replies, 2 URL, 1 phone number, 1 copy code
Button labelUp to 25 characters
URL with a variable1 variable, always at the end of the URL

Three more habits you’ll see in the examples:

  • Text between variables. Back-to-back parameters ({{1}} {{2}}) leave the reviewer with no context.
  • An exit on marketing. Marketing examples include a “Stop promotions” quick reply so you can handle opt-outs from the webhook.
  • No promotion in utility. Meta treats mixed content as marketing and recategorizes a promotional utility template after 1 day’s notice (template categorization).

Currency symbols stay in the fixed text, never in the variable value, because $ isn’t allowed inside a parameter. Pricing is per delivered message and depends on the recipient’s country: for recipients in Brazil, since October 1, 2026, marketing costs BRL 0.3217 and utility BRL 0.0350 (Brazilian reais). Since the same date, utility templates sent inside the customer service window are also billed.

Ecommerce (10 examples)

#Body textLikely categoryButton
1Hi {{1}}, we received your order {{2}} and it’s being prepared. We’ll message you here once it ships.UtilityURL: View order
2Good news, {{1}}: your order {{2}} has shipped. Your tracking number is {{3}} and you can follow it at the link below.UtilityURL: Track package
3Hi {{1}}, your order {{2}} is waiting for payment confirmation. As soon as it clears, we’ll ship it.UtilityURL: View order
4Hi {{1}}, your order {{2}} is out for delivery today and should arrive by 6 pm.UtilityURL: Track delivery
5Hi {{1}}, your order {{2}} was delivered. If anything is wrong, reply to this message and our team will help.UtilityQuick reply: Contact support
6Hi {{1}}, your refund of $ {{2}} for order {{3}} has been processed and will show on your statement within 2 billing cycles.UtilityNone
7Hi {{1}}, the payment link for order {{2}} expires in 30 minutes. Tap the button to complete your payment.UtilityURL: Pay now
8Hi {{1}}! You left {{2}} in your cart. We’re holding your items for a few more hours so you can check out.MarketingURL: Back to cart; Quick reply: Stop promotions
9Hi {{1}}! The {{2}} on your wishlist is back in stock. Grab yours before it sells out again.MarketingURL: View product; Quick reply: Stop promotions
10Hi {{1}}! This weekend, everything in {{2}} ships free. Take a look at what’s new.MarketingURL: Shop now; Quick reply: Stop promotions

The most common mistake here is opening with the variable, as in “{{1}} is out for delivery today”. Example 4 says the same thing after a greeting and passes review. Abandoned cart reminders (example 8) are marketing under Meta’s rules, even though they read like a notice.

Want to try it while you read? Create a Vectalk account and send your first message through the official API. Create free account →

Clinics and medical practices (8 examples)

#Body textLikely categoryButton
11Hi {{1}}, your appointment with {{2}} is confirmed for {{3}}. Please arrive 15 minutes early.UtilityQuick reply: Confirm; Quick reply: Reschedule
12Hi {{1}}, a reminder that tomorrow at {{2}} you have an appointment at our {{3}} location. Can you confirm?UtilityQuick reply: I’ll be there; Quick reply: Need to reschedule
13Hi {{1}}, your appointment on {{2}} was canceled as requested. Tap the button to book a new time.UtilityURL: Book again
14Hi {{1}}, your {{2}} results are now available in the patient portal. Sign in to view them.UtilityURL: Open portal
15Hi {{1}}, your follow-up with {{2}} should be booked by {{3}}, as recommended at your last visit.UtilityURL: Book follow-up
16Hi {{1}}, to complete your registration before your appointment on {{2}}, please fill out the form below.UtilityURL: Fill out form
17Hi {{1}}! Our {{2}} vaccination campaign has started. Book your slot at the link.MarketingURL: Book now; Quick reply: Stop reminders
18Hi {{1}}! It’s been {{2}} months since your last checkup. Would you like to book a new visit?MarketingURL: Book now; Quick reply: Stop reminders

Examples 17 and 18 invite the patient to a service they didn’t request, so they’re marketing. Keep diagnoses and sensitive test names out of the text: it shows on the lock screen.

Education and online courses (8 examples)

#Body textLikely categoryButton
19Hi {{1}}! Your enrollment in {{2}} is confirmed. You can access the platform right now.UtilityURL: Start course
20Hi {{1}}, the {{2}} class starts today at {{3}}. The live room link is below.UtilityURL: Join class
21Hi {{1}}, the deadline for {{2}} is {{3}}. Submit it on the platform so you don’t lose the grade.UtilityURL: Submit assignment
22Hi {{1}}, your {{2}} certificate is ready to download in your student area.UtilityURL: Get certificate
23Hi {{1}}, your grade for {{2}} has been posted. See the details in your student area.UtilityURL: View grade
24Hi {{1}}, you haven’t opened {{2}} in {{3}} days. Your progress is saved and you can pick up where you left off.UtilityURL: Resume
25Hi {{1}}! Enrollment for the {{2}} cohort is open until {{3}}. Save your seat at the early-bird price.MarketingURL: Enroll; Quick reply: Stop promotions
26Hi {{1}}! Students who finished {{2}} can move on to the advanced module. See what’s next.MarketingURL: See module; Quick reply: Stop promotions

Example 24 is borderline: add “and get 20% off your next course” and it becomes marketing.

Local services and bookings (8 examples)

#Body textLikely categoryButton
27Hi {{1}}, your {{2}} appointment is booked for {{3}}. Use the buttons below if you need to change it.UtilityQuick reply: Confirm; Quick reply: Reschedule
28Hi {{1}}, technician {{2}} is on the way and should arrive in about {{3}} minutes.UtilityPhone: Call us
29Hi {{1}}, the quote {{2}} you requested is ready. See the items and total at the link below.UtilityURL: View quote
30Hi {{1}}, your {{2}} service is complete. Your invoice is available at the link below.UtilityURL: View invoice
31Hi {{1}}, your vehicle with plate {{2}} is ready for pickup at the shop until {{3}} today.UtilityPhone: Call us
32Hi {{1}}, how was your {{2}} service? Reply with a score from 1 to 5 to help us improve.UtilityQuick reply: 5; Quick reply: 3; Quick reply: 1
33Hi {{1}}! Your {{2}} is almost due for maintenance. Book now and skip the end-of-month rush.MarketingURL: Book now; Quick reply: Stop reminders
34Hi {{1}}! Customers on the {{2}} plan get one extra cleaning this month. Book at the link.MarketingURL: Book now; Quick reply: Stop promotions

The survey in example 32 is utility because it’s about one specific service and has no promotion; Meta lists feedback surveys about a specific order among its utility examples.

SaaS and software (9 examples)

#Body textLikely categoryButton
35Hi {{1}}! Your {{2}} account is ready. Finish the initial setup at the link to get started.UtilityURL: Set up
36Hi {{1}}, there was a new sign-in to your account from {{2}} on {{3}}. If this wasn’t you, change your password now.UtilityURL: Review sign-in
37Hi {{1}}, your trial ends in {{2}} days. Your data stays saved if you choose a plan.UtilityURL: See plans
38Hi {{1}}, the {{2}} report you scheduled is ready in your dashboard.UtilityURL: Open report
39Hi {{1}}, your team has used {{2}} of the {{3}} included in your plan. Track usage in the dashboard.UtilityURL: View usage
40Hi {{1}}, your {{2}} integration stopped syncing. Reconnect it to avoid losing data.UtilityURL: Reconnect
41Hi {{1}}, scheduled maintenance will take place on {{2}} from {{3}} to 4 am. The system may be unstable during that time.UtilityNone
42Hi {{1}}! We just launched {{2}}, a feature that speeds up month-end close. See how to turn it on.MarketingURL: Learn more; Quick reply: Stop updates
43Hi {{1}}! Teams with more than {{2}} users save on the annual plan. Talk to us to run the numbers.MarketingURL: Get a quote; Quick reply: Stop promotions

In example 37, a trial-ending notice is utility; “subscribe today at a discount” would make it marketing. For onboarding and retention flows, see WhatsApp for B2B SaaS.

Events and tickets (8 examples)

#Body textLikely categoryButton
44Hi {{1}}! Your registration for {{2}} is confirmed. Your ticket is at the link below.UtilityURL: View ticket
45Hi {{1}}, just one day to go until {{2}}. Check-in opens at {{3}} at the venue.UtilityURL: Get directions
46Hi {{1}}, the {{2}} event has moved to a new venue. The new address is {{3}}, same time as before.UtilityURL: View map
47Hi {{1}}, the {{2}} livestream starts in 15 minutes. Join through the link to save your spot.UtilityURL: Watch now
48Hi {{1}}, the {{2}} recording is now available to registered attendees for 7 days.UtilityURL: Watch recording
49Hi {{1}}, your ticket for {{2}} was transferred to {{3}} as you requested.UtilityNone
50Hi {{1}}! Early-bird pricing for {{2}} ends on {{3}}. After that, ticket prices go up.MarketingURL: Buy tickets; Quick reply: Stop promotions
51Hi {{1}}! Past {{2}} attendees get early access to the next edition. Reserve before general sale.MarketingURL: Reserve; Quick reply: Stop promotions

To space out sends around peak dates, see the Black Friday sending calendar.

Billing your own customers (9 examples)

WhatsApp’s Business Messaging Policy applies here: an invoice reminder to your own customer is utility, while collecting third-party debt (collection agencies, purchased portfolios) is prohibited. These examples are for the company that sold the product or service.

#Body textLikely categoryButton
52Hi {{1}}, your {{2}} invoice for $ {{3}} is now available.UtilityURL: View invoice
53Hi {{1}}, a reminder that your $ {{2}} invoice is due on {{3}}. If you’ve already paid, please ignore this message.UtilityURL: Pay invoice
54Hi {{1}}, your $ {{2}} invoice was due on {{3}} and is still open. Pay at the link to avoid a service interruption.UtilityURL: Pay now
55Hi {{1}}, we received your payment of $ {{2}} for {{3}}. Thank you!UtilityURL: View receipt
56Hi {{1}}, your {{2}} subscription will be charged to the card ending in {{3}} in the next few days.UtilityURL: Manage payment
57Hi {{1}}, we couldn’t charge the card ending in {{2}}. Update your payment method to keep your access.UtilityURL: Update card
58Hi {{1}}, the bill for installment {{2}} is ready. Open the link to view and pay it.UtilityURL: View bill
59Hi {{1}}, your {{2}}-installment payment plan is set up. The first payment is due on {{3}}, as agreed.UtilityURL: View plan
60Hi {{1}}! Pay your {{2}} invoice by {{3}} and get 5% off.MarketingURL: Pay now; Quick reply: Stop promotions

Note that example 55 ends with “Thank you!”, not with the variable. In example 60, the discount turns a billing message into marketing. Avoid threatening language too: Meta rejects templates that threaten legal action or public shaming. See WhatsApp billing reminders for a full sequence.

How to create a template through the API

A template is a JSON object with a name, language, category and components. This is example 2, with the sample values Meta requires:

{
  "name": "order_shipped_tracking",
  "language": "en_US",
  "category": "UTILITY",
  "components": [
    {
      "type": "BODY",
      "text": "Good news, {{1}}: your order {{2}} has shipped. Your tracking number is {{3}} and you can follow it at the link below.",
      "example": { "body_text": [["Anna", "10234", "1Z999AA10123456784"]] }
    },
    {
      "type": "BUTTONS",
      "buttons": [
        {
          "type": "URL",
          "text": "Track package",
          "url": "https://shop.example.com/tracking/{{1}}",
          "example": ["1Z999AA10123456784"]
        }
      ]
    }
  ]
}

The name uses only lowercase letters, numbers and underscores, and the URL variable sits at the end of the address. Review can take up to 24 hours. If it comes back rejected, WhatsApp template rejected lists the fixes. For multi-card messages with images, see the carousel template.

How to do it with Vectalk

Vectalk is a proxy for the official WhatsApp Business API (Cloud API): templates follow Meta’s rules and the payload is the Cloud API payload. You create templates with the Create Template endpoint using your instance token (the account ID is resolved from the token) and send them with Send Template. Billing is a monthly fee plus a prepaid balance: each delivered message is deducted from the balance, and Vectalk pays Meta, with no card registered on Meta. If you’re new to the platform, start with the WhatsApp Cloud API guide or create your account.

Frequently asked questions

Can I use these examples as they are?

Yes, but adapt your company name, deadlines and links. Meta rejects a template whose body and footer are identical to another template in the same account, so don’t submit two copies of the same text.

Is the category I pick the one that sticks?

Not necessarily. Meta reviews the content and can move a utility template to marketing with 1 day’s notice. You have 60 days to appeal the change in Business Support Home.

Why can’t a variable be at the end of the text?

It’s a review rule: Meta calls leading or trailing parameters “dangling parameters” and rejects the template. Always end with a word or phrase after the last variable.

How many templates can I have?

An unverified business portfolio allows 250 templates per messaging account. With a verified portfolio and a phone number with an approved display name, the limit goes up to 6,000. You can create up to 100 templates per hour.


Official sources checked on October 28, 2026: Template fundamentals, Template components, Template review, Template categorization, WhatsApp Business Platform pricing, WhatsApp Business Messaging Policy, Vectalk: Create Template.

Put your business on the official WhatsApp

Create your account, connect your number to the official API (you can keep the app with coexistence) and start serving customers and sending messages.