Tools · Free, instant, no signup

CPM calculator

Cost per thousand impressions per placement — and the budget that buys a reach target.

Weighted CPM

Total spend ÷ total impressions × 1,000.

Reverse: budget for a reach target

Runs entirely in your browser — nothing is uploaded, nothing is stored. Updated 2026-09-05.

CPM is the cost of a thousand impressions: spend ÷ impressions × 1,000. $4,200 for 612,000 impressions is a CPM of $6.86.

The M is the Roman numeral for a thousand, which is why the metric is sometimes written cost per mille. It is the price of attention before anyone acts on it, which makes it the right metric for reach buying and the wrong one for judging performance. Add a row per placement below for the weighted rate, and use the reverse panel when you know the CPM and need the budget for a reach target.

CPM = ad spend ÷ impressions × 1,000

An impression is not a standard unit

CPM prices impressions, but platforms count them differently. One counts an ad served, another an ad rendered, another a viewable impression under a standard that requires half the pixels visible for a second or two. A $4 CPM on served impressions and a $9 CPM on viewable ones can be the same price for the same attention.

Before comparing CPMs across platforms, check what each is counting. Within one platform, over time, the comparison is sound.

Why your CPM rises when you narrow the audience

CPM is an auction outcome, not a rate card. Narrow the audience and you compete with everybody else who wants that same narrow audience, so the clearing price rises. Seasonal demand does the same thing — CPMs in the run-up to the winter holidays routinely sit well above the rest of the year for identical inventory.

A rising CPM is therefore usually a market fact rather than a mistake. What matters is whether the traffic it buys still converts at a price your margin absorbs.

When CPM is the right metric and when it is not

Use it for reach and frequency buying, brand campaigns and any comparison of inventory prices. Do not use it to judge whether a campaign worked — a cheap CPM against an audience that never converts is the most expensive traffic you can buy.

The chain that connects it to outcomes runs CPM → CTRCPC → conversion rate → CAC. A CPM number on its own tells you the price of the first link only.

Computing this from your own accounts

Every calculator on this page takes numbers you typed. The version that keeps working is the one that reads them from the accounts themselves — which is what TableBI is: connect Google Ads, Meta Ads, GA4 or Search Console once, and cpm() becomes a macro you can query from your terminal.

terminal
# connect once, then the metric is a standing query
tablebi connect google_ads
tablebi connect meta_ads   # beta: your own or test ad accounts

tablebi ask "WITH w AS (SELECT MAX(date) AS anchor FROM metrics)
   SELECT platform, cpm(SUM(cost), SUM(impressions)) AS cpm
   FROM metrics, w WHERE date > w.anchor - 30
   GROUP BY platform ORDER BY cpm DESC"

# pin the answer to a URL that refreshes itself
tablebi pin --title "CPM calculator by channel"
→ https://you.tablebi.com/d/dsh_…

The pinned answer is a live URL that refreshes on its own — here is one running now. No hosted model does the reasoning; your own Claude Code or Codex drives the CLI, which is why there is no inference bill attached to it.

Questions people ask about cpm calculators

How do I calculate CPM?

Divide ad spend by impressions, then multiply by 1,000. $4,200 spent for 612,000 impressions gives a CPM of $6.86.

What does CPM stand for?

Cost per mille — mille being Latin for a thousand, and M its Roman numeral. It is the cost of one thousand ad impressions.

How do I work out the budget for a reach target?

Multiply your expected CPM by the impressions you want, then divide by 1,000. A $6.90 CPM against a million impressions needs a $6,900 budget, before any premium for narrow targeting.

Why is my CPM going up?

CPM is an auction price. It rises when you narrow the audience, when seasonal demand increases competition for the same inventory, or when frequency caps force delivery into scarcer placements. It is usually a market condition rather than a setup error.

All of them are listed on the free marketing calculators page.