CPM Formula: How to Calculate Cost Per Mille Across Platforms

CPM is your total spend divided by your total impressions, multiplied by a thousand. Across multiple platforms you sum the spend and impressions separately first, then divide once, because averaging your 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.  

CPM = (Total spend ÷ Total impressions) × 1,000

With a spend of eight thousand dollars and two hundred thousand impressions served, your CPM comes to forty dollars. Cost per mille is French for cost per thousand, which is the most elegant thing about it.

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

LinkedIn

$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. This is the same class of problem we walked through in why reaching your data shouldn't take three days, where subtle calculatory differences can make a startling difference in accuracy.

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.

What is a good CPM?

There's no universal benchmark for a “good” CPM, because CPM shifts with platform, format, audience, targeting tightness, and season. A tightly targeted LinkedIn campaign aimed at finance directors will always cost more per thousand than a broad reach campaign on Meta.

Tracking your own movement and being able to explain it is more valuable than comparing yourself to a figure from an external campaign. A CPM that climbed forty percent over the lifespan of a campaign is a wonderful accomplishment, whereas simply having a CPM that's higher than an industry average found in a blog post or benchmark may not mean as much.

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 a thousand. Spend eight thousand dollars for two hundred thousand impressions and your CPM comes to forty dollars.

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?

There's no universal benchmark because CPM shifts with platform, format, audience, targeting tightness, and season. 

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.

How do you lower your CPM?

Broader targeting, more placements, and less competitive auction conditions all tend to pull CPM down. Whether that's a win depends on whether the cheaper impressions reach anyone you actually wanted.

Hot Mike

CTO of Summer / Host of Hot Mike Cool Data