Scope: This is a quick analysis of selected accounts that we manage, not all accounts or the whole market.
Analysis period: 90 days of analysis. Year-on-year comparisons use the same 90-day period in the previous year. Conversions use a 7-day click basis unless labelled 1-day view. Purchase value is Meta-attributed, not GA4 or accounting revenue.
The story in one paragraph
Here is a number that would end most campaigns: one recorded lead, at an account-wide cost per lead so high it read like a misprint. Read it in a monthly report and the verdict is instant, the campaign failed, switch it off. But the data has a second chapter. That account never asked Meta for leads. It ran engagement and awareness campaigns, and while the report was calling it a failure, it was quietly collecting around 41,000 post engagements. The number was not wrong. The question being asked of the number was wrong. This is the story of cost per result, and why it lies whenever it is read without its objective.
Act one: how the misleading number is made
Cost per result sounds precise, so people trust it. What few reports explain is how it is often calculated at account level: take all the spend, divide it by one event type.
Spend a full quarter's budget across engagement and awareness campaigns, record one lead somewhere along the way, and the maths gives you a cost per lead that looks like a disaster. The campaign was never a lead campaign. There was no lead form, no lead offer and no lead objective. Judging it on leads is like judging a billboard on how many people phoned the number that was never printed on it.
The win in this story is that the work was good and the scoreboard was wrong. Around 41,000 engagements in a quarter is audience being built for a client, the kind of asset that makes every later sales campaign cheaper. Read properly, that account was one of the period's successes.
In our 90 day data the same effect appears everywhere. Traffic campaigns, which exist to bring people to a site, get divided by purchases and look hopeless. Awareness campaigns get divided by conversations and look broken. The formula is the problem, not the campaigns.
Act two: what the money was actually buying
In 90 days of analysis, across the selected accounts, the spend by objective tells the real story of intent:
- Traffic objectives: the largest share of spend, buying visits, link clicks and conversations at scale
- Sales objectives: run at scale by two of the accounts, buying the bulk of the 1,300 purchases
- Awareness and engagement objectives: buying reach and response, including around 41,000 post engagements for a client running engagement-led campaigns and around 9,500 engagements on a single engagement campaign elsewhere
And one detail that surprises most people: in this entire data set, no delivering campaign used a Leads objective, yet 2,450 leads were recorded. Leads arrived through sales and traffic activity, because real customers do not organise themselves by the objective name in Ads Manager.
Act three: how to read a result properly
Every result needs three companions before it means anything: the objective the campaign was given, the event you are counting, and the period.
A traffic campaign should be read on link clicks, cost per click, landing page views and the conversations it starts. Here, traffic money helped start thousands of messaging conversations, an outcome most traffic reports never even show.
A sales campaign should be read on purchases, cost per purchase and return on ad spend. In this data, the two sales-led accounts returned ROAS of 4.94x and 5.08x on a click basis.
An engagement campaign should be read on engagements and their cost, full stop. Forty thousand engagements is a community being built. It is not a failed lead campaign, and reporting it as one destroys good work and teaches the team to stop doing it.
This is the standard Seria applies to our reporting. Results are grouped by objective, event types are never mixed into one total, and the basis is printed on the page. The data is the same data. The story it tells is finally the true one.
What this means for your next report
Take your latest Meta report and, before you look at any cost per result, write the objective next to each campaign. Then ask whether the result being divided was ever the thing that campaign was asked to do.
Where the answer is no, you have not found a failing campaign. You have found a failing report. Fix the report first. It is cheaper than fixing campaigns that were never broken.
Frequently asked questions
What is cost per result on Meta?
The spend divided by the number of results, where a result is the event the campaign counts, a lead, a purchase or a conversation. At account level it often divides all spend by one event type, which is where the misleading figures come from.
Why is my cost per lead so high?
If your campaigns run traffic, engagement or awareness objectives, the account-wide cost per lead divides all that spend by a small number of leads the campaigns were never built to produce. Read each campaign against its own objective first.
Can leads happen without a Leads objective?
Yes. In this 90 day data set, 2,450 leads were recorded with no delivering campaign using a Leads objective. Sales and traffic activity generates leads as a by-product.
What should a traffic campaign be judged on?
Link clicks, cost per link click, CTR, landing page views and any conversations or assisted results it starts, compared with its own past performance, not against a sales campaign's purchase costs.
Talk to Wassp
If your report is full of numbers that make good campaigns look like failures, WASSP will rebuild the reading of it with you, objective by objective. Email wasspsolutions@wassp.co.za or call +27 11 450 4634. 5 Riley Rd, Bedfordview, Gauteng.
Related services: Paid Media, Seria Analytics.