CPM calculator
Enter your spend and impressions to calculate CPM, or use CPM to work out a missing value. Keep the numbers from the same reporting period.
This tool calculates from your inputs. It does not predict auction prices, delivery, clicks or sales. Your inputs stay in this browser.
Input format and limits
Use a decimal point and up to 6 decimal places for spend or CPM. The input limit of 1,000,000,000,000 is a technical guardrail.
Enable JavaScript to use the calculator. The formulas and worked examples below remain available without it.
What does CPM mean?
CPM is the cost per 1,000 impressions. An impression counts a display of an ad. It is different from unique reach. If the same person sees an ad more than once, those displays can count as separate impressions. TikTok’s reporting glossary defines CPM as average spend per 1,000 impressions.
Calculate CPM, ad spend or impressions from 2 inputs. Use spend and impressions from the same campaigns and date range.
How to calculate CPM
Divide the ad spend by impressions, then multiply by 1,000. If you spent $600 for 50,000 impressions, the CPM is $12. Use totals covering the same campaign scope, date range and currency.
- Calculate CPM
- CPM = spend ÷ impressions × 1,000. $600 ÷ 50,000 × 1,000 = $12.00 CPM.
- Calculate spend
- Spend = CPM × impressions ÷ 1,000. $12 × 50,000 ÷ 1,000 = $600.00.
- Calculate impressions
- Impressions = spend ÷ CPM × 1,000. $600 ÷ $12 × 1,000 = 50,000. At $1 spend and $3 CPM, the arithmetic gives 333.333…. Approximately 333 impressions. Actual delivery may differ.
Ad cost per impression is CPM divided by 1,000
Cost per impression uses 1 impression as its unit. CPM uses 1,000. In the example above, $600 divided by 50,000 impressions is $0.012 per impression, which is $12 CPM. Keep the unit with the number so a cent-level figure is not mistaken for the CPM rate.
- To calculate cost per impression, divide spend by impressions. To express the same rate as CPM, multiply by 1,000.
- To use a known per-impression rate in this calculator, multiply it by 1,000 and enter that CPM. For example, $0.015 per impression becomes $15 CPM.
- Compare the same reporting window, currency and impression definition. Both rates describe delivery cost. Neither measures profit, a unique person reached or the result of a creative test.
Combine campaigns using totals, not an average of CPMs
Suppose 1 campaign spent $100 for 10,000 impressions and another spent $900 for 50,000. Their CPMs are $10 and $18. The combined CPM is $1,000 ÷ 60,000 × 1,000, or $16.67. The simple average of $14 ignores how much delivery each campaign received. These are original arithmetic examples, not platform results.
Lower CPM is not the whole creative decision
Imagine 2 test ads each spent $600. Ad A delivered 60,000 impressions and 12 purchases. Ad B delivered 40,000 impressions and 20 purchases. A has the lower CPM: $10 versus $15. B has the lower cost per purchase: $30 versus $50.
| Measure | Ad A | Ad B |
|---|---|---|
| Spend | $600 | $600 |
| Impressions | 60,000 | 40,000 |
| Purchases | 12 | 20 |
| CPM | $10 | $15 |
| Cost per purchase | $50 | $30 |
These made-up numbers show why CPM alone cannot identify the better sales creative. They do not establish statistical significance or predict your next test.
Use CPM in a creative test
Keep CPM beside the result you care about, such as a purchase. Compare the same dates and note any differences in audience, placement or objective. Cheaper impressions don’t always mean the ad did a better job.
Questions about the calculator
Can I use this for Meta or TikTok ads?
Yes. The arithmetic uses spend and impressions, wherever those totals came from. Use compatible reporting periods and currencies. This calculator is independent of both platforms.
Does it estimate my future CPM?
No. Enter your own CPM to explore a scenario. The result is arithmetic based on that assumption.
Is a lower CPM always better?
No. Check whether the ads also led to the action you wanted, such as a purchase.
Does currency selection convert money?
No. It changes the label. Convert your inputs separately before comparing different currencies.
Put a clear idea behind the next test
Compare real creative references in Barry, then write the product question your ad needs to answer.
Keep cost and response in the same reporting scope
Planning notes: Count displays, then price a thousand
Count displays, then price a thousand
Original arithmetic illustration using the calculator’s practice inputs. Impressions count ad displays, not unique people. Keep spend and impressions in the same reporting scope.
- Spend
- $600 in one currency and reporting period.
- Delivery
- 50 groups of 1,000 impressions = 50,000 displays.
- Unit cost
- $600 ÷ 50 groups = $12 per 1,000 impressions.