Skip to main content

How-to playbook

Playbook

How to Calculate CPM Step by Step

To calculate CPM, divide ad spend by impressions and multiply by 1,000. The same formula can also solve for spend or impressions when CPM is fixed.

By Jessica Martin, Advertising Optimization Strategist. Last updated 2026-04-28.

What You Need Before You Start

Three pieces of data and two decisions before any number is reliable:

  • Total ad spend for the period, in one currency.
  • Total impressions for the same period, with a clear definition (delivered vs viewable).
  • The CPM goal. Decide upfront whether you are calculating CPM, solving for spend, or solving for impressions — the rearrangement differs.
  • Date range agreed in writing if multiple stakeholders use the report.
  • Currency standardized — convert any FX-exposed spend before dividing.

Step 1 — Pull Spend and Impressions for the Same Window

Open your ad platform report (Google Ads, Meta Ads Manager, TikTok Ads, LinkedIn Campaign Manager). Filter to the campaign or ad set you want to analyze, then select an explicit date range — last 7 days, last 30 days, or a custom window.

Note both numbers in the same row. If you are auditing a multi-campaign account, sum spend and sum impressions separately before dividing — never average per-campaign CPMs.

Step 2 — Divide Spend by Impressions

Take total ad spend and divide it by total impressions. The result is cost per single impression — usually a tiny decimal like 0.0042.

$1,500 ÷ 200,000 = 0.0075

This number alone is not the CPM yet. The next step turns it into a per-thousand figure.

Step 3 — Multiply by 1,000

Multiply the cost-per-impression number by 1,000:

0.0075 × 1,000 = $7.50

That is your CPM — the cost of delivering 1,000 ad impressions during the period you measured. In Excel or Google Sheets, write the entire calculation in one cell as =spend/impressions*1000 and format the result as currency.

Step 4 — Compare to the Right Benchmark

A CPM number is meaningless without context. Compare your result to a matching benchmark — same platform, same country tier, similar audience size:

  • YouTube CPM should be benchmarked against YouTube ranges, not display. Use the YouTube CPM calculator page for the right slice.
  • LinkedIn CPM ($25–$80) is structurally higher than Meta CPM and should not be flagged as "expensive."
  • Q4 CPMs run 20–40% above Q1 because of holiday demand.

For platform-by-platform 2026 ranges see Good CPM Rates 2026; for industry-vertical breakdown see CPM by Industry.

Step 5 — Decide What the Number Will Change

A CPM with no decision attached is dashboard noise. Before closing the spreadsheet, write one sentence about what the number will trigger:

  • "CPM rose 18% week-over-week — refresh creative on Wednesday."
  • "CPM is 30% below benchmark — increase budget by 25% next week."
  • "CPM looks normal — no action this week, re-check next Tuesday."

This habit converts CPM from a vanity metric into a working signal.

Common Mistakes to Avoid

  1. Mixing weekly and monthly windows. Always align spend and impressions to the same time window before dividing.
  2. Using a generic benchmark. Comparing YouTube CPM with display CPM produces false alarms.
  3. Forgetting the ×1,000. If your CPM result is in the thousandths, you forgot the final multiply.
  4. Mixing impression definitions. Delivered ≠ viewable. Reports must be like-for-like.
  5. Treating CPM as profit. CPM is a cost. Only ROAS or CPA prove the spend produced value.

How to Verify the Result

Two quick checks catch ~95% of calculation errors:

  1. Reverse-solve. Plug your CPM back into spend = (impressions ÷ 1,000) × CPM. If the result does not match your original spend within rounding, something is off.
  2. Compare with platform's reported CPM. Most ad platforms display CPM in a column. Your hand-calculated number should match within 1–2% — small differences come from rounding and modeled impressions.

Audit table — run these checks every time:

CheckPassFail signal
Date range matchesSame start & end on spend and impressionsCPM swings 4× when you change one window
Impression definitionDelivered ↔ delivered, viewable ↔ viewableCPM differs 30–50% from platform report
Currency normalizedOne currency, FX-convertedSum of partials > total spend
Result formatCurrency cell, ×1,000 appliedResult < 0.01 means missing ×1,000
Reverse-solvespend = (imp ÷ 1,000) × CPM matches inputMismatch > 2% means rounding or unit error

Frequently asked questions about How to Calculate CPM Step by Step

What is the simplest way to calculate CPM?

Divide ad spend by impressions and multiply by 1,000. Use one currency and one date range to keep the math clean.

How do I calculate CPM in Excel?

Use the formula =spend/impressions*1000 in a cell, then format the result as currency.

How do I calculate CPM in Google Ads?

In the Reports view, divide cost by impressions and multiply by 1,000. Google Ads also reports CPM as Avg. CPM in the columns picker.

Can I solve for spend instead of CPM?

Yes. Multiply impressions by CPM and divide by 1,000 to get the required spend.

Should I include agency or platform fees in CPM?

Include them only if your reporting framework requires it. Net media CPM and gross CPM should be labeled clearly so they are not mixed.