Build notes
The day there is no free way to answer a WhatsApp customer
On the morning of 1 October, an operator was going to open the Costs screen in Klaros and read the words free-form replies inside the 24h window next to a category that had started costing money the same day. Not a crash, not an error, just a screen quietly telling the person paying the bill something that had stopped being true while they slept. We found it with thirty-three days to spare, and only because we went to check somebody else's homework.
In short
The change: from 1 October 2026 Meta charges for WhatsApp service messages, the free-form replies you send inside the 24-hour window. Widely reported.
The half that is not being reported: Meta starts charging per message for utility templates on the same date, which ends their free status inside an open window. From 1 October there is no free way to answer somebody inside an open conversation, in any format.
Why that matters: the standard advice is to escape service charges by moving chatty replies into templates and Flows. That advice routes the spend into a bucket billed from the same day.
Our own screen was wrong: six places in the cost dashboard described these replies as free, including a recommendation that told you what you had wasted.
Still open: our rate card, send guard and trial credit all still assume a service message costs zero. That needs Meta's published rates, not a guess.
What Meta actually said
One page carries this, and it is not the pricing page. It is the upcoming pricing page for non-template messages, and it says two things a month apart in consequence but identical in date:
"Effective October 1, 2026, Meta will charge for service messages."
"Effective October 1, 2026, Meta will charge on a per-message basis for utility messages."
The same page sets the price without setting a number: "rates for service messages are the same as the rates for utility and authentication messages" for the recipient's market, and "Meta does not offer volume tiers for service messages." That second sentence is the one worth reading twice. Utility and authentication templates get volume discounts. Service replies do not, at any scale.
It is also more useful than it looks. Because service is priced against utility and authentication, and those rates are already published per country, you do not have to wait for an announcement to size your October bill. Take last month's in-window replies, multiply by your country's utility rate, and you have the number. Meta said it would publish the final rates by 1 September, but you can do the arithmetic today.
Two things stay free, and both are worth keeping: messages your customers send you, and everything inside the 72-hour free entry point window that opens when somebody arrives from a Click-to-WhatsApp ad or a Page button. That window was already the best-value entry point on the platform. It is about to be the only free one.
Why we missed it for two weeks
We looked at this on 12 August and concluded the window was still free. That was wrong, and the way it was wrong is worth publishing, because anybody checking carefully would have reached the same answer.
Meta's main pricing page, the one everybody links and the one we linked from our own roadmap page as its primary source, still says today, on 29 August:
"All non-template messages are free ... Utility templates delivered within an open customer service window are free."
No October note. No banner. The change lives on a different page. So the method was sound and the source disagreed with itself, which is the failure mode that survives careful people. We had cited the page that contradicts the thing we were citing it for.
The correction is not "check harder". It is a rule: Meta's pricing page is authoritative for rates and not for what is about to become billable. Those are two different questions and they now live in two different places. Our sources list says this out loud, next to both links, so the next person does not have to rediscover it.
The escape route closes the same day
Read the explainers published this month and they converge on one recommendation: your conversations are too chatty, compress them, move multi-turn data collection into WhatsApp Flows, replace back-and-forth with structured templates. It is reasonable advice about interaction design. As cost advice, on this timeline, it is close to circular.
A booking dialogue that takes six free-form replies today costs six service messages from 1 October. Turn it into a utility template plus a Flow and it costs a utility message from 1 October. The saving is five messages, which is real, but it is not the saving being advertised, because the advertised version assumes the destination is still free. It is not. It stopped being free on the same morning.
The honest version of the advice is narrower and less exciting. There is no format that is free any more. There is only fewer messages, better timed, and the only lever left is whether a conversation reaches an outcome. Which, awkwardly for us, is the thing we have been arguing for two years while it was merely a philosophical preference. It is now arithmetic.
Because it does cost us something. Klaros charges a licence and passes Meta's rates through at zero markup, so every message a customer sends is revenue we do not take. A platform with a per-message margin has a straightforward interest in you sending more messages, and this change makes each one worth more to them. We have no such interest, and this is the first month where saying so is a claim with money behind it rather than a slogan on a pricing page.
Our own screen was telling the wrong story
The Costs panel in Klaros reads Meta's own billing and shows what was spent by category. It described
service replies as free in six places. The category label itself was Service (free). The
blended per-message figure was explained as "replies free, Utility cheap". The footer said in-window
replies "are counted here at zero".
The worst one was not a label. The panel has an advisor that tells you about avoidable spend, and one of its findings reads: N paid templates sent inside a free window. These contacts had messaged you within 24h, so a free-form reply would have cost nothing. Same message, no charge.
After 1 October that recommendation overstates itself. A free-form reply does not cost nothing; it costs the utility rate. The real saving is the gap between the template rate and that, which on most rate cards is a fraction of what the panel was claiming. A cost tool that overstates your savings is a worse failure than one that overstates your costs, because you act on it.
What we changed
The obvious fix is to rewrite the copy. We did not do that, because the copy is correct today. Telling an operator in August that their replies cost money would be exactly as wrong as telling them in October that they do not.
So the screen now knows the date:
const NON_TEMPLATE_BILLING_START = Date.UTC(2026, 9, 1);
const inWindowRepliesFree = () => Date.now() < NON_TEMPLATE_BILLING_START;
All six sites switch on that one line. The panel says replies are free while they are free, and stops saying it on the morning it stops being true, without waiting for us to notice and without a deploy. The advisor recommendation changes shape rather than disappearing: after the date it says the saving is the gap between the two rates, not the whole amount.
This is a small piece of code carrying a specific belief: a number on a screen that somebody pays money because of should not depend on us remembering to update it.
The deadline we could not prove
This is the part we would rather not write.
Our WhatsApp roadmap page stated, in nine separate places, that Meta requires a payment method on file by
30 September or it stops delivering your service messages. One of those nine was inside the
FAQPage structured data, which is the version an AI assistant quotes to somebody who asks.
We described the page as primary-sourced.
On 29 August we went to find the primary source. It is not in Meta's pricing documentation. It is not on the page that documents the October change. It is not in the partner announcement a major vendor published about the same change. The articles asserting it cite no Meta document, and the one that describes the enforcement behaviour in most detail cites nothing at all.
It may well be true. Deadlines like this are often relayed to providers through partner channels before they reach public documentation, and the date is specific enough that somebody probably received it in writing. But "probably true and widely repeated" is the standard we criticise other people for, and a page that calls itself primary-sourced cannot carry a claim on it.
So the page now says what we know and when we checked. The practical advice has not changed, because it never depended on the deadline being real: attach a payment method before October. It costs nothing, and an account Meta cannot bill is an account with a problem the moment your replies become billable.
Going looking also turned up something documented that we had missed entirely. The Meta Terms for WhatsApp Business are updated effective 23 September 2026, a week before the billing change. If a payment obligation exists, that is the likelier home for it than a pricing page. It is now on our timeline.
What is still open
The copy is fixed. The economics are not.
| Where | What it still assumes |
|---|---|
meta-rate-card.mjs | SERVICE: 0 in four rate blocks |
send-guard.mjs | an open window is a free alternative to a template |
trial-credit.mjs | service replies do not decrement trial credit |
meta-cost-analytics.mjs | service reported at zero cost |
Every one of those needs a real rate, and inventing one to look finished would be a worse outcome than leaving them visibly unfinished for two more days. Meta said the rates land on 1 September.
The trial one has an actual consequence for a customer rather than a tidiness problem. Our free trial includes a small message credit, and service replies currently do not draw it down, on the reasoning that answering somebody who wrote to you is not the cost. That reasoning expires on 1 October. A trial that answers its customers will burn credit it does not burn today, which means the grant quietly buys less. That is a decision about what we give people, not a rate constant, and it should be made before the rates land rather than discovered afterwards by somebody whose trial ran out early.
What this is really about
Digital distance is the gap between what a person believes you remember about them and what your software actually knows. We usually write about it pointed at a customer. This one points at us.
An operator who opens a cost screen believes it is telling them what things cost. For thirty-three days that belief would have been accurate, and then one morning it would not, and nothing on the screen would have changed to say so. They would have carried on trusting a number while it drifted, and found out from an invoice. The gap between what our software knew and what it was willing to say is the same gap, just with the vendor on the wrong side of it.
The fix was nine lines. Publishing the deadline we got wrong cost more than the fix did.
Get the next one on WhatsApp
Message the line and type NOTES. The latest one comes straight back, in the same thread, from the number that sends everything else. Reply STOP whenever you like and it stops.
Send NOTES on WhatsAppWork out your own October number
The cost calculator uses Meta's published rates with no markup added, which is the same arithmetic you need for the change described above: your in-window reply volume, at your country's utility rate. Or message the line and type pricing to see the live catalogue and buy inside the thread.
+91 97893 77634 · you message first, so nothing reaches you without your say-so.
Written 29 August 2026. We append when the facts change, and the rates land on 1 September. Related: the platform change tracker, cost calculator, digital distance, all build notes.
