CPM Formula: How to Calculate Cost per Thousand Impressions

CPM formula with a three-placement awareness campaign, the Excel formula, how to plan impressions from a budget, and when CPM comparisons mislead.

Summary

CPM = Ad spend ÷ Impressions × 1,000. It is the cost of 1,000 ad impressions and the standard way to compare reach costs across channels. A $14,500 awareness campaign that delivered 1,527,000 impressions had a blended CPM of $9.50.

On this page
  1. Cost per mille (CPM) formula
  2. How to calculate cost per mille (CPM) in Excel and Google Sheets
  3. Worked example
  4. How to interpret cost per mille (CPM)
  5. Common mistakes
  6. Calculate cost per mille (CPM) with Better Analyst
  7. Further reading
  8. FAQ

Cost per mille (CPM) formula

Formula
CPM = Ad spend ÷ Impressions × 1,000
  • Ad spend: Media cost for the placement and period.
  • Impressions: Number of times the ad was served. For video or audio, check whether the platform counts a served ad or a minimum view/listen.

How to calculate cost per mille (CPM) in Excel and Google Sheets

Excel, using the cells in the worked example below:

Excel
=SUM(B2:B4)/SUM(C2:C4)*1000

Worked example

A regional credit union ran a four-week awareness campaign for a new savings account across social, online video and streaming audio, and wants comparable reach costs.

Four-week awareness campaign (table starts in cell A1)
PlacementSpendImpressions
Meta (Facebook + Instagram)$4,800812,000
YouTube$6,200540,000
Streaming audio$3,500175,000
  1. Total spend = $14,500; total impressions = 1,527,000.
  2. Blended CPM = 14,500 ÷ 1,527,000 × 1,000 = $9.50.
  3. By placement (=B2/C2*1000 filled down): Meta $5.91, YouTube $11.48, streaming audio $20.00.
  4. Planning: at a $9.50 CPM, a $20,000 budget buys 20,000 ÷ 9.50 × 1,000 = 2,105,263 impressions, about 2.1 million.

Result: $9.50 blended CPM

How to interpret cost per mille (CPM)

CPM tells you what reach costs, not what it achieves. Formats differ: a mostly skippable social impression and a 30-second audio spot heard in full are not the same unit, so a higher CPM can still be the better buy. Use CPM to compare similar placements over time and to plan budgets, then judge outcomes with CTR, cost per acquisition or brand-lift studies. CPMs also move seasonally, typically rising in the fourth-quarter holiday period as more advertisers compete for the same audiences.

Common mistakes

  • Comparing CPM across formats as if impressions were equal. Normalise by viewable or completed impressions when you can.
  • Forgetting the × 1,000. Spend ÷ impressions alone is cost per impression, a tiny number that is easy to misread.
  • Averaging placement CPMs. Divide total spend by total impressions for the blended figure.
  • Optimising for low CPM alone. The cheapest inventory is often the least seen or least relevant audience.

Calculate cost per mille (CPM) with Better Analyst

Connect your data or upload a spreadsheet, then ask in plain English. Better Analyst writes and runs the calculation and shows the steps, so you can check the number.

  • “Calculate CPM, CTR and CPA by placement for this campaign export.”
  • “How many impressions can we buy with $20,000 at each placement's current CPM?”
  • “Chart weekly CPM by channel for the last 12 months to show seasonality.”

Usually calculated from: Google Sheets, Google BigQuery, Snowflake, Google Analytics.

Try Better Analyst free

Further reading

Frequently asked questions

What does CPM stand for?
Cost per mille, from the Latin for thousand. It is the price of 1,000 impressions.
How do I calculate impressions from a CPM and budget?
Impressions = Budget ÷ CPM × 1,000. A $5,000 budget at a $12.50 CPM buys 400,000 impressions.
What's the difference between CPM and CPC?
CPM is cost per 1,000 impressions; CPC is cost per click. They are linked by CTR: CPC = CPM ÷ (CTR × 1,000). A $10 CPM with a 1% CTR works out to a $1.00 CPC.