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

WhatsApp Message Markup: The Platform's Hidden Cost

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 the 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 owns 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 bundles 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 Response to those who contacted you — unlimited

Reference exchange rate R$ 5.00/USD. Meta charges in USD, adjustable by daily rate, with monthly invoice directly to 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. That is, technically nothing prevents the platform from charging only the software subscription and passing through 100% of Meta 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

Way 1 — Direct Per-Message Markup

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 appears 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 pockets without you noticing.

Way 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 daily rate is R$ 5.00, for example). It's a 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 rate R$ 5.00 = R$ 0.31. At "platform" rate R$ 6.00 = R$ 0.38. Invisible markup of 22%.

Way 3 — Bundles with Unusable Credits

The platform sells "message bundles" — for example, R$ 500 for 1,000 messages, giving a false sense of a fixed rate (R$ 0.50/msg). The problem: the bundle 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

  1. Identify the monthly volume per 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 red flag — Meta generates this report natively.
  2. Multiply by Meta's official price (table above). Sum the 4 values.
  3. Compare with what the platform charged for "usage" or "messages" on the same invoice. The difference is the message markup.
  4. Calculate the percentage: ((charged amount - Meta amount) / Meta amount) × 100. Above 5% already warrants a question; above 15% is abuse.
  5. 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 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:

  1. 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.
  2. 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.
  3. 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:

  1. "Does Meta's charge go directly to my Meta Business Manager account or does it go through your account?"
  2. "Do you apply message markup on top of Meta's fees? If so, what percentage?"
  3. "Does the dashboard show a breakdown by category (marketing, utility, authentication, service) with Meta's official price?"
  4. "If I switch platforms, does 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, check out 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.