Sign inGet Started

Marketing templates

Every WhatsApp template carries one of Meta's three categories: authentication, utility, or marketing. Marketing is the promotional one, and it is the only category Meta routes through a second API. Marketing sends go to Meta's Marketing Messages API and every other category goes to the Cloud API, over the same phone number.

The category also sets the default price. With default pricing, a marketing template costs the marketing rate for the recipient's country whichever of the two APIs carries it. Rates are on the WhatsApp pricing page, and Cost and billing covers when each part of a send is charged. Eligible accounts with preview access can set a maximum bid.

What you need to send one

Our managed catalog holds authentication and utility templates only, so a marketing send always uses a template your workspace authored:

  1. Connect a WhatsApp Business Account of your own, since a template you author is registered on your account rather than ours. See Phone number setup.
  2. Author a template with the category marketing and submit it for review. Meta reviews the category alongside the content, and it recategorizes a template that is promotional in substance. Template guidelines covers what passes review.
  3. Send from a number on the account that holds the template. A template belongs to one WhatsApp Business Account, so a send that names a number on a different account is rejected before it reaches Meta.

Marketing Messages API on the business account

Open Numbers, pick a number, and open its business account to see what Meta reports about the account the number sends under. The Marketing Messages API row is that account's onboarding state:

ValueMeaning
EligibleMeta would accept an onboarding request for this account
OnboardedThe account is onboarded and its marketing sends are optimized

The row is absent until Meta has reported a value. It is a stored provider reading, not a live eligibility check. Bird refreshes connected-account metadata periodically; delays and failures can leave individual fields older than the latest successful read. Confirm onboarding in WhatsApp Manager when a send depends on it.

Meta accepts the terms once for a whole business portfolio, so the panel carries a second, portfolio-wide state as well: not_started, request_sent, or term_of_service_signed. Meta gives both fields the same name and two different vocabularies. Read the account row for eligibility and the portfolio row for progress through the terms.

Onboarding happens at Meta rather than in the Bird dashboard. Someone with full control of the business portfolio accepts the Marketing Messages API terms in WhatsApp Manager, under Overview > Accept terms to get started. Meta's onboarding guide has the current steps.

Sending before the account is onboarded

The send path carries Meta's product_policy of CLOUD_API_FALLBACK, allowing eligible marketing messages to use the Cloud API while Marketing Messages API onboarding is incomplete. The marketing category still determines the applicable rate. This fallback does not bypass recipient, account or content restrictions, and does not guarantee delivery. Formats that require the Marketing Messages API, including GIF headers, still require onboarding.

Marketing Messages Lite maximum bid

Maximum-bid pricing for Marketing Messages Lite is in preview. If your organization has preview access, the marketing template builder shows a Pricing section for each language. Choose Default price to use Meta's published rates, or Maximum price to set a bid cap. Lower caps may reduce delivery.

To set a maximum price:

  1. Choose Maximum price, then check the Country. If the account’s connected numbers all belong to one supported country, it is preselected; you can change it. The country helps load a suggested amount; it is not saved and does not restrict recipients.
  2. Enter the Maximum per 1,000 deliveries in the WhatsApp Business Account's currency, or select Use price. Meta’s suggested maximum is its published marketing list rate for the selected country in the account’s currency. The same marketing rate applies to Cloud API and Marketing Messages Lite with default pricing. The amount excludes Bird fees. A suggestion does not guarantee delivery or country eligibility.
  3. Select Submit for review to request the price change. Save as draft keeps the change in Bird until you submit it. To return to published rates, choose Default price and submit the change.

To adjust the cap for specific destinations, use Country overrides below the estimates. Add a country and its multiplier: 1 keeps the base cap, 0.8 uses 80%, and 1.2 uses 120%. You can add up to 50 countries with multipliers from 0.01 to 10. Other countries keep the base cap. Removing a row restores that country's base cap when you submit the change. The graph and estimated results show the base cap before these overrides.

Submission starts the update; it does not confirm that Meta accepted the cap. Check the applied price in WhatsApp Manager before sending. If Meta refuses the update, the previous price remains in effect. Check the account and country requirements, then adjust the cap or choose Default price and submit again.

The Country list omits destinations where Meta disables delivery optimizations or prohibits marketing messages. It cannot identify restricted regions within a country. Availability also depends on Meta's account and sender requirements. Before using maximum bids, check Meta's geographic availability of features for the destinations you plan to reach. Preview access in Bird does not establish eligibility at Meta.

Additional features and send settings

Meta offers additional marketing optimization and measurement features for eligible accounts and markets. Confirm the features available to your account in Meta's feature comparison before making a launch depend on them. Onboarding alone does not prove that every optimization or reporting feature is enabled for every recipient.

Bird's current send path selects the Marketing Messages API for marketing templates and includes CLOUD_API_FALLBACK. It does not supply template creative-feature overrides, conversion-measurement configuration, or Android deep-link configuration. Configure a template language's cap through maximum-bid pricing. Do not assume those settings are configured because a template was approved.

When Meta reports the pricing category marketing_lite, Bird maps it to the marketing rate category. Read the message's reported cost and the billing records for the actual charge; a submitted message and a delivered message have different fee triggers.

Check destination and recipient restrictions

Marketing eligibility can vary by recipient country, account, format, and Meta's recipient-level limits. Confirm the current restrictions in Meta's documentation and WhatsApp Manager for the destinations in your campaign. A business number's country does not establish that all of its intended recipients can receive marketing templates.

Meta error 131049 is reported by Bird as rate_limited. Investigate the provider details, destination eligibility, and recipient limits before retrying. Do not treat an accepted send or an approved template as proof that the recipient is eligible, and do not repeatedly resend a restricted message.

When a recipient stops marketing messages

WhatsApp gives every recipient an Offers and announcements control on your business profile. Choosing Not interested feeds Meta's per-user limits, and stopping delivery outright blocks your marketing templates while leaving utility and authentication messages untouched.

A provider refusal can report Meta error 131050. Read the provider code in last_error.meta_error_code alongside Bird's normalized error and the message log. When Bird already has an applicable opt-out preference, it can reject the message before provider delivery instead. Investigate the recipient's recorded choice before retrying.

When Bird receives a valid stop event from Meta, it records a recipient-origin, non-transactional preference scoped to the WhatsApp Business Account. That belongs on the Preferences tab, rather than the Suppressions list. A resume event updates that preference; independent blocks still apply. Check both tabs and the event history before adding a separate all-message suppression. A provider refusal can arrive before the matching preference is recorded. See Preferences for scope and coverage.

Next steps