What is CPM in Facebook ads — and why is it so high?
CPM is what you pay for 1,000 impressions: amount spent ÷ impressions × 1,000. On a lead campaign it matters more than most people think, because Meta charges lead campaigns for impressions, not for leads. But a high CPM on its own isn’t a problem: Meta may buy dearer impressions on purpose when they bring cheaper leads, and in our own data the ad sets with the most expensive impressions paid only slightly more per lead. CPM rises with competition, a narrow audience, low ad quality and the season; in 2026 Meta’s average price per ad is up 12% a year. Judge cost per lead first, and use CPM to explain it.

On this page10 sections
What CPM means on Facebook
CPM measures the amount spent on an ad campaign, divided by impressions, multiplied by 1,000. For example, if you spent $50 and got 10,000 impressions, your CPM would be $5.
An impression is one time your ad was on screen. Two related columns are easy to confuse:
- CPP (cost per 1,000 people reached) counts people, not impressions. With a frequency of 1.5, CPP is 1.5 times your CPM.
- Cost per result — for a lead campaign, cost per lead — is the number that pays your bills.
You pay for impressions even when you optimise for leads
In Meta’s Marketing API, the billing event for the
LEAD_GENERATION and OFFSITE_CONVERSIONS goals can only be IMPRESSIONS (source).
Meta optimises for leads but charges per thousand impressions. So “CPM is a reach metric, not for performance campaigns” is wrong on
Facebook: every lead you buy is bought with impressions.
Who sets the price: the auction
Each impression goes to an auction. Meta says the winner of the auction is the ad with the highest total value, subject to a price floor (minimum price)
,
and total value combines three things: your bid, the estimated chance that this person takes the action you want, and ad quality
(source). The consequence that matters for a small business:
An ad that’s more relevant to a person could win an auction against ads with higher bids.
Your ad sets also don’t bid against each other inside one account. The price comes from other advertisers chasing the same people at the same moment — which is why the season and your industry move it.
Why is my Facebook CPM so high?
Meta names these reasons in its help center:
| What Meta says | What to do | |
|---|---|---|
| More competition | If auction competition increases, costs may go up.(source) | Check whether every campaign got dearer the same week; if so, it’s the market |
| Narrow audience | If your audience is too specific it may cost more to reach your relevant audience.(source) | Broaden the audience or radius, merge small ad sets |
| Low ad quality | Ads with a lower quality ranking tend to cost more(source) | Look at the quality ranking after 500 impressions; replace clickbait |
| Optimising for leads | the system may go after impressions with a higher cost, if that’s how we can achieve lower conversion prices.(source) | Nothing, if cost per lead holds |
| Cheap impressions used up | When those lower cost opportunities run out, the system may move on to more expensive options(source) | Expect it after a big budget rise; widen the audience |
| Creative fatigue | People engage less, so the cost per result rises (source) | Add an ad that looks clearly different |
Two popular fixes go against Meta’s advice. Narrowing the audience to “find cheaper people” usually raises CPM. And switching off a
placement because it looks expensive can raise the total: We don’t recommend removing a placement just because it has shown higher costs to date
(source). Meta calls the misreading the breakdown effect (source).
What we measured: dear impressions aren’t dear leads
One advertiser, 32 weeks, two ad accounts
We took every lead ad set of one online education business we work with from March to mid-October 2026 — about 3,000 ad set weeks — and compared each ad set’s CPM and cost per lead with the median of its own account in the same week.
| CPM against the week’s median | Cost per lead against the week’s median | |
|---|---|---|
| Cheapest fifth of ad sets | 41% lower | 26% lower |
| Second fifth | 19% lower | About the same |
| Middle fifth | At the median | 6% higher |
| Fourth fifth | 20% higher | 13% higher |
| Most expensive fifth | 66% higher | 8% higher |
- The dearest impressions didn’t bring the dearest leads. The top fifth paid 66% more per impression and only 8% more per lead — what Meta describes: pricier impressions, people more likely to leave their details.
- Cheap impressions did help. The cheapest fifth also had the cheapest leads, so CPM isn’t irrelevant — just not decisive.
- Inside one account, CPM differed 2.6 times between ad sets in the same week. “Our CPM” is an average of very different audiences.
- Week to week, the account’s CPM rarely jumped — by more than 15% in 6 weeks out of 62 — and its changes didn’t track cost per lead: they moved in the same direction about half the time.
The market: Meta’s own numbers
Meta reports the average price per ad to investors: total advertising revenue divided by the number of ads delivered.
(source) It’s not your CPM — it mixes every country, objective and format — but it shows the direction:
| Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|
| Worldwide | +6% | +12% | +12% |
| US & Canada | +9% | +14% | +20% |
| Europe | +12% | +19% | +10% |
| Asia-Pacific | −2% | +5% | +1% |
| Rest of world | +15% | +18% | +21% |
Change in average price per ad against the same quarter a year earlier (Meta, Q2 2026 earnings presentation).
The worldwide figure is lower than most regions because, as Meta puts it, ad impression growth is primarily in geographies that monetize at lower rates, such as Asia-Pacific.
Meta publishes its third-quarter results on 21 October 2026 (announcement).
Season. Meta tells investors that revenue is traditionally seasonally strong in the fourth quarter of each year due in part to seasonal holiday demand.
(source) It doesn’t give a CPM figure for it. In Superads’ US data, the median CPM in November 2025 was about
a third higher than in July 2026 (source). If you sell before the holidays, expect dearer impressions from
November and budget for it.
What is a good CPM on Facebook?
Meta publishes no benchmark, and the published ones disagree because they measure different advertisers:
| Typical CPM | Who is in the sample | |
|---|---|---|
| Databox | $7.26 median | 2,800+ companies with 1,000+ employees; period not stated |
| Triple Whale via Influee | $14.19 average, 2025 | About 35,000 online-store ad accounts |
| Superads | $20.59 worldwide, $23.42 US | Its customers’ accounts, July 2025 – July 2026, mostly online stores |
None of them is for lead campaigns. A more useful benchmark is your own ad account: the same objective, the same country, last month against this month. If CPM rose and cost per lead didn’t, nothing needs fixing.
What to do on a lead campaign
Meta is direct about it: if you’ve optimized your ad set for conversions, looking at the cost per thousand impressions (CPM) may not be a good indicator of performance.
(source) Use CPM as one of three parts of cost per lead:
- Check cost per lead against the same ad set’s previous weeks. If it holds, a higher CPM is fine.
- If cost per lead rose, split it into the price of impressions (CPM), clicks per impression (CTR) and leads per click — the part that moved tells you where to look (how).
- If CPM is the part, check whether all campaigns rose the same week (market or season), whether the audience is narrow (frequency climbs with it), and the ad’s quality ranking.
- Don’t cut placements or narrow the audience just to lower CPM.
Ask why CPM moved: Variafy
Variafy connects ChatGPT, Claude and other assistants to your Meta ad accounts. Ask “Why did my cost per lead go up this week?” and it splits the change into the price of impressions, clicks and conversion, compares it with the rest of the account to tell the market from your campaign, and with your CRM connected shows whether the dearer leads still turned into sales.
How we checked
Checked on 17 October 2026 against Meta’s Business Help Center (CPM glossary, ad auctions, cost per result, ad quality, conversion optimisation and CPM, cost factors, creative fatigue, breakdown effect), Meta’s Marketing API documentation on billing events, Meta’s 2025 annual report and Q2 2026 earnings presentation, and the benchmark pages of Databox, Superads and Influee (for Triple Whale). We also read the pages that rank for these searches.
Our own figures: weekly spend, impressions and leads for every ad set from Meta’s API, about 3,000 ad set weeks from one online education business, two ad accounts, 2 March to 11 October 2026. Each ad set is compared with its account’s median in the same week.
Variafy is our product.
Questions
What is CPM in Facebook ads?
Cost per 1,000 impressions: the amount spent divided by impressions, multiplied by 1,000. If you spent $50 and got 10,000 impressions, your CPM is $5. On lead campaigns Meta charges for impressions, so CPM is the price you pay for every lead you buy.
Why is my Facebook CPM so high?
Meta lists more competition, a narrow audience, lower ad quality, cheaper impressions running out, creative fatigue and optimising for conversions, where it may buy dearer impressions to get cheaper results. The season matters too: Meta’s revenue is strongest in the fourth quarter.
What is a good CPM for Facebook ads?
Meta publishes none. Public benchmarks range from about $7 (Databox, large companies) to $23 (Superads, US), because they measure different businesses and countries. Compare with your own account for the same objective and country, and judge cost per lead first.
Does a higher CPM mean a worse campaign?
Not on a lead campaign. Meta says CPM may not be a good indicator for conversion-optimised ad sets. In our data, ad sets with 66% dearer impressions paid only 8% more per lead. Look at cost per lead and sales first.
What is the difference between CPM and CPP on Facebook?
CPM is the cost per 1,000 impressions; CPP is the cost per 1,000 people reached. Because one person can see an ad several times, CPP is higher than CPM whenever frequency is above 1.