Skip to main content
WhatsApp-APIMarketing-MessagesPricingMetaWhatsApp-Business-PlatformAutomation

WhatsApp Max Price for Marketing Messages: Everything You Need to Know

Meta just gave businesses a bid cap for WhatsApp marketing. Here's exactly how it works, what it costs, and how to use it to get more deliveries for less money.

Chinmay Atrawalkar

9 min read

Cover image for WhatsApp Max Price for Marketing Messages: Everything You Need to Know

Most businesses sending WhatsApp marketing messages don't have a reach problem.
They have a spend control problem.

You pay a fixed rate per delivery. You don't control who gets reached, at what cost, or whether the delivery was even worth it. Meta charges. You pay. That's been the deal.

Until now.


1. What Is Max Price?

Meta's new max price feature lets you set a ceiling on what you're willing to pay per marketing message delivery.

When a max price is set:

  • That amount is the maximum Meta will ever charge per delivery
  • Meta may charge less — but never more
  • You stay in control of your spend, per campaign

In simple terms: It's a bid cap for WhatsApp — just like you'd set on a Meta ad campaign.

In the API, this is expressed as a bid_amount per 1,000 deliveries inside a bid_spec object on the message template. The only supported strategy right now is LOWEST_COST_WITH_BID_CAP.


2. The Three Ways to Use It

You can set a max price lower than, equal to, or higher than the published rate. Each unlocks a different outcome.

Max price = published rate → Lower costs, same delivery

  • Same number of customers targeted
  • Same messages delivered
  • But Meta charges the optimized rate — averaging ~8% less than published

Max price < published rate → Broader reach at lower cost

  • More customers become targetable (because the cost is lower)
  • More messages get delivered
  • Cost per delivery drops by ~25%

Max price > published rate → Maximum delivery when it matters most

  • Delivery rate goes up (Meta can reach harder-to-reach customers)
  • Cost per message still averages below the published rate
  • Total spend goes up — but so does conversion potential

Rule of thumb: Start at the published rate to reduce costs. Then test lower to expand reach. Go higher only during peak periods — holidays, flash sales, product launches.


3. Real Numbers That Show the Difference

Here's what the three strategies look like side by side, using the same 10-customer target cohort at a $1.00 published rate:

Strategy Customers Targeted Messages Delivered Avg. Cost/Message Total Cost
No max price 10 7 $1.00 $7.00
Max price = $1.00 10 7 $0.92 $6.44
Max price = $0.80 14 8 $0.75 $6.00
Max price = $1.25 10 9 $0.95 $8.55

Same published rate. Very different outcomes — depending on the goal.

Key insight: Even when you set max price higher than the published rate, Meta still charges you less per message on average. The optimized delivery system never charges a flat rate.


4. How to Calculate Your Bid Amount

The bid_amount is not a per-message price. It's the max price per 1,000 deliveries, in your WABA currency's smallest unit.

The formula:

bid_amount = (price per delivery in smallest currency unit) × 1,000

Example in INR:

  • Want to pay ₹0.87 per delivery
  • 0.87 Rupees = 87 paise
  • 87 × 1,000 = 87,000
  • Set bid_amount to 87000

Example in USD:

  • Want to pay $0.05 per delivery
  • $0.05 = 5 cents
  • 5 × 1,000 = 5,000
  • Set bid_amount to 5000

Watch out: Currencies use their smallest unit — cents for USD, paise for INR, peso for MXN. Always convert before multiplying.


5. Creating a Template with Max Price

Add bid_spec to your template creation request via the Message Templates API:

curl 'https://graph.facebook.com/v25.0/<WABA_ID>/message_templates' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "seasonal_sale_promo",
    "category": "MARKETING",
    "language": "en",
    "components": [
      {
        "type": "BODY",
        "text": "Shop our seasonal sale! Up to 50% off selected items."
      }
    ],
    "bid_spec": {
      "bid_amount": 87000,
      "bid_strategy": "LOWEST_COST_WITH_BID_CAP"
    }
  }'

If bid_spec is not included, the template uses standard published rate pricing. No changes to how it behaves today.

Critical constraint: You cannot add bid_spec to a template that was created without it. If you want max price on an existing template, create a new one with bid_spec included from the start.


6. Adjusting Price Per Message at Send Time

You can tweak the template's max price for individual sends using a multiplier — without editing the template itself.

"bid_spec": {
  "per_message_bid_multiplier": 1.5
}

How it works:

  • 1.5 → increases max price by 50%
  • 0.5 → decreases max price by 50%
  • 1.0 → uses the template's max price unchanged (default)

Example: Template bid_amount is 2,000. Multiplier of 1.5 → effective max price becomes 3,000 for that send.

Don't abuse this. If you're applying the same multiplier to every message, update the template's bid_spec directly instead. The delivery system optimizes off the template-level bid_amount. Constantly overriding it with multipliers will hurt performance.


7. Estimate Your Reach Before You Spend

The reach estimation tool shows you expected deliveries and costs at different max price levels — before you run a single campaign.

Use the WhatsApp Business Account API:

curl 'https://graph.facebook.com/v25.0/<WABA_ID>/reach_estimation?
  date_interval=L7D&
  targeting_spec={"geo_locations":{"countries":["IN"]}}' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>'

You'll get back a range of estimates — one per price point — showing:

  • Expected delivery lower and upper bounds
  • Expected cost lower and upper bounds
  • Based on your actual historical data

Disclaimer: These are estimates using historical data. They are not guarantees. Actual results may differ.

Date interval options: L1D, L7D, L14D, L28D


8. What Shows Up in Analytics and Billing

Max price messages use the same Marketing Lite (SKU) as regular marketing messages — no new billing category.

What changes in your analytics:

  • Pricing Analytics: pricing_category = MARKETING_LITE
  • Template Analytics: product_type = MARKETING_MESSAGES_LITE_API

When max price is on, your delivered and read webhooks will now include a cost estimate:

"pricing": {
  "billable": true,
  "pricing_model": "PMP",
  "category": "marketing_lite",
  "type": "regular",
  "cost": {
    "amount": 0.035,
    "currency": "USD"
  }
}

Important: The webhook cost is an estimate at the time of delivery. Your billing invoice is the source of truth. Do not treat webhook cost as final.


9. The Rollout Timeline

Max price is rolling out in three phases:

  • May 15, 2026 — Limited Beta: Partners can integrate for a limited number of clients
  • October 2026 — Open Beta: Partners can enable for all clients
  • Q2 2027 — General Availability: Max price becomes required in eligible geographies. Fixed published rates will only apply on the Cloud API

Start now. The businesses that learn to optimize bids during the beta period will have a significant advantage when GA hits and the feature becomes mandatory.


10. Common Errors to Watch For

Error Code Message Fix
131061 Templates with bid_spec not supported by Cloud API Send to /marketing_messages endpoint, not /messages
100 Need to sign testing legal agreement Sign the agreement to unlock beta access

What Do You Think? (Form Your Own Opinion)

This feature is new enough that there's no consensus yet — not among developers, not among marketers, not even among the BSPs who'll be rolling it out to clients.

Here are the real questions worth sitting with:

Is this genuinely good for businesses — or does it just create a new way for Meta to extract more from the ones who bid highest?

On one hand, the data is hard to argue with. Setting max price at the published rate already saves ~8% on average. That's real money at scale. And giving businesses control over what they pay per delivery is objectively better than a fixed, take-it-or-leave-it rate.

On the other hand — this is the same auction-based model that turned Facebook Ads into a game where only the biggest spenders win. When everyone starts bidding above the published rate to get deliveries during Diwali or Black Friday, does the "published rate" still mean anything? Or does it quietly become the floor of an arms race?

Does it change who wins on WhatsApp?

Right now, a bootstrapped D2C brand and an enterprise retailer pay the same per-message rate on WhatsApp. Max price could change that. Brands with bigger budgets can bid higher and consistently outdeliver smaller competitors to the same audience — exactly what happened in Facebook's news feed.

Will Meta's "delivery optimization" actually be transparent?

When Meta decides who gets delivered to at a given max price, that decision is a black box. You get estimates and after-the-fact analytics — but not a clear explanation of why a customer at a certain ROI threshold was or wasn't reached. That opacity matters when you're running high-stakes campaigns.

These aren't criticisms. They're the honest tensions in any performance-based pricing system.

The feature is real, the savings are real, and the control is real.
But so is the shift in power dynamics — and it's worth understanding before you optimize blindly.

Where do you land on this? Drop your take in the comments or reach out directly.


The Bigger Shift

This isn't just a new API parameter.

It's Meta moving WhatsApp marketing toward a performance-driven pricing model — the same philosophy behind how ads are bought and optimized on Facebook and Instagram.

Businesses that treat WhatsApp like a broadcast channel will keep paying flat rates.
Businesses that learn to bid will:

  • pay less per delivery
  • reach more customers
  • optimize spend by campaign and season

Final Thought

The max price feature is optional throughout 2026.
It becomes required in 2027.

So the question isn't whether you'll use it.
It's whether you'll figure it out before it's mandatory — or scramble to catch up after.

Run the A/B tests now.
Set bids at the template level.
Use the reach estimation tool before every major campaign.

The businesses that do this early will spend less and deliver more.
The ones that don't will just keep paying the published rate.

Start messaging smarter

WhatsPortal makes WhatsApp Business API simple for your whole team.

Get started free