This document has been updated to reflect additional changes that will be launching on July 1, 2025. These are described below.

Pricing updates on the WhatsApp Business Platform

In October 2024, we announced updates to pricing on the WhatsApp Business Platform, to be simpler and more consistent with industry practices, encourage higher-quality messaging experiences for people, and better align with value delivered for people and businesses.

  • Effective November 1, 2024Service 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, 2025i> – We lowered recently-introduced rates in 4 of these 7 markets, as part of continued efforts to ensure we price on-par with alternative channels.
  • Effective July 1, 2025
    • We will charge on a per-message basis instead of per-conversation, to simplify our 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 we announced additional updates also launching on July 1, 2025, as part of continued efforts to enable our partners and businesses to get value for utility and authentication messages with simple and rewarding pricing.

  • Effective July 1, 2025Update our utility and authentication rates across several markets as part of continued efforts to ensure we price on-par with alternative channels.
  • Effective July 1, 2025Introduce volume tiers for utility and authentication to incentivize and reward growth on our platform. Businesses can automatically unlock more attractive pricing as they reach higher volume tiers.
  • Effective July 1, 2025Refine our definition of utility, based on user engagement and sentiment, thus shift specific use cases to/from the utility category.

Pricing Explainer

The Pricing Explainer PDF linked below highlights 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.

Pricing Explainer PDF

Note that our Pricing document continues to reflect how we 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 our 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 between you and the user, however, 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 lower

"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

<CONVERSATION_ID>

Version 24.0 and higher:

  • The conversation object will be omitted entirely, unless the webhook is for a free entry point conversation, in which case the value will be unique per free entry point conversation.

Version 23.0 and lower:

  • Value will now be set to a unique ID per-message, instead of per-conversation, unless the webhook is for a free entry point conversation, in which case the value will be unique per free entry point conversation.

<CONVERSATION_CATEGORY>

Not changing.

<CONVERSATION_EXPIRATION_TIMESTAMP>

Not changing.

<IS_BILLABLE?>

Not changing.

However, the billable property will be deprecated in a future versioned release, so we recommend that you start using pricing.type and pricing.category together to determine if a message is billable, and if so, its billing rate.

<PRICING_MODEL>

New "PMP" value. Values can now be:

  • "PMP" — indicates per-message pricing applies.
  • "CBP" — indicates conversation-based pricing applies; will only be set to this value if the webhook is for a message that is part of a free entry point conversation.

<PRICING_TYPE>

New property. Values can be:

  • regular — indicates the message is billable.
  • free_customer_service — indicates the message is free because it was either a utility template message or non-template message sent within a customer service window.
  • free_entry_point — indicates the message is free because it is part of a free-entry point conversation.

<PRICING_CATEGORY>

Values are not changing, but can now be interpreted as follows:

  • authentication — indicates an authentication template message.
  • authentication_international – indicates an authentication template message sent to a WhatsApp user in a country or region that has authentication-international rates.
  • marketing — indicates a marketing template message.
  • utility — indicates a utility template message.
  • service — indicates a non-template message.
  • referral_conversion — indicates the message is part of a free entry point conversation.

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 lower

On-Premises API messages status and pricing notification changes will mirror the Cloud API version 23.0 webhook changes, however, 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

regular

marketing

Marketing

All marketing template messages are billable.

regular

utility

Utility

Utility template messages sent outside of a customer service window are billable.

free_customer_service

utility

n/a

Utility template messages sent inside of a customer service window are free.

free_customer_service

service

n/a

Non-templates messages are free.

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 between 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 lower

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, we are introducing volume tiers for utility and authentication messages to motivate adoption of these use cases on WhatsApp. Businesses can unlock lower 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 our 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 WhatsApp Business Accounts: To determine tiers, we aggregate messages across all of your WhatsApp Business Accounts for each market-category pair (e.g., Brazil-authentication, Brazil-utility, India-authentication, etc.)

Our volume tiers, effective July 1, 2025, are reflected alongside our 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. Our volume tiers, effective July 1, 2025, are reflected alongside our 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": "<LOWER>:<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 lower and upper bounds for the tier specific to the market–cateogry pair (country and pricing_category).

  • <LOWER> – An integer representing the lower bound of the tier (inclusive).
  • <UPPER> – An integer representing the upper bound of the tier (inclusive), or the string MAX.

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 your current volume tier, read the tier, country, and pricing_category values. The tier value's integer (the integer after the colon) tells you your 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, we are updating utility and authentication rates in select markets as part of continued efforts to ensure we price on-par with alternate channels, to motivate adoption of these use cases on WhatsApp.

Our rates, effective July 1, 2025

To understand what rates we are updating effective July 1, 2025, this following CSV highlights the % change vs. our current rates, across rate cards.

Percentage change vs. current rates CSV

Our current rate cards, effective until June 30, 2025, remain available here.

Updates to template category guidelines

Effective July 1, 2025, we are updating our 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, we will:

  • Categorize newly-created templates per our updated definition of utility.
  • Update any approved templates to their respective category (utility or marketing), based on our 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 below reflects these new utility guidelines, and highlights all current template category guidelines across all message template categories.

Template Category Explainer PDF

Note that our Template Categorization document continues to reflect our 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 between you and a WhatsApp user before you can send the user a non-template message.

Free service conversation example

  • Hour 0: a WhatsApp user messages you outside of your business hours. This opens a customer service window, so you are now able to send any type of message to the user for 24 hours, not just template messages ("type":"template")
  • Hour 0: your 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
  • Hour 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 lower


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 either FREE_TIER (conversations opened before the 1K free tier limit was reached) or REGULAR (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 as REGULAR.
  • Data after this date can include conversation_types with either value as well, but REGULAR will be zero (0), since all service conversations are now free and identified as FREE_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 hours. If you respond, a 72 hour 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 hours 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).

We 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.

Complete timeline

October 10, 2024

  • Emails announcing our pricing update and details about the update are sent and specify if you are in the Phase 1 or Phase 2 group of the per-message pricing rollout.

November 1, 2024

  • Service conversations are now free for all businesses on our platform.
  • Utility conversation rate is now lower for the "Rest of Africa" region. See Rate Cards above for this rate.

January 1, 2025

  • We count the number of authentication conversations you open with WhatsApp users across India, Indonesia and the seven additional markets when determining your eligibility for authentication-international rates.

January 7, 2025

  • A new version of On-Premises API is available. If you are an On-Premises API user, we recommend that you update to this version before July 1, 2025. If you do not upgrade to this version on or before July 1, 2025, any messages webhooks that include pricing information will have a pricing_model value of PMP instead of CBP, and conversation objects will have inaccurate data.

February 1, 2025

April 1, 2025

  • Lower international-authentication rates now apply for Egypt, Nigeria, Pakistan and South Africa.

July 1, 2025

  • Per-messaging pricing now applies to businesses.
  • Utility templates sent within an open customer service window are free for all businesses.
  • The pricing_analytics field is now available to all businesses.
  • Authentication-international eligibility is now counted using messages sent instead of conversations opened for all businesses.
  • Authentication-international rates now apply per-message (instead of per-conversation) for all businesses.
  • For Cloud API version 23.0 and lower, id will be set to a unique ID per-message, instead of per-conversation, in status messages webhooks, unless the webhook is for a free entry point conversation message.
  • For Cloud API version 24.0 and higher, the conversation object will only be included in status messages webhooks for messages that are part of a free entry point conversation.
  • Updated rates for utility and authentication apply.
  • New volume tiers apply, for utility and authentication messages.
  • Updated template category guidelines apply; newly-created templates are categorized per these guidelines, and any approved templates are updated to align to these guidelines.

Late October or early November, 2025

  • For Graph API version 25.0 (available late October or early November, 2025) or higher, conversation analytics requests, the conversation_analytics field will return an error.

Document changelog

May 22, 2025:

  • Clarified that utility templates sent within open customer service windows do not count towards volume tiers.

May 19, 2025:

May 15, 2025:

May 12, 2025:

April 18, 2025:

April 1, 2025:

  • Removed temporary rate cards that reflected lower authentication-international rates for Egypt, Nigeria, Pakistan and South Africa and updated text to link to the main pricing rate, which now include these lower rates.

March 27, 2025:

  • Added information card announcing reduction in international-authentication rates for Egypt, Nigeria, Pakistan and South Africa.
  • Add April 1, 2025 to complete timeline, announcing reduction in international-authentication rates for Egypt, Nigeria, Pakistan and South Africa.

March 6, 2025:

  • Removed references to phased rollout for per-message pricing.
  • Added a new, single rollout date of July 1, 2025 for per-message pricing and updated the launch date for free utility messages within a customer service window from April 1, 2025 to July 1, 2025.
  • Changed pricing.type property in Cloud API and On-Premises API availability date to July 1, 2025.
  • Changed pricing_model new "PMP" value availability date to July 1, 2025.

February 25, 2025:

  • Changed date for Phase 1 group start date, as well as all dependent webhook, pricing analytics, and authentication-international eligibility and rates from April 1, 2025, to May 1, 2025.

December 20, 2024:

October 31, 2024:

October 28, 2024: