Home/Help Center/Meta billing

Meta account and verification

How Meta Bills Message Charges and How to See Them

How Meta's per-message conversation pricing actually works, what is free versus charged, and where to see your real costs before and after sending.

By Chirag Darji · Updated 27 Aug 2026 · 8 min read

On this page
  1. Before you start
  2. Steps
  3. What does an actual India-market example look like?
  4. Why does VGraple CRM keep these as two separate bills instead of one?
  5. What you will see
  6. Settings and options
  7. Troubleshooting
  8. Related reading
WhatsApp broadcast campaign report in VGraple CRM with delivered, read and replied stats per contact

Meta bills WhatsApp conversation charges directly to your own Meta Business Manager's payment method, at its own published per-message rates by recipient country and message category, with VGraple CRM adding no markup on top; the only charge from VGraple CRM itself is your monthly plan. Since 1 July 2025, pricing is per delivered message rather than per 24-hour conversation window, and VGraple CRM shows the real cost before you send, not just after Meta's invoice arrives.

Meta billing

  1. 1Open the broadcast composer and reach the
  2. 2Read the cost estimate
  3. 3Note what is excluded from the estimate
  4. 4Check whether the send is inside an
  5. 5See Meta's actual invoice for full detail
The steps on this page, in order.

Before you start

  • Understand the two separate bills: your VGraple CRM plan (Free through Scale, covering the software, agent seats, contacts and conversation volume) and Meta's own conversation charges (billed by Meta, to Meta, for the actual messages sent). They are unrelated line items from two different companies.
  • Know that pricing is per delivered message, by category (Marketing, Utility, Authentication) and by the recipient's country, not a flat global rate. See template categories and pricing for how a template's category is decided.
  • If you want to see Meta's own itemized billing (not just VGraple CRM's estimate), that lives in Meta Business Manager's billing section, not inside VGraple CRM.

Steps

New broadcast composer in VGraple CRM: audience selection with segment, tag and CSV options and a live recipient count

Seeing the estimated cost before you send

  1. Open the broadcast composer and reach the Review and Send step. Go to Broadcasts, then New broadcast, build the audience and message, and continue to the final step before sending.

  2. Read the cost estimate. VGraple CRM calculates the per-recipient price from the template's category and each recipient's country code, then totals it for the whole audience, shown in INR alongside the recipient count and remaining daily headroom.

  3. Note what is excluded from the estimate. Suppressed recipients (opted out, blocked, over a frequency cap, a US number during Meta's marketing pause) are excluded from the projected total, since Meta never charges for a message it does not deliver.

Understanding what is free versus charged

  1. Check whether the send is inside an open service window. A reply to a customer who messaged your business in the last 24 hours is free for Utility-category content sent back to them; a Marketing template is charged even inside that window, since Meta's exemption is category-specific, not window-specific across the board.

Meta policy

Meta's per-message pricing, live since 1 July 2025, charges only on actual delivery. Marketing messages are always charged, with no volume-tier discount regardless of send count. Utility and Authentication messages are charged outside the 24-hour service window and free inside it; both carry monthly volume tiers Meta applies per market and category that Marketing pricing does not have. A message sent through a qualifying free-entry-point conversation (for example, a WhatsApp click-to-message ad) can carry its own separate 72-hour free window under Meta's rules.

  1. See Meta's actual invoice for full detail. VGraple CRM's estimate is a projection at send time; Meta's own billing section in Business Manager shows the definitive, itemized charge after delivery, including any rate changes that took effect between your estimate and the actual send.

What does an actual India-market example look like?

Meta's published India rates, current at time of writing, illustrate how much category matters more than volume for cost.

CategoryApproximate rate per message (India)Example: 5,000 recipients
MarketingRoughly Rs 0.86Roughly Rs 4,300
Utility (outside the service window)Roughly Rs 0.12Roughly Rs 600
Authentication (outside the service window)Roughly Rs 0.12Roughly Rs 600
Utility inside an open 24-hour service windowFreeRs 0

Example

A clinic sends the same 5,000-recipient list two different templates on two different days: a Marketing promotional offer, and a Utility appointment-reminder update. Even though the recipient count and delivery rate are identical, the Marketing send costs roughly seven times more per message than the Utility one, purely because of category, not because Meta treats the clinic differently. This is exactly why the composer shows category and country before every send, rather than a single blended number.

Rates change periodically (Meta has updated its rate cards multiple times through 2025 and 2026) and vary by recipient country; the figures above illustrate the category gap, not a guaranteed current price. The composer's cost estimate always reflects VGraple CRM's currently loaded rate card, which is kept in step with Meta's published updates.

Why does VGraple CRM keep these as two separate bills instead of one?

Folding Meta's per-message charges into VGraple CRM's own invoice, with a markup added on top, is a common pattern among WhatsApp platforms, and it is deliberately not how VGraple CRM operates. Keeping the two bills separate means you always see Meta's real rate, in Meta's own billing section, rather than a bundled number that could hide a markup you have no way to verify. It also means a rate change Meta makes (as it has done several times through 2025 and 2026) reaches your invoice exactly as Meta published it, the same day it takes effect on Meta's side, rather than waiting for VGraple CRM to update a bundled price.

What you will see

The broadcast composer shows an estimate before you send and does not attempt to reconcile it against Meta's actual invoice afterward, since VGraple CRM does not itself hold or process the payment; that reconciliation happens on Meta's own billing statement. Analytics for a completed campaign show the estimated cost against the delivered count, useful for tracking spend trends over time, but the authoritative number for accounting purposes is always Meta's own invoice.

Settings and options

Setting or fieldWhat it doesDefault
Cost estimate (composer)Per-recipient and total projected charge, by country and categoryShown automatically at Review and Send, before every broadcast
Suppressed recipient exclusionRemoves contacts VGraple CRM will not attempt to send to from the cost projectionAutomatic
CurrencyINR for India-billed accountsMatches Meta's own billing currency since 1 January 2026
Rate cardThe per-country, per-category price table used for estimatesUpdated by VGraple CRM as Meta publishes new rates

Troubleshooting

SymptomLikely causeFix
Estimated cost looks higher than expectedThe audience includes more Marketing-category recipients than assumed, or a country with a higher published rateCheck the audience's country mix and the template's actual category before sending
Meta's invoice does not match VGraple CRM's estimate exactlyA rate change took effect between the estimate and the actual send, or a small share of numbers have an ambiguous country codeExpect small variance; a large or systematic mismatch is worth checking against the template's actual approved category
A reply inside the service window still shows a charge on Meta's invoiceThe reply used a Marketing-category template, which is charged regardless of the window, or the window had already closedCheck the template's category and the exact time of the customer's last inbound message
Suppressed recipients still appearing to cost money in analyticsAnalytics is showing the pre-send estimate for the full intended audience, not the delivered-only actual costCheck the delivered count specifically; suppressed rows are excluded from what Meta actually billed
Cannot find Meta's own itemized billLooking in VGraple CRM instead of Meta Business ManagerMeta's billing section lives in Business Manager, under the WhatsApp Business Account's own settings, separate from VGraple CRM entirely

For the composer's full cost and test-send workflow, see cost estimate and test send before launch. For how a template's category determines its rate, see template categories and pricing, and for the broader billing relationship between you, VGraple CRM and Meta, see Tech Provider vs BSP.

Frequently asked questions

Who actually charges me for WhatsApp messages, VGraple CRM or Meta?
Meta charges you directly, billed to the payment method on your own Meta Business Manager, at Meta's published per-message rates for the recipient's country. VGraple CRM adds no markup on top; the only thing VGraple CRM itself charges is your monthly plan.
When is a WhatsApp message free, and when does it cost money?
A reply from your business to a customer inside the 24-hour service window they opened by messaging you first is free for Utility-category content; Marketing messages are charged regardless of the window. Any business-initiated template message, sent to start or restart a conversation, is charged at Meta's rate for that message's category and the recipient's country, since 1 July 2025 when Meta moved to per-message pricing.
Where do I see the actual cost before I send a broadcast?
The broadcast composer's Review and Send step shows the per-recipient cost and the total estimated charge for the campaign, calculated from the recipient's country and the template's category, before the send button unlocks.
Are utility and authentication messages cheaper than marketing ones?
Yes, substantially, and utility and authentication rates also carry monthly volume tiers Meta applies per market and category; marketing rates do not have volume tiers at all, so cost per marketing message stays flat regardless of how many you send.
Does a suppressed or failed message get billed?
No. Meta only charges for a message it actually delivers. A recipient VGraple CRM suppresses before attempting the send (opted out, blocked, US marketing pause, and so on) is never billed, and a send that fails outright at Meta is not billed either.
Why did my invoice from Meta look different from what VGraple CRM estimated?
The composer's estimate uses the rate card active at compose time and the country detected from the recipient's number; a rate change effective between your estimate and the actual send, or a small share of numbers whose country cannot be determined precisely, can cause a small variance. It should never be a large or systematic difference.
What currency does Meta bill me in?
Meta bills India-based businesses in INR directly, in effect since 1 January 2026. VGraple CRM's own cost estimates are shown in INR to match.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.