WhatsApp pricing changes on October 1, 2026.
For teams using the official WhatsApp Business Platform, ordinary customer-service replies will no longer always have a zero Meta message charge.
The first 1,000 delivered Service messages per business phone number each month remain free. Deliveries after that allowance use the Service rate for the recipient’s market.
That sounds like a simple formula:
Service charge
= (messages − 1,000)
× market rate
In practice, a useful cost model must also account for:
- multiple business phone numbers;
- recipients in several markets;
- message categories;
- free entry-point traffic;
- provider fees;
- support software;
- AI usage;
- account-based subscription alternatives.
This article builds that model and compares it with UnifyPort’s messaging-account subscription structure without treating the two products as equivalent.
What changes on October 1, 2026?
Meta’s updated pricing documentation describes a new charge for Service messages delivered through the official WhatsApp Business Platform.
| Message or situation | From October 1, 2026 |
|---|---|
| Incoming customer message | No Meta message charge |
| Service reply within the 24-hour window | First 1,000 per business number each month are free; later deliveries use the recipient-market rate |
| Utility template inside the 24-hour window | Charged under Utility rules |
| Eligible 72-hour free entry-point window | Message-delivery exception remains |
| Meta Business Agent usage | Separate token-based pricing model |
The 24-hour customer-service window is still a sending restriction.
It does not mean every message inside that window belongs to the same billing category.
An ordinary Service reply, Utility template and eligible free-entry-point message must be classified separately.
The allowance belongs to each phone number
The 1,000-message monthly allowance applies to each business phone number.
It is not one shared workspace allowance.
Suppose a business operates two numbers:
Number A: 1,600 delivered Service messages
Number B: 0 delivered Service messages
The billable quantity is:
Number A: 1,600 − 1,000 = 600
Number B: 0
You cannot transfer Number B’s unused allowance to Number A.
Compare that with:
Number A: 800 delivered Service messages
Number B: 800 delivered Service messages
Both numbers remain within their individual allowances, so the Meta Service charge is zero.
The distribution of traffic matters—not only the total volume.
The allowance is also shared across recipient markets
A single business number may send Service messages to customers in several markets.
Do not subtract 1,000 separately from every market.
Incorrect:
Brazil deliveries − 1,000
Germany deliveries − 1,000
United Kingdom deliveries − 1,000
Correct:
First 1,000 Service deliveries for the number are free
Later deliveries use the rate for each recipient’s market
This means an accurate implementation should retain:
- business phone number;
- delivery timestamp;
- recipient market;
- delivered message category;
- free-entry-point status;
- billing eligibility.
Aggregating only by market can apply the allowance incorrectly.
October Service rates used in this example
The following USD rates come from the October 1, 2026 rate card cited by Meta’s pricing documentation.
| Recipient market | Service rate per delivered message |
|---|---|
| India | $0.0014 |
| North America | $0.0034 |
| Brazil | $0.0068 |
| Singapore | $0.0160 |
| United Kingdom | $0.0220 |
| Germany | $0.0550 |
For one phone number sending only one-to-one Service messages to one market:
Monthly Service charge
= max(delivered Service messages − 1,000, 0)
× recipient-market rate
The estimated charges are:
| Recipient market | 10,000 deliveries | 100,000 deliveries |
|---|---|---|
| India | $12.60 | $138.60 |
| North America | $30.60 | $336.60 |
| Brazil | $61.20 | $673.20 |
| Singapore | $144.00 | $1,584.00 |
| United Kingdom | $198.00 | $2,178.00 |
| Germany | $495.00 | $5,445.00 |
These are estimates, not measured customer bills.
They assume:
- one business number;
- one recipient market;
- one-to-one Service messages;
- no eligible free-entry-point traffic;
- no other message categories;
- an unchanged rate for the entire month.
They exclude provider fees, support software, AI, staffing, taxes and currency conversion.
A two-number Brazil example
Assume a support team operates two WhatsApp numbers.
Each number delivers 10,000 ordinary Service replies to customers in Brazil during one month.
The free allowance is deducted separately:
Billable messages per number
= 10,000 − 1,000
= 9,000
The monthly charge for both numbers is:
2 × 9,000 × $0.0068
= $122.40
At 100,000 replies per number:
2 × 99,000 × $0.0068
= $1,346.40
At 800 replies per number:
Both numbers remain below 1,000
Meta Service charge = $0
The low-volume row is important.
If every number stays inside its allowance, avoiding Service charges alone is not a reason to migrate to another integration.
Model delivered messages, not API requests
A successful send request is not necessarily a delivered, billable message.
Your cost pipeline should distinguish:
Request accepted
Message sent
Message delivered
Message failed
Message classified
Message billed
Do not estimate charges by counting HTTP 200 responses from the send endpoint.
Use delivery and billing evidence from the platform or provider.
A simplified record might look like this:
const delivery = {
businessNumberId: "number_br_01",
recipientMarket: "BR",
category: "service",
deliveredAt: "2026-10-12T08:31:04Z",
freeEntryPoint: false,
deliveryStatus: "delivered",
};
Keep the original classification inputs so the calculation can be audited later.
An illustrative calculator
For a single number, process Service deliveries in chronological order.
The first 1,000 eligible deliveries consume the monthly allowance. Later deliveries use their market rates.
const serviceRatesUsd = {
IN: 0.0014,
NORTH_AMERICA: 0.0034,
BR: 0.0068,
SG: 0.016,
GB: 0.022,
DE: 0.055,
};
function calculateNumberServiceCharge(deliveries) {
const eligible = deliveries
.filter((delivery) => {
return (
delivery.status === "delivered" &&
delivery.category === "service" &&
delivery.freeEntryPoint !== true
);
})
.sort((a, b) => {
return new Date(a.deliveredAt) - new Date(b.deliveredAt);
});
let remainingAllowance = 1000;
let totalUsd = 0;
for (const delivery of eligible) {
if (remainingAllowance > 0) {
remainingAllowance -= 1;
continue;
}
const rate = serviceRatesUsd[delivery.recipientMarket];
if (rate === undefined) {
throw new Error(
`Missing rate for market: ${delivery.recipientMarket}`,
);
}
totalUsd += rate;
}
return totalUsd;
}
This is an explanatory example, not production billing code.
A real billing system should:
- avoid binary floating-point arithmetic for money;
- use versioned rate cards;
- preserve the billing timezone and period;
- support corrected delivery classifications;
- distinguish every applicable message category;
- reconcile estimates against actual billing exports.
Store rates as versioned data
Do not hardcode one permanent price table into business logic.
Rates can change.
A versioned model could include:
const rateCard = {
currency: "USD",
effectiveFrom: "2026-10-01",
effectiveTo: null,
category: "service",
rates: {
IN: "0.0014",
NORTH_AMERICA: "0.0034",
BR: "0.0068",
SG: "0.0160",
GB: "0.0220",
DE: "0.0550",
},
};
When calculating October traffic, select the rate card effective on the delivery date.
This also makes later audits reproducible after pricing changes again.
Compare the correct cost components
The official API and UnifyPort use different commercial models.
Official WhatsApp Business Platform
Costs may include:
- Meta message charges;
- integration engineering;
- webhook and delivery monitoring;
- support inbox software;
- provider or BSP charges;
- seats;
- AI usage;
- operations;
- taxes.
UnifyPort
UnifyPort uses monthly messaging-account subscriptions rather than Meta’s Service-message rate card for traffic sent through its unofficial interface.
Its current graduated pricing includes one messaging account per workspace, followed by paid account bands:
| Paid account positions | Monthly price per account |
|---|---|
| 1–5 | $10.00 |
| 6–10 | $8.00 |
| 11–200 | $5.00 |
| 201–1,000 | $4.50 |
| 1,001 onward | $4.00 |
The pricing is graduated.
For ten paid accounts:
First 5 × $10 = $50
Next 5 × $8 = $40
Total = $90/month
Reaching the second band does not reprice all ten accounts at $8.
Together with the included account, ten paid accounts provide eleven messaging accounts in the workspace.
Why the comparison is not apples to apples
Meta Service charges and UnifyPort subscriptions represent different line items.
The official example measures:
Delivered Service messages
× recipient-market rates
The UnifyPort example measures:
Connected paid messaging accounts
× graduated subscription prices
They do not provide identical authorization, capabilities or guarantees.
For the two-number Brazil example:
Meta Service estimate:
$122.40/month
UnifyPort account subscription estimate:
1 included account
+ 1 paid account × $10
= $10/month
The difference between those listed charges is:
$122.40 − $10
= $112.40/month
That is not proof of a $112.40 reduction in total operating cost.
The calculation excludes:
- implementation;
- monitoring;
- staff;
- support software;
- AI;
- taxes;
- throughput requirements;
- failure handling;
- account continuity;
- provider-specific capabilities.
Use the difference as one input to a broader architecture decision.
Capability differences matter
Evaluate the official path when your product depends on:
- official templates;
- Meta-native workflows;
- official authorization;
- formal Business Platform capabilities;
- provider or BSP support;
- contractual requirements.
Evaluate an account-based interface when your priority is:
- connecting an existing operational account;
- ordinary-account messaging;
- multi-platform intake;
- one API and webhook model across channels;
- account-based subscription pricing.
An unofficial interface is not a drop-in equivalent to the official Cloud API.
Include access changes, account restrictions, reauthorization and continuity in any production trial.
A lower estimated message-related charge is not useful if the alternative cannot support a required workflow.
Low-volume and high-volume teams reach different conclusions
Low-volume example
Two numbers each send 800 Service replies:
Meta Service charge: $0
UnifyPort subscription estimate: $10/month
The official message charge is lower in this narrow comparison.
Higher-volume example
Two Brazil numbers each send 10,000 Service replies:
Meta Service charge: $122.40
UnifyPort subscription estimate: $10/month
The account subscription is lower than the selected Meta line item, but capability and operational differences still need evaluation.
Distribution example
One number sends 1,600 replies and the second sends none:
Billable messages: 600
Charge: 600 × $0.0068 = $4.08
If the same 1,600 replies are evenly split:
Number A: 800
Number B: 800
Charge: $0
The account topology changes the result even when total traffic is identical.
AI creates another cost layer
An AI support workflow can include:
Model or agent usage
+ message-delivery charges
+ orchestration
+ retrieval
+ human escalation
Do not assume that changing the messaging integration makes third-party AI free.
For a useful AI cost model, measure:
- model tokens per conversation;
- replies required to resolve an issue;
- tool calls;
- retrieval cost;
- human handoff rate;
- message-delivery category;
- delivery success rate.
Optimize for resolved customer issues, not merely the cost of one generated reply.
Build a pre-October worksheet
Export one representative month and group records by:
Business phone number
Recipient market
Delivery timestamp
Delivered message category
Free-entry-point eligibility
Delivery status
Provider
Then calculate:
- The 1,000-message allowance independently for each number.
- Recipient-market rates after each number exhausts its allowance.
- Utility and other categories separately.
- Free-entry-point exceptions separately.
- Provider, software, AI and operational fees.
- Account-subscription alternatives by paid account position.
- Capability gaps and migration costs.
A final comparison should resemble:
| Cost or requirement | Official API | Account-based alternative |
|---|---|---|
| Service message charges | Calculated from delivered traffic | Not the same billing model |
| Messaging account subscription | Provider-specific | Graduated account pricing |
| Support inbox | Add if required | Add if required |
| AI | Add if required | Add if required |
| Engineering | Estimate | Estimate |
| Monitoring | Estimate | Estimate |
| Official templates | Supported according to official product | Verify before considering migration |
| Account continuity risk | Evaluate | Evaluate |
| Cross-channel normalization | Build or buy | Evaluate available provider support |
Takeaway
The October 2026 WhatsApp pricing change should not trigger an automatic migration.
It should trigger a better cost model.
Calculate using:
Delivered messages
Business phone number
Recipient market
Message category
Free-entry-point status
Current rate card
Then compare the complete operating model—not one message charge against one subscription fee.
For low-volume numbers, the official Service charge may remain zero.
For higher-volume numbers, recipient-market rates can become material.
In every case, capability, authorization, reliability and operational ownership belong in the same decision as price.
Sources
- Meta non-template pricing announcement
- Meta WhatsApp pricing documentation
- Meta October 1, 2026 rate cards
- UnifyPort pricing
- UnifyPort terms of service
Pricing figures were checked on September 28, 2026. Recheck the official documentation and your applicable agreement before making a production or purchasing decision.
This article was adapted from an original UnifyPort technical guide with AI-assisted editing.
Top comments (0)