How the WhatsApp bid multiplier actually works
The field is bid_country_multiplier_overrides, a map that lives inside optimization_spec alongside bid_amount and bid_strategy, documented on Meta's Set a max price for marketing messages page.
When a message is sent, Meta determines the recipient's country from their phone number and applies the matching multiplier to the template's bid_amount to produce the effective bid for that message:
Effective bid = bid_amount x country_multiplier
Three constraints are stated: "Up to 50 entries." — "Each multiplier must be greater than 0 and at most 10." — "Keys must be valid ISO 3166-1 alpha-2 country codes."
Two details matter more than they look. The country is derived from the recipient's phone number, not from anything the business declares. And an unlisted country is not an error: "If the recipient's country is not listed in the map, the multiplier is 1.0, so the template's bid_amount is used unchanged."
One asymmetry for developers. You send the map as an object and get it back as an array. A create call takes {"IN": 1.2, "MX": 0.8}; querying optimization_spec returns [{"key": "IN", "value": 1.2}, ...]. Anything round-tripping template configuration must handle both shapes.
Meta's own worked example is three rows
The documentation gives one example, built on a template with bid_amount of 1000 and the map {"IN": 1.2, "MX": 0.8}:
| Recipient country | Multiplier applied | Effective bid (per 1,000 delivered) |
|---|---|---|
| India (IN) | 1.2 | 1000 × 1.2 = 1,200 |
| Mexico (MX) | 0.8 | 1000 × 0.8 = 800 |
| Brazil (BR) — not listed | 1.0 (default) | 1000 × 1.0 = 1,000 |
That is the whole of it. No second example, no regional grouping, and no table of countries anywhere on the page.
The four-arm test, and where India appears
The only place where Meta names specific countries with specific numbers is a testing recommendation: run a four-arm test (10,000 send requests per arm) including Arm C at "1.5x rate card, but 1.2x for India and Saudi Arabia." Four arms at 10,000 send requests each is 40,000 marketing message deliveries to complete one test.
Meta gives no reason for the carve-out. A comprehensive search across eight documents found this parenthesis is the only sentence on the pricing page that names countries for different max-price treatment.
The silence, scoped exactly
Meta is not silent about countries in general. The Marketing Messages API changelog records upcoming rates for Argentina, Australia, Chile, Colombia, India, Indonesia, Malaysia, Mexico, Peru, Saudi Arabia, Singapore, UAE, UK, and US — fourteen named countries. So Meta tracks country-level economics closely enough to publish a per-country rate card. It simply never joins that to the multiplier.
A search across eight documents for words explaining why a country's number should differ found zero occurrences of: competition, demand, market rate, supply, auction, expensive/cheaper, and why. Meta documents the lever and not the reason.
What the market says instead
Into that gap, vendors have supplied a story. The most widely circulated guide headlines "How Meta's New Bidding Model Can Cut Your Marketing Message Costs by 25%" — attributing the 25% to Meta. A comprehensive search found "25%" appears zero times across all eight of Meta's HTML documents. The word auction appears zero times.
This repeats a pattern: a mechanically complete specification, a missing rationale, and third parties filling the gap with numbers attributed to examples that are not in the docs.
What an Indian advertiser can actually conclude
The WhatsApp bid multiplier is a number you set. It is not a rate Meta charges India. Nothing in the documentation says Indian deliveries cost more or less than anywhere else.
What is genuinely established: 1.2 appears for India in Meta's testing recommendation as the upper test arm, and "IN": 1.2 appears in the code samples as the illustrative map. Meta does not call 1.2 recommended, does not call it a starting point, and does not repeat it outside those two contexts.
Practically:
- Decide whether you are running marketing volume through the Marketing Messages API at all — the multiplier exists only there.
- If you set a multiplier, write down why you chose the number. Meta's documentation will not supply the reasoning later.
- Treat 1.2 for India as an example that appeared in a test design, not as a rate.
- Budget the test honestly: Meta's own design needs 40,000 deliveries.
The feature is real, complete, and usable. Meta shipped a per-country pricing control into a market where it already publishes per-country rates, and left the question of what any country's number should be entirely to the advertiser.
Top comments (0)