Skip to main content
The Marketing Messages API (MM API) is Meta’s advanced send endpoint for WhatsApp marketing templates. It sits alongside the standard Cloud API and activates a set of features — Creative Optimizations, click tracking, message TTL, and conversion metrics — that are not available when sending through the regular POST /<phone_id>/messages endpoint.

Cloud API vs Marketing Messages API

How to enable

1

Sign the WABA Terms of Service

Go to Meta Business Manager → WhatsApp Accounts → [your WABA] → Settings. Accept the Marketing Messages Terms of Service if prompted. You cannot proceed without this step.
2

Check onboarding status

In Switchbord, go to Settings → Channel. The onboarding_status field must read ONBOARDED. If it shows NOT_ONBOARDED or is missing, complete the Meta onboarding flow first.
3

Enable in Switchbord

Go to Settings → Channel → Marketing Messages API and toggle it on. Switchbord stores this preference and routes eligible marketing template sends through the MM API endpoint automatically.

Message TTL

TTL (time-to-live) controls how long WhatsApp holds a message waiting for delivery before discarding it. The default Cloud API TTL is 30 days for all messages. With MM API you can set it per-message:
  • 12 hours: flash sales, event day reminders — discard if the user is offline too long
  • 7 days: weekly newsletter, standard campaign
  • 30 days: re-engagement, winback (same as Cloud API default)
Set ttl in the MM API request body (in seconds). A value of 43200 = 12 hours, 604800 = 7 days, 2592000 = 30 days.

Creative Optimizations

When creative_optimizations is enabled in your channel settings, Meta’s delivery system may automatically adjust message timing, copy variant selection, or button order to maximise engagement. Across Meta’s internal tests this raised average CTR by 13.9%. Optimizations apply at delivery time and are invisible in the API payload — you send the same template, Meta decides the optimal rendering for each recipient.

Click tracking and conversion metrics

MM API automatically tracks:
  • Link clicks: taps on URL buttons in the template
  • Conversions: downstream purchase or booking events (requires Meta Pixel or CAPI integration)
  • Read rate: percentage of delivered messages opened within 24 hours
These metrics appear in Meta Business Manager → WhatsApp Manager → Insights and are also available via the Graph API reporting endpoints. Switchbord surfaces a read rate summary on the campaign detail page.

product_policy

Controls what happens if the phone number is not fully onboarded for MM API:

message_activity_sharing

Controls whether read receipts for this specific message are shared with Meta for delivery optimisation. Default is true. Set to false if your workspace has a privacy policy that prohibits sharing engagement signals.

Per-user delivery limits

WhatsApp limits the number of marketing messages delivered to users with low engagement. This is separate from MM API — it applies to all marketing templates regardless of send path.

Error codes

Silent limits

If a message is not delivered and no error code is returned, the user has hit WhatsApp’s silent per-user limit. Monitor campaign read rates — a sudden drop without delivery errors is the primary signal.

Regional exemptions

The following regions are exempt from per-user marketing delivery limits:
  • European Economic Area (EEA)
  • United Kingdom
  • Japan
  • South Korea

US numbers

Marketing template delivery to US (+1) phone numbers has been paused since April 2025. Templates will not be delivered to US numbers through either Cloud API or MM API until Meta lifts the restriction.

Targeting by contact tag

To send only to engaged segments, filter campaign recipients by tag before sending. Common tag patterns: See Contacts import for how tags are assigned on bulk import.

See also