Blog · The numbers
What a WhatsApp campaign really costs, and how to tell whether it paid for itself
Short answer: a WhatsApp campaign costs whatever Meta charges for each marketing template message that is delivered. Meta sets the rate by the country of the recipient’s phone number, changes it from time to time, and bills it straight to your own WhatsApp Business account. To see whether the campaign paid for itself, divide the value of the orders it brought in by that cost: that is its ROAS. A ROAS above 1x only says the orders covered the messages. Whether the campaign made you money depends on your margin.
What the cost depends on
Three things to get straight before doing any arithmetic:
- You pay per delivered message, not per name on the list. A number that does not exist or is not on WhatsApp is never delivered, and what is not delivered is not billed.
- The phone decides the country, not the shipping address. A customer with a Miami address and a Colombian mobile counts as Colombia. If your list spans countries, you pay a blend of rates.
- The rate is not fixed. Meta publishes its rates by country and category on the WhatsApp Business Platform pricing page and updates them. Do not copy a rate from a blog post, this one included: check the current one for the countries you send to.
A worked example, step by step
A store sends a campaign to 1,000 customers who have bought before. Every figure here is an example, the same ones the WhatsApp campaign ROAS calculator opens with: the $0.025 rate is not a Meta quote and the conversion rates are not “typical”. Swap in your own.
- Delivered: 1,000 recipients × 95% = 950 messages.
- Message cost: 950 × $0.025 = $23.75.
- Clicks: 950 × 15% = 142.5 people tapping the link.
- Orders: 142.5 × 8% = 11.4 expected orders.
- Revenue: 11.4 × a $45 average order = $513.
- ROAS: $513 ÷ $23.75 = 21.6x.
- Cost per order: $23.75 ÷ 11.4 = $2.08.
One number is more useful than ROAS when you are deciding whether to send at all: the break-even conversion rate, the share of clickers who must buy for the orders to match what the messages cost. Here it is $23.75 ÷ (142.5 × $45) = 0.37%. If your store converts above that, the campaign covers its messages comfortably.
Why a high ROAS is not the same as making money
ROAS sets the orders against the cost of the messages and nothing else. It leaves out what the products cost you, shipping, and any discount the message carried. To know whether you came out ahead, do one more sum:
- Apply your margin. At a 40% gross margin (another example figure), that $513 leaves $205.20. Take off the $23.75 in messages and $181.45 is left.
- Break-even ROAS is 1 ÷ your margin. At a 40% margin, a campaign starts making money from 2.5x. At 25%, from 4x.
- If the campaign carries a coupon, take it off first. The discount calculator shows how much more you need to sell so the discount does not eat the margin.
It cuts the other way too: some people read the message and buy days later without tapping the link, so a click-based estimate usually comes out a little low.
From estimate to measurement: what Super Agent shows
The calculator is for deciding before you send. Afterwards you want a measurement. This is how the Campaigns page in Super Agent handles it:
Before sending: a ceiling, not a promise
A campaign shows “up to so many dollars in WhatsApp fees”. It is a maximum: it is worked out from the country of each number, a number whose country cannot be determined is priced at the most expensive rate and never the cheapest, and only what is delivered is billed. The page also says when the rates were last checked, because a stale table quoting with confidence is exactly the mistake you want to see.
After: cost, orders and ROAS for each campaign
- What was spent in WhatsApp fees, counted on delivered messages at the rate in force when they were sent. Meta bills you directly; Super Agent is not in the payment path.
- Who bought within the campaign’s attribution window, and the gross value of those orders: cancelled orders excluded, refunds not subtracted, and different currencies never added together.
- Cost per purchase and ROAS. ROAS is worked out in USD, with your store’s sales converted at the rate on the day the campaign was sent.
- An order is counted once. If two campaigns reached the same customer, the order goes to one of them, so adding campaigns up does not inflate sales.
- A control group, if you want one. You can hold back a share of recipients who never get the message and compare how many bought in each group. It is the only figure that says whether the campaign caused sales, or whether those customers would have bought anyway.
Above the list, a bar sums up the last 30 days against the 30 before: total sales, orders, messages sent and ROAS. That is how Elena Cuidado Capilar measures the WhatsApp campaigns it sends its own customers: every order is tied to the campaign that brought it in.
How to bring the cost per order down
- Send to people with a reason to buy. Customers who bought two months ago usually convert better than the whole list. The customer segmenter shows, from an orders CSV, who repeats, who is at risk and who has lapsed.
- Get the template approved first time. A rejected template costs no messages, but it costs days. Read why Meta rejects WhatsApp templates before you submit.
- Start with the message that pays best. An abandoned cart reaches someone who has already chosen the product: see recovering abandoned carts on WhatsApp.
Measure the real ROAS of your WhatsApp campaigns
Connect your Shopify or WooCommerce store, send campaigns with Meta-approved templates to the audiences you save, and see what each one cost and what it sold.
Start for freeFree plan, no credit card.