What Counts as Marketing
A marketing message is a template message intended to promote, re-engage, or drive new user action. Examples include product or feature announcements, promotional campaigns, and seasonal reminders or win-back campaigns.
If content mixes utility and promotional intent, Meta will reclassify it as marketing — see Template Category Reclassification.
Two Send Paths: Cloud API vs MM API
Marketing templates are the only template category that can be sent through two different endpoints:
| Send path | Endpoint | When to use |
|---|---|---|
| Cloud API (default) | POST /<PHONE_NUMBER_ID>/messages | All accounts, all marketing templates. Standard delivery, no creative or delivery optimizations. |
| Marketing Messages API for WhatsApp (MM API) | POST /<PHONE_NUMBER_ID>/marketing_messages | Eligible WABAs that have signed the MM API ToS. Adds quality-based delivery optimization, creative optimizations, conversion measurement, longer TTL, and a max-price beta. |
Both paths use the same template assets, the same phone_number_id, the same access token permissions, and the same per-message billing model. Choosing MM API is opt-in and reversible. See Marketing Messages API for WhatsApp for the full mechanics, and MM API Onboarding for how to enable it.
Marketing Pages in This Section
- Marketing Messages API for WhatsApp — endpoint, features vs Cloud API, status webhooks, fallback behavior
- MM API Onboarding — eligibility check, ToS, Embedded Signup with
marketing_messages_lite, onboarding webhooks - Conversion Tracking — Meta Pixel, Conversions API, Meta SDK, click-event webhooks, deep-link attribution
- Creative Optimizations —
creative_features_spec, template-level vs WABA-level opt-in/opt-out - Marketing Deep Links — Android
app_deep_linkon URL buttons, fallback URLs, attribution preservation - Max-Price (Beta) —
bid_spec, per-message multiplier, reach estimation - Specialty templates (Coupon code, Limited-time offer, Media carousel, Call permission request, etc.) — see Specialty Marketing Templates below
Prerequisites
Before sending any marketing template:
- An approved template with category
MARKETING. - Documented user opt-in for marketing communication (see Compliance).
- Sending from a healthy phone number (
AVAILABLE— see Health Monitoring).
For MM API specifically, additionally: ToS signed for the WABA, and (for conversion measurement) a Meta Pixel or Conversions API integration.
Specialty Marketing Templates
Beyond the standard custom marketing template (header + body + footer + buttons), Meta supports several specialty marketing template types. All are created through the same /<WABA_ID>/message_templates endpoint by varying the components array.
| Type | What it does |
|---|---|
| Custom marketing | Standard structure: optional header, required body, optional footer, up to 10 buttons |
| Coupon code | Single copy_code button copies an offer code to the recipient's clipboard on tap (max 20 chars) |
| Limited-time offer | limited_time_offer component with optional countdown timer to a Unix-millisecond expiration. WhatsApp web/desktop users see a "not supported" placeholder |
| Media card carousel | carousel component with up to 10 media cards (image or video header per card, optional body, up to 2 buttons per card). All cards must share the same component shape |
| Product card carousel | Same shape as media carousel but cards reference catalog products (keeps the user inside WhatsApp instead of opening the browser) |
| Multi-product | Up to 30 products from your catalog organized into up to 10 sections, in one message |
| Single-product | One product card with shop-in-WhatsApp behavior |
| Catalog | Full product catalog browsable inside WhatsApp |
| Call permission request | Required body + call_permission_request component; recipient grants/denies permission for your business to call them. Cannot be combined with other interactive components |
Body text is required and must not be empty. Footer components are not supported on limited-time offer templates. Specialty components frequently exclude or require other components — refer to Meta's marketing template documentation for the exact component matrix per type before building.
User Preferences and Opt-Out
WhatsApp gives recipients a per-business "Offers and announcements" setting with three actions:
| User action | Webhook? | Effect on sends |
|---|---|---|
| Mark "Interested" / "Not interested" | No | Affects per-user marketing limits between you and that user |
| Stop marketing messages | Yes (user_preferences) | API accepts the request but does not deliver. Status webhook returns failed with code 131050 |
| Resume marketing messages | Yes (user_preferences) | Delivery resumes |
Subscribe to the user_preferences webhook field to track stop/resume actions. Suppress users on failed + 131050 to avoid wasting send budget on undeliverable recipients.
Per-User Marketing Limits
WhatsApp dynamically caps how many marketing template messages any one user receives across all businesses, weighted by that user's individual marketing-message read rate. You cannot inspect or override this limit; it is enforced by Meta. Per-user limits are not active in the EEA, UK, Japan, and South Korea — but per-recipient quality signals still apply globally.
The simplest mitigations: keep templates relevant, send only to users who actively opted in, and don't reuse the same template too frequently.
Billing and Windows
- Marketing template messages are billed by Meta under current rate-card rules — see Pricing.
- Inside the 72-hour free entry point window, marketing messages are free.
- Marketing templates do not have volume tiers — only utility and authentication do.
- Both
/messagesand/marketing_messagesuse the same per-message billing model. The status webhookpricing.categorydistinguishes them:marketingfor Cloud API sends,marketing_litefor MM API sends.
Dualhook does not charge per message and does not change Meta billing classification.
Content and Compliance
- Keep claims accurate and avoid misleading urgency.
- Do not send prohibited content categories.
- Use clear, user-friendly language with explicit brand identity.
- Respect opt-out handling and suppress users who revoked consent.
Note: marketing messages to recipients in the United States are blocked by Meta with error 131049 since April 1, 2025 — this is platform-wide and not specific to MM API.
Quality and Deliverability
Marketing sends affect quality rating more quickly than transactional traffic. If quality degrades:
- Slow down campaign volume.
- Review audience targeting and opt-in quality.
- Reduce repetitive or low-value promotional content.
Persistent negative feedback can reduce messaging limits or lead to restrictions by Meta.