Cost Per Outcome: Why a Single Blended CPA Misleads
Most agency reports carry one cost-per-acquisition number. If the account runs more than one kind of conversion, that number is an average across events that are not comparable, and it moves for reasons that have nothing to do with performance.
The four outcome types
Meta reports these as distinct events, and Inflowave stores each with its own cost-per figure:
| Outcome | Typical use |
|---|---|
| Leads | Form fills, lead ads, contact requests |
| Purchases | Completed transactions, with conversion value and purchase ROAS |
| Registrations | Account creation, webinar and event signups |
| Submitted applications | Applications, qualification forms, longer-form intent |
A lead and a purchase are not the same event and should never share a denominator.
How the blend lies
Take an account running lead ads and purchase campaigns.
- Month one: 100 leads at £20, 10 purchases at £200. Blended CPA £36.
- Month two: 200 leads at £20, 2 purchases at £200. Blended CPA £21.
The blended number improved by 42%. The account got materially worse - purchases fell 80%. Nothing about lead cost or purchase cost changed at all. Only the mix moved.
This is not a hypothetical failure mode. It is the normal behaviour of a blended average whenever campaign mix shifts, which is most months.
What to report instead
Cost per outcome, by outcome type, every time. Four lines instead of one.
If a client wants a single number, the honest one is cost per the outcome that makes money - usually purchases, or leads if the business genuinely sells from leads. Naming which one is doing the work is more useful than averaging it away.
Conversion value and ROAS
For purchase campaigns, conversion value and purchase ROAS matter more than cost per purchase. A £200 cost per purchase is excellent at a £2,000 order value and ruinous at £150.
Cost-per figures alone cannot distinguish those two accounts. Report value alongside cost or the number is unreadable.
The attribution trap underneath all of this
Every metric row Inflowave stores records the attribution setting it was measured under.
The first time someone changes an attribution window - 7-day click to 1-day click, say - every historical comparison silently breaks. Volumes drop, costs rise, and it looks exactly like a performance collapse. Without the attribution field recorded per row, you cannot tell the difference between the account getting worse and the measurement changing.
That distinction has cost agencies accounts.
Related
- Meta ads reporting for agencies: the 58 metrics
- Link clicks vs landing page views
- Automated rules with guardrails
Explore More
- Feature: Facebook & Instagram Ads - Every client's ad account in one view, with leads attributed back to the ad that produced them
- Feature: Analytics - Pipeline, conversion and revenue next to ad spend, per client
- Meta Ads Reporting for Agencies - Building the report clients actually read
- Pricing - Plans built for agencies running multiple ad accounts

