How to calculate CPM
CPM = cost ÷ impressions × 1,000. It is what you pay for every thousand times your ad is shown. $1,500 for 120,000 impressions is a $12.50 CPM. Meta’s own CPM definition gives the example of $50 for 10,000 impressions, a $5 CPM.
The same formula turned around answers the two planning questions:
- Impressions from a budget: impressions = budget ÷ CPM × 1,000. A $500 budget at a $10 CPM buys about 50,000 impressions.
- Cost from impressions: cost = impressions × CPM ÷ 1,000. 200,000 impressions at an $8 CPM cost $1,600.
The CPM box at the top of the tool does all three: fill in any two of cost, impressions and CPM and it works out the third. CPM stands for cost per mille, mille being Latin for a thousand.
What makes a CPM high or low
A CPM is the price of attention in an auction, so it moves with how many advertisers want the same people at the same time. It tends to rise for narrow or high-value audiences, in the weeks before big shopping dates, and for placements with fewer ad slots. On Meta the bid is not the only thing that decides the price: its ad auction also weighs how likely people are to act on the ad and its quality, so a creative people respond to can win impressions for less. A CPM on its own says nothing about whether a campaign works: a cheap CPM with nobody clicking costs more per sale than a dear one that converts, which is why the calculator below takes it through to CPA and ROAS.
The six formulas
Every number an ad report gives you is built from a handful of totals: spend, impressions, clicks, conversions and revenue. The rates are those totals divided by each other:
- CTR (clickthrough rate) = clicks ÷ impressions × 100. Google Ads’ CTR definition uses the same formula, with the example of 5 clicks from 100 impressions giving a 5% CTR.
- CPC (cost per click) = spend ÷ clicks. Google Ads’ average CPC is the total cost of clicks divided by the number of clicks: two clicks costing $0.60 in total is an average CPC of $0.30.
- CPM (cost per 1,000 impressions) = spend ÷ impressions × 1,000. Meta’s CPM definition works it out this way: $50 for 10,000 impressions is a $5 CPM.
- Conversion rate = conversions ÷ clicks × 100.
- CPA (cost per acquisition, or cost per conversion) = spend ÷ conversions. Google Ads’ average CPA is the total cost of conversions divided by the number of conversions.
- ROAS (return on ad spend) = revenue ÷ spend. Meta’s purchase ROAS is purchase conversion value divided by amount spent.
Because each rate links three numbers, knowing any two gives you the third. That is how the calculator fills in the gaps: enter a spend and a CPM and it works back to the impressions, enter clicks and a conversion rate and it works out the conversions, and so on until nothing more can be found. Each result says whether you entered it, which formula made it, or what it still needs.
A worked example
A campaign spent $1,500, served 120,000 impressions, got 1,800 clicks and 45 conversions worth $4,050:
- CTR = 1,800 ÷ 120,000 × 100 = 1.50%
- CPC = $1,500 ÷ 1,800 = $0.83
- CPM = $1,500 ÷ 120,000 × 1,000 = $12.50
- Conversion rate = 45 ÷ 1,800 × 100 = 2.50%
- CPA = $1,500 ÷ 45 = $33.33
- ROAS = $4,050 ÷ $1,500 = 2.70
Working backwards: if all you know is a $12.50 CPM, a 1.5% CTR and a $1,500 budget, the calculator gets 120,000 impressions and 1,800 clicks from them. That is handy for planning, when you have last month’s rates and next month’s budget.
When a number cannot be worked out
Some combinations have no answer, and the calculator says so instead of printing a zero or an error. With 0 clicks there is no CPC and no conversion rate, because both divide by clicks. With 0 conversions there is no CPA yet, only spend. And if you type numbers that do not fit together, say a CTR that is not what your clicks and impressions give, it points out the pair that disagrees rather than picking one. More clicks than impressions, a CTR over 100%, gets the same treatment: it usually means the two numbers came from different reports or date ranges.
Numbers can be pasted the way reports show them: $1,500.00, 1.5% and 2.7x all work, and so do European formats such as 1.500,00 and 1,5.
Why the platforms’ numbers can differ from yours
- What counts as a click. A platform may report link clicks, all clicks or interactions, and each gives a different CTR and CPC. Use the same kind of click on both sides of every formula.
- What counts as a conversion. Google Ads’ conversion rate divides conversions by ad interactions, and notes that it can go over 100% when you track more than one conversion action or count every conversion, because one interaction can bring several. The calculator allows that and flags it.
- Modelled results. Meta notes that statistical modelling may be used for purchase ROAS when some events cannot be counted directly, so a platform’s ROAS and your own store’s revenue divided by spend will not always match.
What this calculator does not do
- It does not say whether a number is good. A CTR or CPM depends on the platform, the placement, the audience and the offer, so any benchmark from elsewhere would be a guess about your account.
- It does not know your costs, so it cannot tell you whether a ROAS makes money. The ROAS calculator does that from your price and costs.
- It does not tell you whether one ad really beats another. For that, the A/B test calculator checks whether a difference in conversion rate is bigger than chance.
- It works on totals. Averaging the CPCs of five ads is not the same as the CPC of the five ads together, so add up spend and clicks first.
If you would rather not pull the numbers yourself
Hermoso is marketing on autopilot. Connect your ad accounts and ask it what to scale, pause and test next: it reads every ad platform you have connected, puts them in one table, says which definition of a conversion it used per platform, and marks cost per result as unmeasured rather than zero where a report has no conversion column. It also makes on-brand image and video ads and builds campaigns on your own ad accounts, created paused. It works in the web app, or inside Claude, ChatGPT and Cursor through its MCP server.
Free tools: ROAS calculator · A/B test calculator · Ad budget pacing calculator
Frequently asked questions
How do you calculate CPM?
Divide the cost by the number of impressions and multiply by 1,000. $1,500 for 120,000 impressions is a CPM of $12.50. Meta’s own example is $50 for 10,000 impressions, a $5 CPM.
How many impressions will my budget buy?
Divide the budget by the CPM and multiply by 1,000. A $500 budget at a $10 CPM buys about 50,000 impressions. Put the budget and the CPM into the CPM box and the calculator does it.
What does CPM stand for?
Cost per mille, mille being Latin for a thousand: the cost of 1,000 ad impressions. It is not the cost per person reached, because one person can see an ad several times.
How do you calculate CTR?
Divide clicks by impressions and multiply by 100. 1,800 clicks from 120,000 impressions is a 1.5% CTR.
What is the difference between CPC and CPA?
CPC is spend divided by clicks, the cost of getting someone to your page. CPA is spend divided by conversions, the cost of getting someone to buy or sign up. With a $0.83 CPC and a 2.5% conversion rate, CPA is about $33.33.
Why can a conversion rate be over 100%?
When one click can lead to more than one conversion. Google Ads notes this happens when you track more than one conversion action or count every conversion.
Is anything I type sent anywhere?
No. The sums run in your browser. There is no network request carrying what you type and nothing is stored.
Hermoso reads every ad account you connect and tells you what to scale, pause and test next. Start free, 250+ earnable free credits, no card.
Start free → See pricing