The pricing model is based on conversations, so instead of being charged for notifications sent, businesses pay per conversation, which includes all messages interchanged within a 24-hour period.
There is a conversation object on the webhook, as well as a pricing and an origin object. These indicate the conversation ID, how it was initiated and the pricing schema that is applied.
How It Works
There are two types of conversations on the WhatsApp Business API, each with different rates:
User-initiated: A conversation that initiates in response to a user message. Any time a business replies to a user within the 24-hour customer service window, that message will be associated with a user-initiated conversation.
Business-initiated: A conversation that initiates from a business sending a user a message outside the 24-hour customer service window.
The conversation starts when the first business message in a conversation is delivered. However, the conversation type will be defined once a message has been sent by the business.
All conversations are measured in 24-hour increments or “sessions”, as we’ll refer to them here. A session starts whenever the first message is sent by a business, either in response to a user inquiry or if a business-initiated message template is delivered.
The policy requires the use of a template message whenever sending a message to a user more than 24 hours after their last message. So, a new session begins.
If you send a free-form message outside the customer support window, you are not following the policy, so the delivery of this message will fail. However, it opens a business-initiated conversation that might be charged.
If the user sends a message back (replies) within 24 hours of the failed delivery, this conversation will be charged as business-initiated. Because, although the free-form message was not delivered, it was sent by the business.
Charges for conversations are based on the user’s phone number. Rates for business-initiated conversations and user-initiated conversations vary by market (country or region). See Rates for specific pricing information.
Free Tier Conversations
The first 1,000 conversations (per WABA) each month will be free, so the charges will only start on conversation number 1001. Free tier conversations can be business-initiated or user-initiated.
Free Entry Points Conversations
Conversations will not be charged when users message businesses using call-to-actions buttons on Ads that click to WhatsApp or a Facebook Page CTA. Free entry point conversations can only be user-initiated. Only the first conversation that starts from the entry point is free of charge. Subsequent conversations with the user are charged.
Standard pricing will apply for Ads that Click to WhatsApp. The conversation that initiates from the ad is free, but not the ad itself.
API usage and webhooks
With the new pricing being implemented, nothing changes when sending messages and templates. There will be new information available in the webhook: a new conversation object as well as a pricing and an origin object. These will then indicate the conversation ID, how it was initiated and the pricing schema that will be applied.
See the below link for the official Facebook documentation on the Topic.
Conversation-Based Pricing - WhatsApp Business Platform - Documentation - Facebook for Developers
Facebook for Developers
FAQ - Conversations
Q: Am I charged and then reimbursed for the first 1000 conversations per WABA?
No. You are not charged for the first 1000 conversations. The first charge will be for the 1001 st conversation.
Q: Where can I see the total costs for my conversations?
For owned WABAs (if you onboarded with the Embedded Signup process) you can view the following metrics are available in the Insights tab of your WhatsApp Manager:
Messages sent: The number of messages sent from the selected phone number(s). This is different from messages delivered, which only count messages that were confirmed as being delivered to the recipient.
Messages delivered: The number of messages that your recipients received that were sent and delivered from the selected phone number(s). This only counts messages that were confirmed as being delivered to the recipient.
Messages received: The number of messages that the selected phone number(s) received from recipients.
Amount spent: The estimated total amount of money you've spent on messages delivered from the selected phone number(s). This metric is an estimate.
You can export these metrics from the Insights tab by phone number, country and message type.