Once service messages are billable, the cost of a conversation depends on how many messages it takes. Design decisions that used to be only about experience now have a cost attached.
1. Fewer turns
This is the largest lever, and it's mostly conversation design.
Collecting a delivery address conversationally (street, then number, then city, then postcode, then a confirmation) is five or six outbound messages. Collecting the same address in a single structured form is one interaction.
WhatsApp Flows exist for this. The customer fills in a form inside WhatsApp, and it comes back to you as one structured response. Until October the reason to build one was user experience; from October it also cuts the cost of every conversation.
The same logic applies to automated agents. An agent that asks three clarifying questions before answering costs four messages. An agent that makes a reasonable assumption and offers a correction costs two.
2. Stop splitting messages
This is the cheapest change on the list.
Many implementations send several short messages in a row because it reads more naturally: a greeting, then the answer, then a follow-up question. That's three charges where one would do. Batching a reply into a single well-structured message with clear line breaks reads about as well and costs a third as much.
Look for this in automated flows especially, where teams often built in a “typing” rhythm on purpose to make the bot feel human.
3. Watch your template categories
Meta reviews template content and can reclassify a template from utility to marketing, as Chapter 0.2 covered. Marketing rates run several times the utility rate in most markets, so from that moment every send of that template costs more, and Meta doesn't reliably tell you it happened.
Two things protect you:
- Keep transactional templates strictly transactional. Reclassification is triggered by promotional content inside the template: a discount code in a shipping notification, an upsell paragraph at the end of an order confirmation. If you want to promote something, use a separate marketing template rather than mixing it into a transactional one.
- Check the category on your status webhooks against the one you expect. If a template you believe is
utilitystarts coming back asmarketing, this check surfaces it in days. Without it, you find out when the invoice arrives.
Further out: Meta Business Agents
Meta is rolling out Business Agents, conversations handled by Meta's own AI and priced for the AI's usage rather than per message. For the support traffic that fits it, that replaces the per-message maths above entirely. We plan to support it on Kapso; the final details are still landing, and we'll publish a guide on it when they do.