Recosting the messaging mix
WhatsApp's move to per-message pricing broke a lot of channel budgets. The fix is not a new spreadsheet but a method: cost every channel per outcome, not per send.
Last week a client's messaging forecast stopped making sense. The volumes were the same, the journeys were the same, and the projected cost for the second half of the year had moved enough to need a conversation with finance.
Nothing had gone wrong operationally. The WhatsApp Business Platform moved to per-message pricing for template messages from the first of July, replacing the conversation-based model that had been in place for years. Under the old model, a twenty-four hour window opened when a conversation started and the messages inside it were bundled. Under the new one, each template message delivered is its own line item.
The immediate work is arithmetic, and most teams did it within a few days. The more useful work is noticing why the forecast was fragile in the first place, and rebuilding it so the next price change is a recalculation rather than a scramble.
Why the old model hid the real cost of a journey
Conversation-based pricing rewarded a particular shape of programme. Once a window was open, extra messages inside it were effectively free at the margin, so a chatty journey with four follow-ups cost roughly the same as a single message.
Teams designed around that, quite rationally. Reminder sequences grew extra steps. Confirmation flows added a courtesy message. Nobody costed the marginal message because there was no marginal cost to speak of.
Per-message pricing removes that subsidy. Every one of those extra steps now has a unit price, and the price varies by template category and destination country. A journey that was one line in a budget is now a multiplication, and a market that looked cheap may not be.
This is not a criticism of the change. Conversation pricing was always an odd fit for one-way lifecycle messaging, which is what most marketing teams actually send. But it means the assumption underneath a lot of omnichannel planning has quietly expired.
Cost per outcome is the only comparison that survives a price change
Most channel budgets are built on cost per send. That figure is easy to obtain and almost useless for deciding where a message should go, because it says nothing about what the message achieves.
The comparison that holds up is cost per incremental outcome. Written plainly, it is the fully loaded cost of reaching a thousand people in a channel. That figure is divided by the additional conversions those thousand people produce, relative to a group who were not messaged.
The word doing the work there is additional. Attributed conversions will happily credit a channel for orders that would have happened regardless, and the cheaper and higher-reach the channel, the more of that credit it collects. Incrementality measurement is what separates the two, and without it a recosting exercise just reshuffles the same wrong numbers.
You do not need a sophisticated programme to start. A persistent randomised holdout on each channel's regular sends, read across a quarter rather than a campaign, gives a usable figure for the denominator. That is enough to rank channels honestly.
Build a channel cost table finance can check
The output of this work should be one table that anyone in the business can query, with a row per channel and market. Most teams discover in the building of it that they did not know their own unit costs.
Per channel, record all of the following:
- The unit price per message, split by the categories the provider actually bills on.
- Platform or licence fees, divided by expected annual volume to give a per-message figure.
- Aggregator or reseller margin, which is frequently invisible on the invoice and material in size.
- Number rental, short code fees, carrier surcharges and any per-market regulatory costs.
- The cost of acquiring the opt-in, amortised over the expected life of the subscription.
- Engineering and operational time per journey, including template approval cycles.
That fifth line is the one that changes decisions. A push notification has almost no marginal cost, but the app install behind it may be the most expensive permission your company buys. A channel is not cheap if the right to use it cost a fortune.
Then divide each channel's fully loaded cost by its measured incremental outcome, and rank. The ranking is usually different from the one people carry in their heads, and it frequently differs by market within the same brand.
Recosting changes journeys, not just budgets
Once the table exists, the useful response is to redesign, rather than simply to cut volume. Four changes come up repeatedly.
Collapse multi-step template sequences. Sequences that grew under bundled pricing usually have one message doing the work and two doing housekeeping. Merge or remove the housekeeping.
Order the channels by cost, not by habit. For a non-urgent message, try the free or near-free channel first, wait, then fall back to the paid one only for those who did not act. This single pattern removes a large share of paid volume in most programmes.
Move conversational replies out of templates. When a customer replies and a service window opens, the exchange inside it is priced differently from an outbound template. Journeys that invite a reply and continue there behave differently on the bill from journeys that push another template.
Re-examine which markets get which channel. Per-message pricing varies enough by country that the same journey can be the cheapest option in one market and the most expensive in another. A single global channel strategy is now harder to defend than a per-market one.
The underlying decision framework has not changed, and we set it out in choosing the channel for a message. What has changed is that one of the inputs moved, which is exactly what a framework is for.
Treat a price change as a standing procedure
Messaging providers will keep changing how they bill. Rich messaging on both major mobile platforms is still settling, as we noted when RCS arrived on iPhone, and each of those shifts will come with its own commercial model.
So write the response down as a procedure rather than repeating this quarter's fire drill:
- Hold the current channel cost table, with its assumptions dated, somewhere finance and CRM both read.
- When a price changes, recalculate cost per incremental outcome before recalculating budget. The ranking may move even when the total does not.
- Re-run the fallback order in your journeys against the new ranking, and change the sequence where the ranking changed.
- Check the opt-in strategy last. If a channel has become materially more expensive per outcome, paying to grow its subscriber base may no longer make sense.
Step four is the one teams skip, and it is the one with the longest tail. Permission acquired this quarter is a cost you carry for years.
The harder question underneath all of this is whether the SMS and messaging volume most programmes send is worth its price at all when measured incrementally. Recosting is a good moment to find out, because for once the finance team is already in the room.
- Choosing between email, push and SMS for the same message · 28 September 2024
- RCS arrives on iPhone: what CRM teams should do about it · 11 September 2024