
CPM Formula and Average CPM by Platform
CPM (cost per mille) = (total ad spend ÷ total impressions) × 1,000, so $8,000 spent on 200,000 impressions is a $40 CPM. Median CPM runs about $13 on Meta, $49 on LinkedIn and $4 on TikTok. Across platforms, add up spend and impressions first and divide once; averaging each platform’s CPM gives the wrong number.
CPM, or cost per mille, is the cost per thousand ad impressions. Here is how CPM is calculated: total spend divided by total impressions, multiplied by a thousand. Across multiple platforms, you sum the spend and impressions separately and divide once, because averaging platform CPMs overstates the aggregate whenever the expensive platform serves fewer impressions.
If you take a look at the example below, you can see this error yields a thirty-five percent swing in the numbers. Due to its subtlety, this likely would have made its way into a client deck, so it’s important to be conscious of how this equation works.
Cost per mille (CPM) = (Total spend ÷ Total impressions) × 1,000
With $8,000 spent and 200,000 impressions served, your CPM comes to $40. Cost per mille is French for cost per thousand.
Why averaging platform CPMs gives you the wrong number
Here’s a campaign with ten thousand dollars split across two platforms, both platform CPMs being perfectly correct on their own.
Platform | Spend | Impressions | CPM |
$8,000 | 200,000 | $40.00 | |
Meta | $2,000 | 400,000 | $5.00 |
Averaged | $22.50 | ||
Weighted (correct) | $10,000 | 600,000 | $16.67 |
Average the two CPMs and you get $22.50, which sits thirty-five percent above what the campaign actually delivered. The average treats LinkedIn and Meta as equal contributors even though Meta served twice the impressions for a quarter of the spend.
Weighting fixes this because it uses the raw ingredients instead of combining two finished numbers. Sum the spend, sum the impressions, divide once at the end.
This rule generalizes past CPM and can be applied to other metrics as well. Any metric that is a ratio has to be rebuilt from raw totals rather than averaged from the ratios themselves. You can’t average CPA or ROAS across platforms either. That’s the same class of problem in another sense too. When a post earns organic shares and comments, platforms fold those earned impressions into the same impression count as paid delivery, so the denominator grows without a matching increase in spend. That’s the mechanic that pulled a blended CPM from forty dollars down to $3.84 in the earned impressions breakdown. Data pipelines like Supermetrics pass each platform’s spend and impressions through as reported, so the blending math is still on you.
Why platforms report different CPMs for the same campaign
Weighting correctly still leaves you with a denominator that means slightly different things depending on where it came from. The two platforms in the example above don’t count impressions the same way, and have published documentation supporting that.
LinkedIn records an impression on Sponsored Content when the ad is at least fifty percent in view for one full second on desktop, or three hundred milliseconds on mobile.
Meta counts an impression the first time an instance of the ad is on screen, with no viewability threshold attached. A video doesn’t need to start playing, and scrolling past counts.
Identical delivery produces different impression counts, which means identical spend produces different CPMs. As a rule, cross-platform CPMs are always an approximation and never a precise figure.
Where impressions get fragile
The supply chain for buying programmatic display on the open web is hard to audit, and fraudulently billed impressions are an unfortunate and persistent cost.
Buying on platform properties like LinkedIn or Instagram means you know exactly who your counterparty is. What counts as an impression is documented, the billing is traceable, and disputes have somewhere to go.
The MRC viewable impression guidelines are the closest thing the industry has to common ground, so knowing which of your platforms hold to them is valuable. Plenty of good campaigns run on both open web and walled garden, so there is a place for either.
What matters is that your aggregate CPM carries a note about which inventory produced it. A low open-web CPM and a higher platform CPM aren’t measuring the same thing.
Average CPM by platform
Platform | Median CPM | Who’s in the data | Source |
Meta (Facebook and Instagram) | $13.48 | Nearly 35,000 e-commerce brands | |
LinkedIn Sponsored Content (single image) | $48.80 | 464 B2B accounts | |
TikTok | $4.07 | 6,000+ e-commerce stores | Triple Whale |
YouTube | $7.05 (average) | Multiple industries, all objectives | |
Google Display, Demand Gen, Performance Max | No reliable public figure | Google publishes none | n/a |
Benchmarks only help when the data matches your situation. US e-commerce brands paid $16.08 on average on Meta in one dataset. A tracker that includes cheap reach campaigns puts Meta at $8.32, and both numbers are correct because they measure different advertisers. Part of LinkedIn’s premium over Meta comes from the impression rules described earlier: LinkedIn counts an ad only after half of it has been in view for a second, while Meta counts it as soon as it’s on screen.
What is a good CPM?
A good CPM is at or below the median for your platform, country, objective and industry. Although a median is a useful starting point, your own trend is the better test: a CPM that dropped forty percent over a campaign for reasons you can explain means more than one that happens to sit under an average.
Compare the fourth quarter with last year’s fourth quarter, never with the annual average. In Gupta Media’s data, Meta’s Black Friday week averaged $13.42, against $6.05 that January. LinkedIn moves differently, and March is its cheapest month in Kiin Labs’ data.
CPM vs CPC
CPM charges you for every thousand impressions served, while CPC charges you only when someone clicks. Although CPM is great for reach campaigns where being seen is the goal, CPC is a better fit when you only want to pay for traffic.
You can convert one into the other with your click-through rate: CPC = CPM ÷ (CTR × 1,000).
Platform | CPM | CTR | Effective CPC |
|---|---|---|---|
$40.00 | 0.5% | $8.00 | |
Meta | $5.00 | 1.0% | $0.50 |
A higher CPM can still win on cost per click when the audience clicks more often, so compare both before you move budget.
Google Ads CPM vs Meta and TikTok CPM
Google Ads, Meta, and TikTok all report CPM, but each one counts the impressions underneath it differently, so the same budget produces different numbers on each platform.
Google Ads lets display campaigns bid on viewable CPM, which counts an impression only when at least fifty percent of the ad is on screen for one second. Meta counts an impression the first time the ad appears on screen, with no viewability threshold. TikTok counts an impression each time the ad is shown in the feed.
Although each platform’s CPM is correct on its own terms, a lower CPM on one platform doesn’t mean cheaper reach, so compare cost per result before moving budget between them.
How to reduce CPM
When your CPM climbs, the auction is charging you more to reach the audience you chose. These steps lower it without changing your budget.
Widen the audience. Narrow targeting puts you against every advertiser chasing the same people, so loosen interest and job-title layers first.
Open more placements. On Meta, Advantage+ placements add Reels, Stories, and Audience Network inventory, which usually costs less than Feed alone.
Refresh creative when frequency rises and click-through rate falls together, because tired ads cost more to keep delivering.
Match the objective to the goal. Conversion-optimized campaigns bid for the people most likely to buy, so a reach objective buys cheaper impressions when reach is what you need.
Move awareness spend away from peak retail weeks, when advertisers compete for the same inventory.
Here’s what opening placements does to a Meta campaign with the same $2,000 budget:
Spend | Impressions | CPM | |
|---|---|---|---|
Before (Feed only) | $2,000 | 160,000 | $12.50 |
After (Advantage+ placements) | $2,000 | 250,000 | $8.00 |
Although a lower CPM stretches your budget, cheaper impressions only help when they reach the people you wanted, so check cost per result before and after each change.
Getting the same number every time
Although this formula is well known, this remains one of the most common metrics we see goofed up in reporting. Both the weighted and averaged version look plausible, so it’s easy to accept the results of your calculation, but it’s important to be sure you’re calculating accurately and consistently across reports.
Summer puts all your marketing data in one place that you can talk to, so the aggregate is built the same way regardless of who asks. Everything lands in a normalized layer, one metric meaning the same thing everywhere, and CPM doesn’t change definition between the campaign view and the client summary.
Ask any campaign question in plain English and get a verified answer back. Every answer carries an audit trail with the query it asked and the rows it investigated, so you can check the work when a number surprises you.
When a client asks why the aggregate isn’t just the average of the two platforms, the explanation is sitting there. Connect once, ask anything. Free thirty-day trial, no credit card required.
Frequently asked questions
What does CPM stand for?
CPM stands for cost per mille, where mille is the French word for thousand. It measures what you pay to serve a thousand impressions, rather than a thousand clicks or a thousand people.
What is the CPM formula?
CPM equals your total spend divided by your total impressions, multiplied by 1,000. Spend $8,000 for 200,000 impressions and your CPM comes to $40.
How is CPM calculated?
CPM is calculated by dividing your total ad spend by your total impressions and multiplying by 1,000. For several platforms, add up the spend and the impressions first, then divide once.
How do you calculate CPM in Excel?
Put spend in column B and impressions in column C, then enter =B2/C2*1000 in column D to get the CPM for each row. For a blended CPM across platforms, use =SUM(B2:B3)/SUM(C2:C3)*1000 instead of averaging column D, because AVERAGE repeats the error shown in the table above.
How do you calculate CPM across multiple platforms?
Divide the sum of spend across all platforms by the sum of impressions across all platforms, then multiply by a thousand. Averaging the individual platform CPMs overweights the platforms where you served fewer impressions.
Why is averaging platform CPMs wrong?
Averaging treats every platform as an equal contributor even when their impression volumes are very different.
What is a good CPM?
A good CPM sits at or below the median for your platform and objective: about $13 on Meta, $49 on LinkedIn Sponsored Content and $4 on TikTok.
What is the average CPM on LinkedIn?
The median for single-image Sponsored Content is $48.80 across 464 B2B accounts, and US-only campaigns run higher.
What is the average CPM on Facebook?
The median across Facebook and Instagram is $13.48 across nearly 35,000 e-commerce brands, and US e-commerce runs about $16.
What’s the difference between impressions and reach?
Impressions count how many times an ad was served, while reach counts how many distinct people saw it. One person seeing an ad ten times produces ten impressions and one unit of reach.

