What is CPM, and why is a lower one not always better?
Part of Programmatic media planning
The short answer
CPM is cost per mille, the price of one thousand ad impressions. It equals spend divided by impressions, times 1,000. Viewable CPM counts only impressions measured as viewable, and effective CPM converts any cost or revenue to a per thousand figure. A lower CPM is only cheaper if the impressions it buys are the ones the plan wanted.
Key takeaways
- CPM is spend divided by impressions, times 1,000, so a $5 CPM means half a cent per impression.
- Programmatic prices are quoted in CPM even though each auction sells one impression; OpenRTB says so in its definition of a bid price.
- Viewable CPM and effective CPM change the denominator or the numerator, so two figures labeled CPM are comparable only when both are defined the same way.
- Divide CPM by the share of impressions that met the plan's conditions to see the real price of what was wanted.
- Floors, deal prices and clearing prices are all expressed in CPM, and fees and discounts can sit between the bid and the price reported.
What does CPM mean in advertising?
Definition
- CPM (cost per mille)
- The price of one thousand ad impressions. Mille is Latin for thousand. CPM is used both as a buying model, where the buyer pays per thousand impressions served, and as a common unit for comparing prices across media.
Google Ads defines it as "a way to bid where you pay per one thousand views (impressions) on the Google Display Network" (opens in a new tab). In programmatic auctions, CPM is also the unit for every price that moves between buyer and seller. The OpenRTB 2.6 specification (opens in a new tab) defines a bid's price as "bid price expressed as CPM although the actual transaction is for a unit impression only." Each auction sells a single impression, but everyone quotes it as if it were a thousand, which keeps prices readable.
That convention has a practical consequence for planners. A floor of $2.50, a bid of $4.00 and a deal price of $6.00 are all prices per thousand. The cost of one impression at a $4.00 CPM is four tenths of a cent. Plans, deal sheets and reports should state the currency next to every CPM, because OpenRTB's bidfloorcur, the currency of a floor, defaults to USD when the seller does not set it, so a plan budgeted in CAD has to say so.
How do you calculate CPM from spend and impressions?
Every CPM calculation is the same relationship between three numbers: spend, impressions and the price per thousand. Know any two and the third follows. The figures below are illustrative arithmetic, not prices or results from any campaign.
| To find | Formula | Worked arithmetic |
|---|---|---|
| CPM | Spend divided by impressions, times 1,000 | $1,200 for 300,000 impressions: 1,200 / 300,000 x 1,000 = $4.00 |
| Impressions a budget buys | Spend divided by CPM, times 1,000 | $1,200 at a $4.00 CPM: 1,200 / 4 x 1,000 = 300,000 |
| Spend for a target volume | CPM times impressions, divided by 1,000 | 500,000 impressions at $4.00: 4 x 500,000 / 1,000 = $2,000 |
| Price of one impression | CPM divided by 1,000 | $4.00 / 1,000 = $0.004 |
What is the difference between CPM, vCPM and eCPM?
The three terms share a formula and differ in what goes into it. CPM uses impressions as counted by the platform. Viewable CPM uses only impressions measured as viewable under the viewability rules. Effective CPM turns any cost or revenue, however it was bought or sold, into a price per thousand impressions so it can be compared.
| Metric | What it divides by | Typical use | Source wording |
|---|---|---|---|
| CPM | All impressions counted | Buying model and price unit in display deals | Google Ads: pay per one thousand impressions on the Display Network |
| vCPM (viewable CPM) | Viewable impressions only | Buying or reporting where the buyer pays only for ads that could be seen | Google Ads: "you bid on 1,000 viewable impressions and you pay for impressions that are measured as viewable" |
| eCPM (effective CPM) | Impressions, applied to spend or revenue from any pricing model | Comparing a cost per click or flat fee buy with CPM buys; publisher revenue reporting | Google Ad Manager: revenue divided by a count, times 1,000, with three different counts |
eCPM shows most clearly why definitions matter. Google Ad Manager's eCPM help page (opens in a new tab) lists three versions for one exchange: revenue divided by ad requests, by matched requests or by impressions, each times 1,000. The ad request version "factors in fill rate," and the impressions version "removes the impact on the denominator of ads that are served, but do not result in impressions." Same revenue, three different eCPMs. On the buy side, eCPM can put a cost per click buy on the same scale: total cost divided by impressions, times 1,000.
Google's viewable CPM page (opens in a new tab), checked October 2026, offers vCPM bidding for Display Network only campaigns and warns that "your bid for your viewable CPM might need to be higher than your bid for a standard CPM campaign." That follows from the arithmetic: the same spend divided by fewer impressions gives a higher price per thousand. In June 2026 Google began a phased rollout of a migration tool that moves Google Display Ads campaigns to Demand Gen, so confirm the bid strategies available in the account.
Why does a lower CPM not imply a better outcome?
CPM prices impressions, not the things a plan is built to buy: ads that could be seen, on sites the client approved, beside content that fits the brief. A cheap impression that fails those conditions is not a bargain. The useful number is the price per thousand impressions that met the plan's conditions, which is the CPM divided by the share that qualified.
| Step | Line item A | Line item B |
|---|---|---|
| Quoted CPM | $3.00 | $6.00 |
| Share of impressions measured as viewable | 40 percent | 80 percent |
| Price per thousand viewable impressions | $3.00 / 0.40 = $7.50 | $6.00 / 0.80 = $7.50 |
| Share of viewable impressions on approved domains | 50 percent | 95 percent |
| Price per thousand viewable impressions on approved domains | $7.50 / 0.50 = $15.00 | $7.50 / 0.95 = about $7.89 |
Low prices also attract inventory a plan should avoid. Sites built to resell bought traffic can offer plentiful, cheap impressions that pass basic filters, as the guide to made-for-advertising sites explains. A plan that ranks supply by CPM alone will drift toward them. Set the inventory first with an inclusion list, then compare prices among sites that already qualify.
How do auction floors and deal prices relate to CPM?
Every price in a programmatic transaction is a CPM, but they are set by different parties at different moments. The seller sets the floor, buyer and seller agree a deal price, the DSP sets the bid and the auction sets the clearing price. The MRC Digital Advertising Auction Transparency Standards (opens in a new tab), issued in January 2026, cover disclosure and reporting for digital ad auctions across display, text, video and audio formats.
| Price | Who sets it | Definition |
|---|---|---|
| Floor | The seller | OpenRTB bidfloor: "minimum bid for this impression expressed in CPM" |
| Deal price | Agreed by buyer and seller | OpenRTB deal auction type 3: "the value passed in bidfloor is the agreed upon deal price" |
| Bid | The buyer's DSP | OpenRTB price: "bid price expressed as CPM" |
| Clearing price | The auction | OpenRTB AUCTION_PRICE macro: the "clearing price using the same currency and units as the bid," reflecting "the final price after discount" |
| Effective bid | The auctioneer | MRC: the value an auctioneer attributes to a nominal bid, typically the bid times its bid factors |
In a first price auction the winner pays its bid, so the clearing price and the bid are close. Between the bid and the reported cost, fees and discounts can apply. OpenRTB's AUCTION_PRICE macro reflects "the final price after discount." When a reported CPM differs from the bid, ask the exchange and the DSP which fees and discounts applied. The guide to how a DSP bids covers where the floor enters the bid decision.
How does PlacementGraph help before a CPM is negotiated?
What does a CPM review look like for one advertiser?
Fictional example
A dental clinic group in Calgary and Edmonton
A fictional Alberta group of family dental clinics wants display ads in Calgary and Edmonton, in English, beside parenting, local news and family health articles, to promote new patient bookings. The client's finance lead asks why the agency's proposal carries a higher CPM than an offer the clinic received directly from an ad network.
The planner rebuilds both offers on the same footing. She asks the network what it counts as an impression, which domains it would serve on and whether it reports a measured rate. The answers show the network's price covers a broad pool of sites, most of them outside the approved list, and that its reports are not split by domain.
The planner presents the comparison as price per thousand viewable impressions on approved domains, using the arithmetic in this guide, with the currency stated as CAD. The client keeps the agency's private auction with two Alberta publishers on the list and asks for the same view in the monthly report.
Frequently asked questions
What does the M in CPM stand for?
Mille, the Latin word for thousand. CPM is cost per mille, the price of one thousand impressions. The arithmetic is the same for display, video and audio: spend divided by impressions, times 1,000, with the currency stated beside the result.
How do you convert a cost per click into an effective CPM?
Multiply the cost per click by the number of clicks to get total cost, divide by impressions, then multiply by 1,000. For illustration, 200 clicks at $1.50 over 100,000 impressions is $300 divided by 100,000, times 1,000, or a $3.00 effective CPM. The result lets a click priced buy sit beside CPM priced buys.
Why does a report show a lower CPM than the bid?
In a second price auction the winner pays less than its bid, and in any auction the seller may apply a discount, which OpenRTB reflects in the clearing price macro. Reports can also be built on a different impression count than the bid, such as viewable or filtered impressions. Ask which count and which fees the reported CPM includes.
Can CPMs from the US and Canada be compared directly?
Only after converting to one currency and confirming both use the same impression count. OpenRTB floors default to USD unless the seller names another currency, so a Canadian deal sheet should state whether its CPMs are in CAD or USD. Market conditions also differ by country and season, so compare like with like.
Sources
- Cost-per-thousand impressions (CPM): Definition (opens in a new tab)Google Ads Help
- Bid on viewable impressions using viewable CPM (opens in a new tab)Google Ads Help
- Understanding eCPM in Ad Exchange (opens in a new tab)Google Ad Manager Help
- OpenRTB 2.6 specification (opens in a new tab)IAB Tech Lab
- Digital Advertising Auction Transparency Standards (January 2026) (opens in a new tab)Media Rating Council
Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.