What is CPM in advertising? CPM (cost per mille) is the price an advertiser pays for 1,000 ad impressions. "Mille" is Latin for thousand. You calculate it by dividing total spend by total impressions, then multiplying by 1,000. So $500 for 100,000 impressions is a $5 CPM. It is the standard pricing unit for awareness channels like display, programmatic, CTV/OTT, and audio, where the goal is reach, not an immediate click.
What is CPM in advertising? The formula, the only one you need
CPM = (total cost / total impressions) x 1,000.
Run it both directions, because you will need both:
- Solving for cost: you know the CPM and the impressions you want. Cost = (CPM x impressions) / 1,000. A $12 CPM for 500,000 impressions = $6,000.
- Solving for CPM: you know what you spent and what you got. CPM = (spend / impressions) x 1,000. You spent $3,000 and got 250,000 impressions, that is a $12 CPM.
One impression is one ad served, one time, to one screen. It is not a view, not a click, not a person. The same human can generate ten impressions in an afternoon. That distinction is the whole reason CPM gets misread, and we will get to it.
Why "mille" and why 1,000
Impressions come in enormous numbers. Pricing per single impression would mean quoting fractions of a cent, which is unworkable on a media plan. The industry settled on per-thousand as the readable unit decades ago, and it stuck across every channel that sells reach. When a rep quotes you "an eighteen dollar CPM" on connected TV, they mean eighteen dollars buys your ad 1,000 times on someone's screen.
How a CPM gets set
A CPM is not a fixed sticker price. On most modern inventory it is the settled result of an auction. In programmatic, your demand-side platform submits a bid for each individual impression as the page or stream loads, and real-time bidding decides in milliseconds who wins and at what clearing price. Roll those millions of micro-auctions up over a campaign and the average becomes your effective CPM.
What pushes that number up or down:
- Targeting precision. Broad, run-of-network impressions are cheap because almost anyone counts. The tighter the audience (a specific job title, a recent in-market signal, a retargeting pool of past visitors), the more advertisers compete for the same person, and the higher the CPM.
- Inventory quality. Full-screen, sound-on, unskippable CTV commands more than a banner three scrolls down. Premium publishers price accordingly.
- Supply and competition. When more advertisers chase the same eyeballs (Q4 retail, an election cycle), CPMs rise. Off-season, they soften.
- Format and viewability. Placements likely to be seen cost more, and they should. A cheap impression nobody can view is not a bargain.
This is why two campaigns with identical budgets can post substantially different CPMs. You are not buying "impressions" in the abstract. You are buying a specific audience, on specific inventory, at a specific moment, against everyone else who wants them.
Media CPM vs loaded CPM (where the money hides)
Here is the distinction that separates an honest media plan from a marked-up one. The CPM a platform or rep quotes is usually the media rate: the raw cost of the inventory. Your loaded CPM (the number that leaves your bank account) stacks the costs sitting underneath:
- DSP or platform fees
- Audience and data costs
- Verification and brand-safety tools
- Agency management fee
Add those up and the loaded CPM can land meaningfully above the quoted media rate. None of that is sinister on its own; tooling and management cost real money. The problem is when an agency quotes you the media CPM, marks up everything beneath it, and never shows you the difference. That gap is where budget quietly disappears.
A transparent partner shows you both numbers and the line items in between. We do, which is also why we publish our media pricing instead of hiding it behind a quote form.
CPM vs CPC vs CPA: which number is doing the work
These are three different pricing and measurement models, and confusing them is how budgets get wasted.
| Metric | You pay per | Best for | What it tells you |
|---|---|---|---|
| CPM | 1,000 impressions | Awareness, reach, top of funnel | What it costs to be seen |
| CPC | Click | Traffic, mid-funnel | What it costs to earn attention |
| CPA | Acquisition (lead/sale) | Conversion, bottom of funnel | What it costs to win a customer |
CPM buys presence. You pay to show up whether or not anyone acts. That is correct and intentional for brand and demand-generation channels: streaming TV, programmatic display, Spotify and audio, social reach campaigns. You are building familiarity so that when the buyer is ready, you are already in their head.
CPC and CPA buy outcomes further down the funnel. If your only goal is bottom-funnel conversions, a pure CPM buy with no follow-through measurement is the wrong tool. The right answer on most accounts is a stack: CPM channels create demand, then CPA and ROAS tell you whether that demand paid off. CPM is the cost of the megaphone. ROAS is whether the megaphone made you money.
Typical CPM ranges by channel
Real, current ranges so you can sanity-check a quote. These are media-rate ballparks for 2026 and they move with targeting, inventory quality, season, and competition. Treat them as a gut-check, not a guarantee.
- Run-of-network display: roughly $1 to $4 CPM for broad audiences.
- Targeted display (behavioral, interest, firmographic): roughly $4 to $25 CPM, climbing with precision (B2B job-title targeting sits at the top).
- Programmatic video: roughly $8 to $30 CPM depending on inventory and targeting.
- CTV / OTT (Hulu, Roku, Peacock, Max, Paramount+): roughly $25 to $45 CPM for standard premium inventory, higher for live sports and audience-data buys.
- Paid social reach: varies widely by platform and format, commonly mid-single to low-double digits.
Remember these are media rates. Once you add the fees from the section above, the loaded CPM you pay sits higher, sometimes by a lot. When you are evaluating a CTV or OTT proposal, ask which number you are looking at before you compare anyone's pricing to anyone else's.
Is a lower CPM always better? No.
This is the single most common CPM mistake, so read it twice. A low CPM means you bought impressions cheaply. It says nothing about whether those impressions reached the right people or did anything.
You can buy a $1 CPM all day on junk inventory: invalid traffic and bots, made-for-advertising sites, ads stacked below the fold where no human ever sees them. Cheap and worthless. Meanwhile a $40 CTV CPM that lands your brand in front of exactly your buyer, full-screen, sound-on, unskippable, can be the best money on the plan.
Judge CPM by effective cost against the outcome you care about, not by the raw number. The questions that matter: Did real humans see it? Were they the right humans? Did the channel move a downstream metric (site visits, branded search lift, conversions, ROAS)? A higher CPM that drives results beats a lower CPM that drives nothing, every single time.
One more lever worth knowing: spreading the same budget across too few people drives your CPM higher and burns your audience out. Frequency capping keeps you from paying premium rates to hit the same handful of viewers twenty times, which is both wasteful and annoying.
Where CPM shows up at MoonSauce
CPM is the operative number on every reach channel we run. On programmatic and CTV/OTT, it is the unit your whole media plan is priced in. We do not play CPM games (no buying garbage inventory to brag about a low number, no quoting media rates while burying the fees). We show you the loaded CPM, the inventory it bought, and what it did downstream. That is the entire point.
The bottom line
CPM is simple math with a lot of room to get fooled. Spend over impressions, times 1,000. The skill is not the formula, it is knowing when a $40 CPM is a steal and a $2 CPM is a trap. If you are running reach channels and nobody has shown you your loaded CPM and what it drove, you are flying blind.
Want a straight read on whether your media is priced right and pointed at the right people? Get in touch, email us at admin@moonsauceagency.com, or grab 30 minutes. We will show you the real numbers, including ours. No obligation, no runaround.