WhatsApp costs, limits and free windows
What Meta charges for WhatsApp template messages, the estimated cost shown before you send a broadcast, "Price estimate unavailable", the free 24-hour and 72-hour windows, messaging limits, and the Number health tab: the quality, limit and 24-hour use of each number, with alerts when they drop.
Meta, not OmniBrand, charges for WhatsApp template messages. This article explains what is charged, how OmniBrand estimates a broadcast's cost before you send it, and the limits Meta puts on how many people a number can message.
What Meta charges
- Meta bills your own WhatsApp Business account directly, at Meta's official rates, through the payment method you add in Meta's Billing Hub. OmniBrand does not charge for messages and adds nothing. How to add the payment method: Paying Meta for WhatsApp.
- Meta charges for each delivered template message. The price depends on the template's category (Marketing, Utility or Authentication) and on the recipient's country, read from the country code of their number.
- Marketing templates are always charged, except inside a free entry-point window (below).
- Utility templates are free when delivered while the customer's 24-hour customer service window is open (the customer wrote to you in the last 24 hours), and charged otherwise.
- Authentication templates are charged. Meta charges a higher authentication-international price for some countries.
- Service messages are the replies you type inside the 24-hour window (not templates). They are free: Meta does not charge for any message that is not a template. There is no monthly limit on free replies.
- Free entry-point window: when a customer messages you from a Click-to-WhatsApp ad or a Facebook Page button (on a phone) and you reply within 24 hours, everything you send them for the next 72 hours is free, marketing templates included.
- Volume discounts: Meta lowers the price of Utility and Authentication messages as your business portfolio sends more of them in a month, so Meta's invoice can be lower than OmniBrand's estimate.
- Meta groups countries into markets. Some countries have their own price (for example Saudi Arabia, the United Arab Emirates and Egypt); others share a regional price (for example Rest of Middle East). Meta changes its prices a few times a year. On 1 October 2026 Meta gave some markets their own Utility and Authentication prices (Bangladesh, Iraq, Kazakhstan, Kuwait, Morocco, Nepal, Oman, Sri Lanka and Ukraine); nothing changed for service messages or for Utility templates inside the window, which stay free.
The estimated cost before you send
- Build a broadcast in Broadcasts → WhatsApp broadcasts (/app/whatsapp) with New broadcast (WhatsApp broadcasts).
- On the last step, Review, the Estimated cost box under the checklist prices the audience you chose, for the template's category.
- After Create broadcast, the Broadcast created screen shows the Estimated cost again for the recipients who are queued, before you press Start sending.
- Press USD, EUR, GBP, INR, IDR, SAR or AED in the box to see another currency. The currency the box opens in is set by an owner or admin in Settings → General → Currency for WhatsApp message costs (Workspace settings); it is USD until someone changes it.
Reading the estimate
- About ...: the total, when every recipient could be priced.
- At least ... for N priced recipients: some recipients could not be priced (see the next lines); the total counts only the others.
- The line under the total names the template category and the number of recipients, and says the price is per delivered message.
- The table lists each market with Market, Recipients, Price each and Total. A regional market shows the country codes it includes, for example Rest of Middle East (BH, KW).
- Price estimate unavailable for [market] / [category] in [currency] (N recipients): OmniBrand has not entered Meta's official price for that market, category and currency yet. Those recipients are left out of the total. OmniBrand never guesses a price. You can still send; Meta charges its own price. Try another currency with the buttons, or ask OmniBrand support when the price will be added.
- Price estimate unavailable (instead of a total): no recipient could be priced, so there is no total at all.
- N numbers have no recognisable country code and are not counted.: numbers that do not start with a valid international calling code. Correct them in Contacts.
- Meta's prices in force from [date] ([source]).: the date and source of the prices used. When OmniBrand has no Meta price list in the currency you picked, the next line reads Meta's USD prices converted at [rate] on [date].: the estimate uses Meta's official USD prices multiplied by the exchange rate OmniBrand recorded on that date (for example 3.75 Saudi riyals to the dollar), so Meta's own bill can differ slightly.
- Free: Meta does not charge for this category.: shown instead of a total for a category Meta does not charge.
- Estimated Meta charge. Meta bills your WhatsApp Business account directly; OmniBrand adds nothing. sits under the box title. The same line is under every WhatsApp cost in OmniBrand: the simulation, Cost in broadcast results, WhatsApp this month on the dashboard and Message cost on a campaign's Channels tab.
- For Utility templates the box adds the note Utility messages delivered while the customer's 24-hour window is open are free, so the real cost can be lower. The estimate counts every recipient as charged, because it cannot know whose window will be open when the message arrives. For Authentication templates it notes that the higher international price is not included.
- An estimate, not a bill: Meta's invoice can be lower (free windows, and volume discounts for Utility and Authentication).: the real charge depends on how many messages are delivered, on the free windows above and on Meta's volume discounts.
- Meta changed its prices on [date] and some of these prices are older, so this estimate may be out of date. Meta's invoice is what you pay.: some prices in the estimate are from before Meta's latest price change and OmniBrand has not loaded the new ones yet.
Where the prices come from
OmniBrand staff copy Meta's official rate card (the file Meta publishes in USD, SAR, AED and other currencies) into OmniBrand with the date each price takes effect, and update it when Meta changes prices. A new price can be entered before its date; estimates switch to it on that day. The estimate always uses the prices in force today.
Messaging limits and quality
- Meta limits how many different people your business can message with templates outside the 24-hour window in a rolling 24 hours: 250, then 2,000, 10,000, 100,000 and unlimited. The limit is shared by all numbers in the same Meta business portfolio.
- Until Meta has told OmniBrand a number's limit (see Number health below), broadcasts on that number reach at most 250 different people in 24 hours, Meta's lowest limit. OmniBrand counts the people messaged per WhatsApp Business account; when your business portfolio has several accounts, Meta's shared limit can be reached before the count in OmniBrand shows it.
- You move from 250 to 2,000 by completing Meta Business Verification (or by sending 2,000 high-quality templates in 30 days). Above that, Meta raises the limit automatically when quality is good and you used at least half of it in the last 7 days.
- Each number has a quality rating (green, yellow or red) based on how people react to your messages, including blocks and reports. Low quality can pause templates and hold back limit increases.
- Keep Messages per minute moderate and send only to people who opted in.
Number health: your limit and quality in OmniBrand
- Open Broadcasts → WhatsApp broadcasts and press the Number health tab at the top (/app/whatsapp/health). Everyone who can open WhatsApp broadcasts can open it.
- Each connected WhatsApp number has its own card. Under the number's name, Checked [date] says when OmniBrand last asked Meta. OmniBrand checks every number every hour by itself, and the first time you open the tab.
- Press Check now on a card to ask Meta again. It asks at most once a minute per number; pressing it sooner shows the last reading.
- Read the boxes on the card:
- Quality rating: High (green), Medium (yellow), Low (red) or Not rated yet, with what it means. While it is Medium, Meta does not raise your limit.
- Messaging limit: how many different customers you can message first in a rolling 24 hours, for example 2,000 customers / 24 h, or Unlimited. It is shared by every number in your Meta business portfolio.
- Used in the last 24 hours: how many different customers your OmniBrand broadcasts messaged first in the last 24 hours, from all your numbers on the same WhatsApp Business Account, shown as N of your limit with a bar. At 90% it says Close to the limit. Templates sent from the inbox or from other apps are not counted, so the real use can be higher.
- Template quality: how many approved templates are rated high, medium, low or not rated, and how many Meta paused or disabled. Open broadcasts goes to the WhatsApp broadcasts page (/app/whatsapp).
- Sending speed (Meta): Standard, up to 80 messages a second or High, up to 1,000 messages a second.
- Display name: whether Meta approved the name customers see. Declined or Expired must be fixed in WhatsApp Manager → Phone numbers.
- Marketing Messages API: Onboarded, Eligible, terms not accepted, Not eligible or Not reported by Meta. The Optimised delivery (Marketing Messages API) box under the boxes explains it and has the switch (next section).
- Template insights: On or Off. When on, each template's page shows Meta's per-template numbers. An Owner or Admin switches it on with Switch on template insights; it cannot be undone (Broadcast results).
- Paying Meta for WhatsApp (a box under the boxes): whether the number's WhatsApp Business account has a payment method in Meta, its billing currency, and Open Meta Billing Hub (Paying Meta for WhatsApp).
- A red box at the top of a card means Meta disabled the account, scheduled it to be disabled, or restricted it (for example you cannot start conversations, until a date). Open WhatsApp Manager → Account quality to see why and to appeal.
- How the limit goes up, under the cards, lists what raises your limit, with a link to Meta's page.
Optimised delivery (Marketing Messages API)
The Marketing Messages API is Meta's own route for Marketing templates. It uses the same templates, the same opt-in rules and the same per-message marketing price as the normal route (the Cloud API). Meta times and routes each marketing message to reach people when they are most likely to read it, says it delivers more marketing messages to people likely to engage, and shows extra results in WhatsApp Manager. If Meta cannot deliver a message that way, it goes through the normal route by itself, so nobody is left out. Utility and Authentication templates always use the Cloud API.
Each number's card on Number health (/app/whatsapp/health) has an Optimised delivery (Marketing Messages API) box with the status Meta reports:
- Onboarded → Your account is onboarded and the Optimised delivery switch. On (the default): broadcasts whose Delivery route is Automatic (recommended) send this number's Marketing templates through the Marketing Messages API. Off: those broadcasts use the Cloud API for this number; a broadcast set to Marketing Messages API still uses it. Owner, Admin and Editor can change the switch; everyone else sees Only an Owner, Admin or Editor can change this.
- Eligible, terms not accepted (or Not reported by Meta) → How to turn it on (you do this in Meta). Meta asks your business itself to accept its Marketing Messages API terms; OmniBrand cannot accept them for you. A person with full control of your Meta business portfolio does this once:
- Press Open WhatsApp Manager (it opens business.facebook.com/wa/manage/home in a new tab) and pick this number's WhatsApp Business Account.
- Go to Overview, then Alerts, and open the alert about the Marketing Messages API.
- Read Meta's terms and press Accept terms (Meta may call it Get started or Accept).
- Back in OmniBrand, press Check again. The status changes to Onboarded, usually within minutes; OmniBrand also hears it from Meta straight away when Meta sends the update, and checks every hour. What you agree to is between your business and Meta: Meta's Marketing Messages API terms, including Meta optimising delivery and using message activity to do so. The price stays Meta's per-message marketing rate.
- Not eligible → Meta does not offer it to this account yet (it opens up for accounts in good standing, for example after Business Verification). There is nothing to accept until then; OmniBrand checks every hour.
Which broadcasts use it: see Delivery route in WhatsApp broadcasts. The broadcast page shows how many messages went each way and how many Meta billed as Marketing Messages API messages.
Alerts about your number
Owners and admins get a bell notification when a number's quality drops (to Medium or Low), its messaging limit is lowered or raised, Meta declines its display name, or Meta restricts or disables the account. Pressing the notification opens Number health. The hourly check and Meta's own instant updates never send the same alert twice.
If something goes wrong on Number health
- A disconnected number shows This number is disconnected. Reconnect it in Accounts to see its health. with Open Accounts, and under it The readings below are the last known ones, from [date]. They are not updated until you reconnect the number. Each box below has a dashed border and the tag Last known: they are what Meta said before the number was disconnected. Reconnect it (Account health), then press Check now.
- A red box under the number's name means the latest check failed; each box below has a dashed border and the tag Last known, and the line The latest check failed. These are the last known readings, from [date]. says they are what Meta said last time. The red box says why: Meta is limiting how often this number can be read. Try again in a few minutes. or Meta did not answer. Try again in a few minutes. → wait, then press Check now; Meta did not let OmniBrand read this number's health. Reconnect the number on the Accounts page and allow every permission. → press Open Accounts, reconnect the number (Account health), then press Check now; Meta could not return this number's health just now. Try again later; if it keeps failing, contact support. → try later, and if it stays, tell support which number and when (OmniBrand keeps Meta's own error for them); Meta could not be reached for this number: ... → any other reason, written for you (for example a number with no WhatsApp Business Account id stored: reconnect it).
- This number is disconnected → Meta no longer accepts the number's access token (it was changed or expired, or the app was removed in Meta), or the number was disconnected. A check that finds this marks the number as needing a reconnect, Owners and Admins get the bell notification Social account needs reconnecting, and Check now is hidden. Press Open Accounts and reconnect it (/app/channels).
- Not known yet in a box → Meta has not reported that value for this number yet; press Check now later.
- No WhatsApp number connected → connect one (WhatsApp Business).
Good to know
- WhatsApp does not deliver marketing templates to phone numbers from the United States (+1 US numbers), so they are not worth sending there.
- The estimate counts each phone number once, the same way the broadcast does.