WhatsApp Marketing Messages API: What Changes and When
If you send WhatsApp promotions through the Cloud API, you have a deadline. On October 13, 2026, Meta announced that Cloud API will stop supporting marketing messages on October 13, 2027. From then on, every marketing template sent by API has to go through a separate product: the Marketing Messages API for WhatsApp.
The WhatsApp Marketing Messages API, called Marketing Messages Lite API (MM Lite) until it reached general availability on November 19, 2025, sends marketing templates only. It uses the same templates, phone numbers and billing model as Cloud API, adds delivery optimization, extra formats and measurement, and is where Meta's new max-price bidding lives.
This guide explains what it does, how it differs, the dates that matter, and what to change in your integration.
The dates that matter
All from Meta's Marketing Messages API overview and changelog:
| Date | What happens |
|---|---|
| November 19, 2025 | MM Lite becomes generally available as the Marketing Messages API for WhatsApp |
| October 1, 2026 | Max price (bidding) enters open beta |
| October 13, 2026 | Meta announces the end of marketing messages on Cloud API |
| April 13, 2027 | New Messaging accounts created from this date can't send marketing on Cloud API at all |
| Q2 2027 | Max price becomes required in eligible regions on this API; fixed published marketing rates apply only on Cloud API |
| October 13, 2027 | Marketing messages on Cloud API return an error; service, utility and authentication stay on Cloud API |
Meta says most integrations take about two weeks, so the work belongs on a 2027 roadmap now rather than in September 2027.
What it does that Cloud API doesn't
The API sends exactly what Cloud API sends for marketing, the same marketing templates, but adds features Meta keeps exclusive to it:
| Feature | Marketing Messages API | Cloud API |
|---|---|---|
| Quality-based delivery | Factors engagement into delivery for marketing | No |
| Automatic creative optimizations | Pilot features: image filtering, headline extraction, text formatting. Off by default per account since April 2026 | No |
| GIF headers | Yes | No |
| Android app deep links | Yes | No |
| TTL for marketing templates | 12 hours to 30 days | Not available for marketing |
| Benchmarks and recommendations | Yes | No |
| Conversion metrics | Add to cart, checkout, purchase and more, via Meta Pixel or Conversions API | No |
| Max price per delivery | Beta | No |
| Basic formats (media, carousel, catalog, Flow, list, reply buttons) | Yes | Yes |
Two features change campaign economics. TTL lets a flash sale expire: if WhatsApp can't deliver within, say, 12 hours, it stops trying rather than delivering a "today only" offer three days late. Max price lets you cap what you pay per delivered message. You set a bid_amount per 1,000 deliveries in your account currency's smallest unit (cents for USD, paise for INR), and Meta charges that amount or less. Meta's own example: a max price of $0.05 per delivery is a bid_amount of 5000.
The quality-based delivery claim deserves context. Meta reports delivering up to 9% more high-engagement messages than Cloud API in an A/B test of about 12 million marketing messages sent by advertisers in India in January 2025. That is Meta's figure from one market; your results will depend on your audience and content.
Where it doesn't help
Some limits apply regardless of which API you use, and some features switch off by region:
- United States: Meta has not delivered marketing templates to US phone numbers since April 1, 2025 (error 131049), on any API.
- EEA, UK, Japan, South Korea, Nigeria, South Africa and Thailand: no delivery optimizations and no click or conversion metrics for messages from or to these countries. Per-user marketing limits are also inactive there, so Meta notes this doesn't affect delivery.
- Sanctioned regions: not eligible at all.
- Per-user limits and opt-outs still apply. A customer who stopped marketing messages from you still gets nothing (error 131050), and people who rarely read marketing can still be capped.
For a business sending only to the US, the API changes nothing, because marketing templates don't reach US numbers either way.
How sending changes
The endpoint is new, the payload is not. You send to /PHONE_NUMBER_ID/marketing_messages instead of /messages, with the same template object. The examples use v23.0; use the current Graph API version from Meta's changelog.
curl -X POST "https://graph.facebook.com/v23.0/PHONE_NUMBER_ID/marketing_messages" \
-H "Authorization: Bearer $WHATSAPP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "+919811122233",
"type": "template",
"template": {
"name": "winter_sale_v2",
"language": { "code": "en" },
"components": [
{ "type": "body", "parameters": [{ "type": "text", "text": "Priya" }] }
]
},
"product_policy": "STRICT"
}'
What differs:
- Marketing templates only. Free-form, utility, authentication or service messages sent here fail (error 131055). Keep sending those through
/messageson the same number, and keep receiving messages through Cloud API webhooks as before. product_policy. The default,CLOUD_API_FALLBACK, sends through Cloud API if your account hasn't finished onboarding.STRICTfails instead, which is useful when you need to know the message went through the new API.message_activity_sharingturns sharing of message activity (such as reads) with Meta on or off per message, overriding the account default.- Status webhooks label these messages with
marketing_liteas the pricing category and conversation origin, so you can tell them apart in reporting. - Template sync. A new marketing template takes up to 10 minutes to sync with its linked ad account, and so does one unused for more than 7 days. Wait before sending a campaign on a fresh template.
The endpoint also accepts business-scoped user IDs through the recipient field, in line with the move to WhatsApp usernames. See our guide to BSUIDs and usernames.
Routing by category is now your job
Here is the change most teams underestimate. Meta can move a utility template to marketing after approval, and Meta's routing guidance says the latest category decides the endpoint: marketing goes to /marketing_messages, everything else to /messages. Your sending code has to know each template's current category.
Meta's recommended setup:
- Store a mapping of account ID, template name, language and latest category, and cache it.
- Subscribe to the
template_category_updatewebhook and update the mapping only on the completed change, usingnew_category. Don't route on the advance notice. - Look up the category on every send, and fetch it from the API if the mapping is missing.
- Once fully onboarded, set
disable_marketing_messages_on_cloud_apitotrueon the account. Marketing templates sent to/messagesthen fail with error 131063, which tells you to refresh the category and retry through/marketing_messages. - Make retries idempotent, so a refreshed send doesn't double up.
Our guide to template categories explains how and when Meta recategorizes.
How to get on it
If you send through a provider's dashboard or API, your provider integrates the endpoint for you, and your job is to accept the terms and confirm the timeline. If you integrate directly:
- Accept the Marketing Messages API terms: in the App Dashboard, open WhatsApp, then Quickstart, and use the marketing messages module's Get started button.
- Check eligibility with
GET /WABA_ID?fields=marketing_messages_onboarding_status.ELIGIBLEmeans ready to onboard,ONBOARDEDmeans done. (The oldermarketing_messages_lite_api_statusfield is being deprecated.) - Confirm you meet the basics: an active account not restricted for violations, a registered business phone number, an approved marketing template, a token with
whatsapp_business_messaging, and a subscription to themessageswebhook. - Set up a Meta Pixel or Conversions API integration if you want conversion metrics.
- Switch marketing sends to the new endpoint, starting with
STRICTon a test campaign.
Onboarding creates linked read-only ad accounts for your marketing templates, which is how insights flow back. It needs no new phone number registration or template re-creation. Billing follows the same per-message model as Cloud API, at the marketing rate for each market unless you use max price; see our breakdown of marketing message cost and ways to reduce WhatsApp API cost.
Where Tenashi fits
The Marketing Messages API is infrastructure for promotional sends at scale on Meta's official platform. Tenashi isn't that, and isn't a substitute for it.
Tenashi is a WhatsApp workspace that runs on your existing number, linked by QR scan, outside Meta's platform. Teams use it for the conversations campaigns create: the replies to your promotion, the questions in your distributor groups, the follow-ups a salesperson owes. Everything lands in one shared inbox with a CRM and pipeline under each chat, at a flat price from $18/mo with no per-message fees. Broadcasts exist on Growth and Scale plans, but they are paced and meant for contacts who know you, not for large cold lists, and WhatsApp can still ban numbers that spam. If you run large marketing campaigns, migrate them to the Marketing Messages API and use Tenashi for the human side. The complete guide to the WhatsApp API maps both routes.
See every feature · Get started
FAQ
Is the Marketing Messages API the same as MM Lite?
Yes. Meta's changelog says the Marketing Messages API for WhatsApp was formerly known as the Marketing Messages Lite API, often shortened to MM Lite. It reached general availability on November 19, 2025. Some older fields and webhook values still carry the lite name, such as the marketing_lite pricing category in status webhooks.
When does Cloud API stop sending marketing messages?
On October 13, 2027, sending marketing templates through Cloud API will return an error. Messaging accounts created on or after April 13, 2027 can't send marketing on Cloud API at all. Service, utility and authentication messages are unaffected and stay on Cloud API, so most integrations run both APIs on the same number.
Does the Marketing Messages API cost more than Cloud API?
Meta describes the same per-message billing model as Cloud API, at the marketing rate for each recipient's market. The difference is optional max price bidding, in beta since 2026, which caps what you pay per delivery. Meta says max price becomes required in eligible regions in Q2 2027, with fixed rates kept on Cloud API.
Can I send utility or OTP messages through the Marketing Messages API?
No. The marketing_messages endpoint accepts marketing template messages only, and anything else fails with error 131055. Send utility, authentication and service messages through the normal Cloud API messages endpoint on the same phone number, and keep receiving inbound messages through your existing Cloud API webhooks.
Do I need to recreate templates or register a new number?
No. Onboarding uses your existing phone numbers and marketing templates, with no new registration or template re-creation. Meta links read-only ad accounts to your marketing templates for reporting. New or long-unused templates take up to 10 minutes to sync before they are ready for campaign traffic.
Migrate the campaigns, keep the conversations human. For the second half, get started with Tenashi.