WhatsApp Message Markup: The Platform's Hidden Cost
WhatsApp message markup can cost you R$ 20,000/year without appearing on your invoice. Learn how to audit and identify transparent platforms.
by Cleverson Gouvêa

Grab a recent invoice from your WhatsApp platform and answer without consulting anyone: how much does Meta charge per marketing message and how much is your platform pocketing on top? If the answer was "no idea," you're not alone — and you're probably paying 30% to 70% more than you need to because of message markup that nobody tells you about. This is the most common hidden cost in the Brazilian WhatsApp platform market, and most clients only discover message markup when they switch providers and see their bill cut in half.
In this post, I'll show you how Meta's official pricing works, how to find hidden message markup on your invoice, how much it costs per year for real companies, and what to ask your current provider to end the opacity.
TL;DR
- Meta charges the company that operates the number directly (not the intermediary platform) — so passing through without message markup is technically possible.
- Platforms inflate costs in 3 ways: direct message markup, biased currency conversion, or message packages with unusable credits.
- For a typical operation with 5,000 marketing messages/month, hidden message markup becomes R$ 6,000 to R$ 18,000 per year invisible on the bill.
- Audit takes 15 minutes: compare your invoice with Meta's official table and ask your provider the applied rate.
How Meta's Official Pricing Works
Meta charges per message using the "conversational pricing" model (in effect since 2023, with adjustments in 2024 and 2026). The 4 categories and what each means:
| Category | Who Initiates | Price (USD) | Approximate Price (BRL) | Note |
|---|---|---|---|---|
| Marketing | Business | $0.0625 | ~R$ 0.31 | Campaigns, offers, news |
| Utility | Business | $0.0180 | ~R$ 0.09 | Order notification, reminder — free within 24h window |
| Authentication | Business | $0.0225 | ~R$ 0.11 | OTP, verification code |
| Service | Customer | Free | R$ 0.00 | Reply to those who contacted you — unlimited |
Reference exchange rate R$ 5.00/USD. Meta charges in USD, adjustable by the daily rate, with a monthly invoice directly to the card or account linked to Business Manager.
The critical point: the charge is direct from Meta to the company that owns the number, not to the intermediary platform. The platform is just the inbox/CRM software that consumes the API. In other words, technically nothing prevents the platform from charging only the software subscription and passing through 100% of Meta's fees without message markup. But the market doesn't work that way by default.
The 3 Ways Message Markup Appears (and Disappears) on Your Invoice
Form 1 — Direct Markup per Message
The platform says "we facilitate payment, you pay us in reais and we pass it on to Meta." Then it charges, for example, R$ 0.42 per marketing message, while Meta charges R$ 0.31. The R$ 0.11 difference (35% message markup) disappears on the invoice — it just shows up as "usage fee" or "messages sent."
Practical example: 5,000 marketing msgs/month × R$ 0.11 message markup = R$ 550/month = R$ 6,600/year that the platform earns without you noticing.
Form 2 — Inflated Currency Conversion
Meta's table is in USD. The platform charges in BRL using an artificial rate (R$ 6.00/USD when the day's exchange rate is R$ 5.00, for example). It's message markup disguised as a "currency fee." Since the exchange rate legitimately fluctuates, it's hard for the client to prove they're paying more than they should.
Example: $0.0625 at real exchange rate R$ 5.00 = R$ 0.31. At the "platform" rate R$ 6.00 = R$ 0.38. Invisible markup of 22%.
Form 3 — Packages with Unusable Credits
The platform sells "message packages" — for example, R$ 500 for 1,000 messages, giving a false sense of a fixed rate (R$ 0.50/msg). The problem: the package doesn't distinguish between marketing (R$ 0.31), utility (R$ 0.09), and service (free). If you use a lot of utility and service, you pay R$ 0.50 per message that should cost R$ 0.09 or zero — message markup disguised as a "closed plan."
This model is especially bad for companies with high volumes of customer replies (the "service" category, free on Meta).
How to Audit Your Invoice in 15 Minutes
- Identify the monthly volume by category. Your platform should show how many marketing, utility, authentication, and service messages were sent in the month. If it doesn't, that's already a warning sign — Meta generates this report natively.
- Multiply by Meta's official price (table above). Sum the 4 values.
- Compare with what the platform charged for "usage" or "messages" on the same invoice. The difference is the message markup.
- Calculate the percentage:
((charged amount - Meta amount) / Meta amount) × 100. Above 5% already warrants a question; above 15% is abuse. - Ask your provider directly: "What is the message markup rate applied on top of Meta's official fees?" The answer should be "zero" or a clear number.
If the provider doesn't answer, dodges the question, or says "Meta's cost varies a lot" — you have your diagnosis.
How Much It Weighs Per Year — 3 Real Scenarios
Scenario A — B2B SME with Active Prospecting
- 3,000 marketing msgs/month (weekly campaigns)
- 1,500 utility msgs/month (meeting reminders)
- 500 authentication msgs/month (login)
- Service volume: 6,000/month (free)
Real Meta cost: (3000 × 0.31) + (1500 × 0.09) + (500 × 0.11) = R$ 930 + R$ 135 + R$ 55 = R$ 1,120/month.
With 30% message markup: R$ 1,456/month — difference of R$ 336/month = R$ 4,032/year.
Scenario B — E-commerce with High Promotional Volume
- 12,000 marketing msgs/month (Black Friday, launches)
- 8,000 utility msgs/month (order status)
- 2,000 authentication msgs/month
- Service volume: 20,000/month (free)
Real Meta cost: (12000 × 0.31) + (8000 × 0.09) + (2000 × 0.11) = R$ 4,660/month.
With 35% message markup: R$ 6,291/month — difference of R$ 1,631/month = R$ 19,572/year.
Scenario C — B2B SaaS with Little Marketing
- 800 marketing msgs/month
- 2,500 utility msgs/month (usage notifications)
- 4,000 authentication msgs/month (OTPs)
- Service volume: 1,500/month
Meta cost: R$ 913/month. Since the mix has a lot of authentication, message markup can reach 45%: R$ 1,324/month — difference of R$ 411/month = R$ 4,932/year.
In all three scenarios, the annual savings pay for 6 months of the platform's subscription — just by switching to a provider without message markup.
Why This Model Persists
Hidden message markup is so common in Brazil because most clients are unaware of Meta's official table. The provider has 3 incentives to maintain opacity:
- High margin without visibility. The platform charges a modest subscription (R$ 200-500) and earns much more on messages — but the client only sees the subscription in plan comparisons.
- Lock-in via the Meta account. If the platform operates the Meta account in its own name, switching providers requires migrating the account — friction that keeps unhappy clients.
- Currency justification. Since Meta charges in USD and the exchange rate fluctuates, it's easy to hide markup as "currency variation."
The model is so widespread that clients see it as normal — "everyone charges like this." But not everyone does. Those who operate with full transparency can charge a slightly higher subscription and have a lower total cost.
What to Ask Your Provider (or the Next One)
Before signing a contract or at the next renewal cycle, bring these 4 questions:
- "Does Meta's charge go directly to my Meta Business Manager account or does it go through your account?"
- "Do you apply message markup on top of Meta's fees? If so, what percentage?"
- "Does the dashboard show the breakdown by category (marketing, utility, authentication, service) with Meta's official price?"
- "If I switch platforms, do the number and Meta account stay with me? How does off-boarding work?"
A serious provider answers without hesitation. A provider that stalls is giving you the warning you need.
To compare references without message markup, take a look at how Voyia's pricing works — the model is direct Meta pass-through, flat subscription with unlimited agents (a topic I dive into in Unlimited Agents on WhatsApp). It's the most predictable and auditable way to operate the Official API without surprises at the end of the month — and the only one that eliminates WhatsApp blocked by the next wave without swapping one opacity for another.
Related posts

WhatsApp Business Ban: The 2026 Wave in Brazil
The WhatsApp Business ban wave in 2026 has already paralyzed thousands of operations in Brazil. See why and how to shield yours.

How to Avoid WhatsApp Business Blocking in 2026
WhatsApp Business blocking can paralyze operations in hours. Behaviors to avoid, early warning signs, and migration plan.

WhatsApp Business App vs Official API: Which Makes Sense in 2026
WhatsApp Business App or Official API? Technical comparison, real costs, and the tipping point that defines which to use in your company in 2026.