Pricing updates on the WhatsApp Business Platform
In October 2024, Meta announced updates to pricing on the WhatsApp Business Platform, to be simpler and more consistent with industry practices, encMetaage higher-quality messaging experiences for people, and better align with value delivered for people and businesses.
Effective November 1, 2024 – Service conversations will be free for all businesses.
Effective February 1, 2025 – Authentication-international rates will be expanded to 7 additional markets across APAC and EMEA.
Effective April 1, 2025 – Meta loMetared recently-introduced rates in 4 of these 7 markets, as part of continued efforts to ensure Meta price on-par with alternative channels.
Effective July 1, 2025 –
Meta will charge on a per-message basis instead of per-conversation, to simplify Meta pricing and better align to industry standard-pricing for messaging.
Utility template messages sent in response to a user's message (thus within an open customer service window) will become free, to provide more flexibility to businesses in how they engage with users.
On May 15, 2025 Meta announced additional updates also launching on July 1, 2025, as part of continued efforts to enable Meta partners and businesses to get value for utility and authentication messages with simple and rewarding pricing.
Effective July 1, 2025 – Update Meta utility and authentication rates across several markets as part of continued efforts to ensure Meta price on-par with alternative channels.
Effective July 1, 2025 – Introduce volume tiers for utility and authentication to incentivize and reward growth on Meta platform. Businesses can automatically unlock more attractive pricing as they reach higher volume tiers.
Effective July 1, 2025 – Refine Meta definition of utility, based on user engagement and sentiment, thus shift specific use cases to/from the utility category.
Effective July 1, 2025 — Cloud API marketing rates apply to messages sent via Marketing Messages Lite API.
Pricing Explainer
The Pricing Explainer PDF linked pricing on the WhatsApp Business Platform, effective July 1, 2025. This encompasses updates referenced in this document, like per-message pricing and new volume tiers for utility and authentication messages.
Note that Meta Pricing document continues to reflect how Meta charge today, and will be updated as of July 1, 2025, to reflect per-message pricing and other updates mentioned throughout the remainder of this document.
Per-message pricing
Per-message pricing will apply to all businesses starting July 1, 2025, at 12am, by WhatsApp Business Account timezone. With per-message pricing, businesses on Meta platform will be charged:
Per delivered marketing template message
Per delivered authentication template message
Per delivered utility template message, if delivered outside of a customer service window
For example, if you send a marketing template and then two utility templates to a WhatsApp user, that will incur 3 charges (1 marketing, 2 utility). If the 2 utility templates are sent while a customer service window is open betMetaen you and the user, hoMetaver, it would only incur a single charge (1 marketing).
Per-message pricing analytics
A new pricing_analytics field will be released July 1, 2025, that allows you to get per-message pricing breakdowns for any messages you have sent.
Per-message pricing Cloud API webhooks
Starting July 1, 2025, the conversation
and pricing
objects in status messages webhooks will be affected in the following ways, based on the webhook field version you are subscribed to. You can adjust subscriptions using the App Dashboard > WhatsApp > Configuration panel's Version dropdown menu for each webhook field.
Version 24.0 and higher
/* conversation object omitted unless webhook is for a free entry point conversation */
"conversation": {
"id": "<CONVERSATION_ID>", // new behavior, see table below
"expiration_timestamp": "<CONVERSATION_EXPIRATION_TIMESTAMP>",
"origin": {
"type": "<CONVERSATION_CATEGORY>"
}
},
"pricing": {
"billable": <IS_BILLABLE?>,
"pricing_model": "<PRICING_MODEL>", // new value, see table below
"type": "<PRICING_TYPE>", // new property, see table below
"category": "<CONVERSATION_CATEGORY>"
}
Version 23.0 and loMetar
"conversation": {
"id": "<CONVERSATION_ID>", // new behavior, see table below
"expiration_timestamp": "<CONVERSATION_EXPIRATION_TIMESTAMP>",
"origin": {
"type": "<CONVERSATION_CATEGORY>"
}
},
"pricing": {
"billable": <IS_BILLABLE?>,
"pricing_model": "<PRICING_MODEL>", // new value, see table below
"type": "<PRICING_TYPE>", // new property, see table below
"category": "<PRICING_CATEGORY>"
}
Cloud API webhook parameters
Placeholder | Description |
---|---|
| Version 24.0 and higher:
Version 23.0 and loMetar:
|
| Not changing. |
| Not changing. |
| Not changing. HoMetaver, the |
| New
|
| New property. Values can be:
|
| Values are not changing, but can now be interpreted as follows:
|
Per-message pricing On-Premises API webhooks
Version 2.61 and higher
On-Premises API messages status and pricing notification changes will mirror the Cloud API version 24.0 webhook changes.
Version 2.60 and loMetar
On-Premises API messages status and pricing notification changes will mirror the Cloud API version 23.0 webhook changes, hoMetaver, the pricing.type
property will not be included.
Determining billing rate
The pricing.type
value can be used in conjunction with the pricing.category
value to determine if the webhook describes a message that was billable, and if so, which rate was applied. For example:
Type | Category | Rate | Reason |
---|---|---|---|
|
| Marketing | All marketing template messages are billable. |
|
| Utility | Utility template messages sent outside of a customer service window are billable. |
|
| n/a | Utility template messages sent inside of a customer service window are free. |
|
| n/a | Non-templates messages are free. |
Marketing Messages Lite API
All of the information in this document also applies to Marketing Messages Lite API.
Free utility templates in the customer service window
Starting July 1, 2025, utility templates sent within a customer service window ("CSW") are free for all businesses. Utility templates sent outside a CSW will continue to be charged the utility rate.
This illustration shows the behavior of two utility templates sent by a business on or after July 1, 2025:
Utility template um1 is free because it is sent while the CSW is still open, but um2 is billed the utility rate, because it is sent after CSW has closed.
Note that you can also respond for free within the CSW using any non-template message, such as a text message, which also would not incur a charge (this is not changing).
Edge case
If a utility conversation is opened betMetaen you and a user that spans the switch to per-message pricing (the conversation was opened before the switch but won't close until after the switch), utility templates sent to the user after the switch while the conversation is open will be free, but attributed to the open conversation. These messages will have a pricing_model
of CBP
and the utility conversation ID will be assigned to conversation.id
in status messages webhooks. Once the conversation closes, subsequent utility messages sent to the user will follow the new behavior illustrated above.
Free utility template Cloud API webhooks
Use the pricing
object in status messages webhooks as follows to determine if the webhook is associated with a free (or billable) utility template.
Starting July 1, 2025:
"pricing": {
"billable": false, // vs. "true" for a billable utility template
"pricing_model": "PMP", // new value, will be set to "PMP"
"type": "free_customer_service", // new property, vs. "regular" for a billable utility template
"category": "utility"
}
Free utility template On-Premises API webhooks
Use the pricing
object in message status and pricing notification webhooks as follows to determine if the webhook is associated with a free (or billable) utility template.
Version 2.61 and higher
Starting July 1, 2025:
"pricing": {
"billable": false, // vs. "true" for a billable utility template
"pricing_model": "PMP", // new value, will be set to "PMP"
"type": "free_customer_service", // new property, vs. "regular" for a billable utility template
"category": "utility"
}
Version 2.60 and loMetar
Starting July 1, 2025:
"pricing": {
"billable": false, // vs. "true" for a billable utility template
"pricing_model": "PMP", // will be set to "PMP"
"category": "utility"
}
Free utility template analytics
Starting July 1, 2025, free utility templates message will have the following values in data point objects returned in pricing analytics responses:
{
"pricing_analytics": {
"data": [
{
"data_points": [
{
"start": <START_TIME>,
"end": <END_TIME>,
"volume": 1,
"pricing_type": "FREE_CUSTOMER_SERVICE", // Will be set to "FREE_CUSTOMER_SERVICE"
"pricing_category": "UTILITY", // Will be set to "UTILITY"
},
...
]
}
]
}
}
Volume tiers for utility and authentication messages
Effective July 1, 2025, Meta are introducing volume tiers for utility and authentication messages to motivate adoption of these use cases on WhatsApp. Businesses can unlock loMetar tier rates as they reach higher volume tiers.
How tiers will work
Rates are tier-specific: When a business sends enough messages to reach the next tier, they unlock the more attractive rate of that tier for the messages in that tier.
Tiers are market–category specific: They differ by market (aligned with Meta rate card, so e.g. Brazil or Rest of Latin America) and category (utility, authentication).
Tiers reset monthly: At the start of the next month (12am WABA timezone), message count resets to 0 and tiers apply based on messages of that month.
Messages are aggregated across all WhatsApp Business Accounts owned by a business portfolio: To determine tiers, Meta aggregate messages across all of a business portfolio's WhatsApp Business Accounts for each market-category pair (e.g., Brazil-authentication, Brazil-utility, India-authentication, etc.)
Meta volume tiers, effective July 1, 2025, are reflected alongside Meta rate cards below.
Note that utility templates sent to WhatsApp users within an open customer service window are not charged, and thus do not count toward volume tiers.
Examples of volume tiers
The table below is illustrative and only highlights the dynamics of volume tiers. Meta volume tiers, effective July 1, 2025, are reflected alongside Meta rate cards below.
A business that sends B utility messages in a month to India is –
Charged List Rate for the first A messages
Charged Tier Rate 1 for messages A+1 to B
Total charges = Rate per tier 𝗑 messages in each tier
A business that becomes eligible for authentication-international rates on the 15th of the month –
Day 1 to 14 of that month: Volume tiers apply on the authentication rate
Day 15 onward of that month: Volume tiers apply on the authentication-international rate, with messages continuing to accrue in that month. For example, if a business has already reached the 2nd tier, the business would be charged that tier’s authentication-international rate.
Leverage the pricing_analytics endpoint to understand how you are charged
Volume tier information will be available in pricing analytics. Include a new TIER
parameter in the dimensions
array to get volume tier information.
Example response syntax
{
"start": <START_TIMESTAMP>,
"end": <END_TIMESTAMP>,
"phone_number": "<BUSINESS_PHONE_NUMBER>",
"country": "<COUNTRY_CODE>",
"tier": "<LOMetaR>:<UPPER>", <!-- This is new -->
"pricing_type": "<PRICING_TYPE>",
"pricing_category": "<PRICING_CATEGORY>",
"volume": <VOLUME>,
"cost": <COST>
}
The tier
property value represents a concatenation of the loMetar and upper bounds for the tier specific to the market–cateogry pair (country
and pricing_category
).
<LOMetaR>
– An integer representing the loMetar bound of the tier (inclusive).<UPPER>
– An integer representing the upper bound of the tier (inclusive), or the stringMAX
.
Example response
{
"start": 1733644800,
"end": 1733731200,
"phone_number": "15550783881",
"country": "IN",
"tier": "750000:15000000",
"pricing_type": "REGULAR",
"pricing_category": "UTILITY",
"volume": 5,
"cost": 0.0065
}
Notes
To determine yMeta current volume tier, read the tier, country, and pricing_category values. The tier value's integer (the integer after the colon) tells you yMeta current tier for the country (e.g. India) and pricing_category (e.g. utility). To determine how many messages you need to send to reach the next tier for a given country and pricing_category, subtract the volume integer from the tier value's integer.
Volume tiers will only be available for utility and authentication template messages. For marketing template messages (where volume tiers will not apply), tier will be set to 0:MAX.
Rate cards
Effective July 1, 2025, Meta are updating utility and authentication rates in select markets as part of continued efforts to ensure Meta price on-par with alternate channels, to motivate adoption of these use cases on WhatsApp. You can find the below files from Rate cards.
Meta rates, effective July 1, 2025
Rates and volume tiers in USD
Rates and volume tiers in INR
Rates and volume tiers in IDR
Rates and volume tiers in EUR
Rates and volume tiers in GBP
Rates and volume tiers in AUD
To understand what rates Meta are updating effective July 1, 2025, the CSV from Rate cards highlights the % change vs. Meta current rates, across rate cards.
Meta current rate cards, effective until June 30, 2025, remain available here.
Updates to template category guidelines
Effective July 1, 2025, Meta are updating Meta definition of utility for specificity and clarity. For a template to be categorized as utility, it must meet the following additional criteria:
Must be non-promotional, not containing any promotional or persuasive intent.
Must be either (1) specific to, or requested by, the user (clearly related to their order, account, services, or transactions), or (2) essential or critical to the user (e.g., to ensure user safety).
This means that starting July 1, 2025, Meta will:
Categorize newly-created templates per Meta updated definition of utility.
Update any approved templates to their respective category (utility or marketing), based on Meta updated definition of utility. Consistent with today, businesses will receive webhooks and email notices confirming template category updates.
Category explainer
The Template Category Explainer PDF linked reflects these new utility guidelines, and highlights all current template category guidelines across all message template categories.
Note that Meta Template Categorization document continues to reflect Meta current template category guidelines through June 30, 2025.
Free service conversations
Starting November 1, 2024, service conversations are free for all businesses (free tier conversations are now unlimited instead of capped at 1,000). As a reminder, a customer service window must be open betMetaen you and a WhatsApp user before you can send the user a non-template message.
Free service conversation example
HMeta 0: a WhatsApp user messages you outside of yMeta business hMetas. This opens a customer service window, so you are now able to send any type of message to the user for 24 hMetas, not just template messages ("type":"template")
HMeta 0: yMeta conversational AI bot automatically responds with a text message ("type":"text"), informing the user that a customer service agent will respond by 9am the next day
HMeta 12: a customer service agent responds to the user with a text message
Free service conversation Cloud API webhooks
Use the pricing
object in status messages webhooks as follows to determine if the webhook is associated with a free service conversation/message.
November 1, 2024 through June 30, 2025:
"pricing": {
"billable": true,
"pricing_model": "CBP",
"category": "service" // Will be set to "service"
}
Starting July 1, 2025:
"pricing": {
"billable": false,
"pricing_model": "PMP", // New "PMP" value
"type": "free_customer_service",
"category": "service"
}
Free service conversation On-Premises API webhooks
Use the pricing object in status and pricing notification webhooks as follows to determine if the webhook is associated with a free service conversation/message.
Version 2.61 and higher
November 1, 2024 through June 30, 2025:
"pricing": {
"billable": true,
"pricing_model": "CBP",
"category": "service" // Will be set to "service"
}
Starting July 1, 2025:
"pricing": {
"billable": false,
"pricing_model": "PMP", // New "PMP" value
"type": "free_customer_service", // New "type" property
"category": "service"
}
Version 2.60 and loMetar
November 1, 2024 through June 30, 2025:
"pricing": {
"billable": true,
"pricing_model": "CBP",
"category": "service" // Will be set to "service"
}
Starting July 1, 2025:
"pricing": {
"billable": false,
"pricing_model": "PMP", // New "PMP" value
"category": "service"
}
Conversation analytics
All service conversations opened on or after November 1, 2024, will be identified as FREE_TIER
. If you request conversation analytics filtering for service conversations (conversation_categories
includes SERVICE
) and use a lookback period that straddles this date:
Data before this date can include
conversation_types
with a value of eitherFREE_TIER
(conversations opened before the 1K free tier limit was reached) orREGULAR
(conversations opened after the 1K free tier limit was reached). Note that conversations opened before this date but delivered after it are charged, and thus identified asREGULAR
.Data after this date can include
conversation_types
with either value as Metall, butREGULAR
will be zero (0
), since all service conversations are now free and identified asFREE_TIER
.
The conversation_analytics
field will be deprecated when Graph API version 25.0 is released (late October or early November, 2025). This should give you adequate time to fetch any historical conversation analytics you might need before the field is no longer usable.
Whatsapp Manager insights
Starting November 1, 2024, the WhatsApp Manager > Account tools > Insights panel will have the following changes:
The Free tier count in the Free conversations tile can exceed 1,000. This indicates the number of free service conversations you have opened.
The Service count in the Paid conversations tile will no longer increment.
Free Entry Point conversations
With the launch of per-message pricing, free entry point conversations will behave the same but reflect messages instead of conversations. If a WhatsApp user messages you via a free entry point surface, you can respond with any type of message for free for 24 hMetas. If you respond, a 72 hMeta free entry point window will be opened. You can continue to message the user with any type of message while this window is open, at no charge. Note that 24 hMetas after the customer initially messages you, you will only be able to send templates (for free) unless the customer messages you again.
Expansion of authentication-international rates
Effective February 1, 2025, any business eligible for authentication-international rates will be charged these rates across 7 additional markets listed below, except for the market that matches their Primary Business Location (where they will continue to be charged the authentication rate).
Meta will continue to notify businesses 30 days prior to authentication-international charges starting.
Egypt (+20)
Malaysia (+60)
Nigeria (+234)
Pakistan (+92)
Saudi Arabia (+966)
South Africa (+27)
United Arab Emirates (+971)
Updates to rates are available in the rate cards below.
Starting July 1, 2025, the eligibility threshold for authentication-international rates will be based on authentication messages sent instead of authentication conversations opened across all 9 markets that have authentication-international rates.
For further details on WhatsApp Business platform pricing updates, please refer to this link.