Max price
Early access
Max price is a billing option for Marketing Messages API for WhatsApp that lets you set a price cap for marketing template messages. Set a template bid as the default, then use country or per-message multipliers to adjust the bid for specific destinations or messages.
Bid is the maximum amount you are willing to pay per delivered marketing message. A bid sets a price cap rather than a fixed charge. You configure the template bid through bidAmount in the API payload. Country and per-message multipliers can increase or decrease the bid for specific destinations or individual messages.
A typical max price workflow:
- Optional: Estimate delivery and cost for candidate bids.
- Set a template bid when you create the marketing template.
- (Optional) Adjust bids by country for destinations that need a different bid.
- (Optional) Adjust bids for individual messages that need an exception.
Max price is available as a closed early access program. To join, contact your Infobip account manager.
Prerequisites
Make sure that you have:
- Sender: A WhatsApp sender registered in your Infobip account and enabled for Marketing Messages API for WhatsApp.
- Template access: Access to the WhatsApp template create and update API operations.
- Target price: A target price in the currency of your WhatsApp Business Account (WABA). If you do not know the currency, contact your Infobip account team before you calculate the bid.
The bid is not a decimal currency amount, both on the web interface and in bidAmount over the API. Express the bid per message in the smallest unit of your WABA currency, then multiply it by 1,000. For example, USD 0.0103 per message equals 1.03 cents, so the corresponding bid is 1030. This is equivalent to a bid of USD 10.30 per 1,000 deliveries.
Estimate delivery and cost
Before you set a bid, use the Get WhatsApp delivery and cost estimation endpoint to compare delivery and cost estimates for different bids. The estimate is based on historical data for the WhatsApp Business Account (WABA) of the sender. It is available only for senders whose WABA is enabled for max price.
On the web interface, the estimate is available in the template editor. See Set a template bid over the web interface.
On the web interface, you can select the following destination countries: Argentina, Brazil, Colombia, India, Indonesia, Mexico, Peru, Saudi Arabia, South Africa, and United Arab Emirates. Over the API, the country codes that you provide are passed to Meta.
Provide the following inputs:
- Sender: Your registered WhatsApp number in international format.
- Countries (
countries): One or more ISO 3166-1 alpha-2 codes that define the geographic scope of the estimate. - Date interval (
dateInterval): The historical period that the estimate is based on:P1D,P7D,P14D, orP28D(the last 1, 7, 14, or 28 days).
The following example requests an estimate for India based on the last 7 days. Replace {sender} with your sender number:
Example response:
The response includes currency, the currency of your WABA, and a set of bid tiers in estimates. Each tier contains:
| Field | Description |
|---|---|
bidAmount | The candidate bid, in the smallest unit of your WABA currency. |
users | The estimated reach, as the number of targeted users. |
lowerBoundDeliveries, upperBoundDeliveries | The lower and upper bounds of the estimated number of deliveries for the bid. |
costLowerBound, costUpperBound | The lower and upper bounds of the estimated average cost for the bid. |
Compare the tiers and choose the bid that matches your delivery and cost goals.
Set a template bid
Add the bid when you create the marketing template. You can do this over the web interface or over the API.
Over the web interface [#web-interface-set-a-template-bid]
To set a bid when you register a marketing template on the web interface:
- Start registering a template. In Template registration, select Marketing template, then one of the following template types: Text and rich media, Carousel, Limited-time offer, Coupon code, Flow template, or Call permission request.
The Order details and Request contact info types do not support bids. - Enter the template name, language, and content.
- In Optimization spec (ex. Bid spec), enter your bid in Define your bid. Enter a whole number in the smallest unit of your WABA currency, as described in Prerequisites. The field does not accept decimal amounts.
- (Optional) To use a different bid for specific countries, select Add country multiplier. Select the Country and enter the Bid multiplier. You can add up to 50 countries.
- (Optional) In Cost and delivery estimation, select the Date interval (1 day, 7 days, 14 days, or 28 days) and the Destination country to check the estimated cost and delivery. For the available countries, see Estimate delivery and cost.
- Select Register template.
Over the API [#api-set-a-template-bid]
Include optimizationSpec at the top level of the Create WhatsApp template request:
bidAmount: The template bid, which serves as the default before any applicable multipliers.bidStrategy: Set toLOWEST_COST_WITH_BID_CAP.
The following example creates a marketing template with a bid:
You cannot add a bid to a template that was created without one. To use max price with that content, create a new template that includes the bid. You also cannot remove a bid from a template. To stop using max price, create a new template without a bid.
To change the bid on a template that already has one, send optimizationSpec in the Edit WhatsApp template request. Include both bidAmount and bidStrategy in every update. The following example changes the template bid to 1000:
You can change the bid of an approved template up to 10 times in 30 days, and once in 24 hours.
Adjust bids by country
To use a different bid for specific destination countries, add countryMultiplierOverrides to the optimizationSpec object of the template. For example, bid higher in markets with lower delivery rates.
On the web interface, use Add country multiplier in the template editor. See Set a template bid over the web interface.
Each entry in countryMultiplierOverrides maps a country code to a multiplier. The country-adjusted bid is bidAmount multiplied by the multiplier for that country.
- Country codes: ISO 3166-1 alpha-2 codes, such as
INorMX. - Multiplier values: Greater than
0and less than or equal to10. - Maximum entries: 50 countries.
- Countries without an override: A multiplier of
1applies, so the template bid is unchanged.
The following example shows the optimizationSpec object with country multipliers. Include it in the template create or update request:
In this example, the country-adjusted bid is 1200 for India and 800 for Mexico.
You can add country multipliers when you create the template or when you update its bid. When you update a template:
- Countries included in the request are added or updated.
- Countries omitted from the request keep their existing multipliers.
- Set the multiplier for a country to
1to return it to the template bid.
After any change, use Get WhatsApp template and check optimizationSpec.countryMultiplierOverrides to confirm the current values.
Adjust bids for individual messages
To adjust the bid for a single message or a small set of messages, add perMessageBidMultiplier to content.optimizationSpec in the Send WhatsApp template message request.
The default multiplier is 1, which means no per-message adjustment. Meta rejects bids below roughly 0.9 times the rate card. A multiplier of 0 is rejected and does not skip the message.
The following example sets a per-message multiplier of 1.5. Replace the sender and destination placeholders with the appropriate phone numbers, and use an approved marketing template configured with a bid:
For example, if you reuse one template across several campaigns, you can lower the bid by 10% (0.9) for a campaign that targets less engaged users, instead of creating a separate template for that campaign.
Reserve per-message multipliers for exceptions. For campaign-wide changes, update the template bid instead.
Troubleshooting
| Problem | Solution |
|---|---|
| The bid differs from the intended amount | The bid may have been calculated from a decimal currency amount without converting it. Convert the bid per message to the smallest unit of your WABA currency and multiply it by 1,000. Also check any configured country or per-message multipliers. |
| You need to enable max price on a template created without a bid | Create a new marketing template with max price settings. |
| A country multiplier still applies after you omit it from an update | Omitted countries keep their existing values. Set the multiplier for the country to 1 to return it to the template bid. |
| You need to adjust bids across a campaign | Update the template bid. Per-message multipliers are intended for isolated adjustments. |
| The message is rejected with error 7032 | The bid is below the minimum that Meta accepts. Raise the template bid or the per-message multiplier. |
Best practices
- Start at the published rate: Set your first bid equal to the published rate for marketing messages. After your first tests, bid below it to reach less engaged users at a lower cost, or above it to reach highly engaged users. Bids that are set too low can result in very low delivery.
- Keep the template bid as the main control: Delivery usually performs better when the template bid remains the primary control for most messages.
- Use per-message multipliers for exceptions: Adjust individual messages only when they need a different bid.
- Estimate before rollout: Run a cost estimate when you need a cost range.
- Check after updates: Review the current country multipliers of the template after each update.
- Ask when unsure: If you are not sure which bid to use, or you do not know your WABA currency, contact your Infobip account team before you send traffic.
What is Marketing Messages API for WhatsApp
Learn how MM API optimizes the delivery of marketing template messages.
Enable Marketing Messages API for WhatsApp
Set up your sender and start sending marketing messages through the API.
WhatsApp message templates
Create and register the marketing templates that you set bids for.
Optimize and track with MM Lite
Configure TTL, conversion tracking, creative optimization, and deep links.