CPM Calculator for Digital Advertising: Formula and Examples
CPM is the cost of 1,000 ad impressions: CPM = cost ÷ impressions × 1,000. Rearranged, cost = impressions ÷ 1,000 × CPM, and impressions = cost ÷ CPM × 1,000. For example, ₹2,40,000 for 16 lakh impressions is a ₹150 CPM. For CPV or CPC buys, multiply the unit price by the view rate or CTR, then by 1,000.
CPM is the most common price tag in digital advertising, and the maths behind it takes one line. The confusion starts when CPM gets mixed with cost per view, cost per click, fees and GST.
This page gives you the formula, its three working versions, conversions from other pricing models and a template you can copy. If your question is which CPM to plug in, our CPM benchmarks for planning a branding campaign give format-by-format planning rates for India and show where in each range to start.
What is the CPM formula?
CPM stands for cost per mille, mille being Latin for thousand. It is the price of 1,000 ad impressions.
CPM = Cost ÷ Impressions × 1,000
Rearranged, the same formula answers the other two questions planners ask:
| You want | Formula |
|---|---|
| CPM | Cost ÷ Impressions × 1,000 |
| Cost | Impressions ÷ 1,000 × CPM |
| Impressions | Cost ÷ CPM × 1,000 |
In a spreadsheet, with cost in B2 and impressions in C2, the CPM is =B2/C2*1000.
How do you calculate CPM? Three worked examples
Example 1: the CPM you paid. A display campaign spent ₹2,40,000 and delivered 16,00,000 impressions. CPM = 2,40,000 ÷ 16,00,000 × 1,000 = ₹150.
Example 2: the cost of a planned buy. You want 40 lakh impressions on a premium news site at a ₹250 CPM. Cost = 40,00,000 ÷ 1,000 × ₹250 = ₹10,00,000.
Example 3: what a budget buys. You have ₹5 lakh for an OTT app at a ₹350 CPM. Impressions = 5,00,000 ÷ 350 × 1,000 = 14,28,571, or about 14.3 lakh.
Most errors in Indian plans are zero errors. Enter ₹5 lakh as 5,00,000 and 14.3 lakh as 14,28,571 in the sheet, and round only in the summary.
Want to see the numbers for your brand?
Get a free DV360 media plan from our team within one working day.
How do you calculate a blended CPM across several lines?
Divide total cost by total impressions and multiply by 1,000. Never average the line CPMs.
| Line | Cost | Impressions | CPM |
|---|---|---|---|
| YouTube bumper ads | ₹3,00,000 | 20,00,000 | ₹150 |
| Premium news, PG | ₹5,00,000 | 20,00,000 | ₹250 |
| Open auction display | ₹2,00,000 | 25,00,000 | ₹80 |
| Total | ₹10,00,000 | 65,00,000 | ₹153.85 |
A simple average of the three CPMs gives ₹160. That is wrong, because it ignores how the money is split across the lines.
How do you convert CPV, CPC and CPCV into a CPM?
Effective CPM (eCPM) is what you end up paying per 1,000 impressions, whatever the buying model. With full data it is the same formula: total cost ÷ impressions × 1,000. When you only have a unit price and a rate, use these:
| Pricing model | eCPM formula | Illustrative inputs | eCPM |
|---|---|---|---|
| CPV (cost per view) | CPV × view rate × 1,000 | ₹0.80, 30% view rate | ₹240 |
| CPC (cost per click) | CPC × CTR × 1,000 | ₹6, 0.6% CTR | ₹36 |
| CPCV (cost per completed view) | CPCV × completion rate × 1,000 | ₹0.45, 90% completion | ₹405 |
And the other way round, from a CPM:
- CPV = CPM ÷ (view rate × 1,000)
- CPC = CPM ÷ (CTR × 1,000)
- Cost per completed view = CPM ÷ (completion rate × 1,000)
That last one matters for video. A ₹500 OTT CPM with 90% of viewers finishing the ad works out at about ₹0.56 per completed view. A ₹250 open auction video buy where 40% finish costs about ₹0.63. The cheaper CPM turns out to be the dearer outcome.
For YouTube skippable ads, remember what a paid view is: someone watching 30 seconds (or the whole ad, if it is shorter) or interacting with it. That is why view rates sit well below 100% and why eCPM depends so heavily on the rate you assume. Our skippable in-stream ads guide covers the format.
What is viewable CPM (vCPM)?
vCPM is the cost per 1,000 viewable impressions:
vCPM = Cost ÷ Viewable impressions × 1,000
Under the Media Rating Council's viewability guidelines, a display ad counts as viewable when at least 50% of its pixels are on screen for one continuous second, and a video ad when 50% are on screen for two continuous seconds.
Example: ₹1,00,000 buys 10,00,000 impressions, and 60% of them are viewable. The CPM is ₹100, but the vCPM is 1,00,000 ÷ 6,00,000 × 1,000 = ₹166.67. When you weigh a cheap open auction buy against a premium deal, compare vCPM, not CPM.
What is cost per thousand reached?
For a brand campaign, the more useful price is often what it costs to reach 1,000 people, not to serve 1,000 impressions:
Cost per 1,000 reached = Cost ÷ Reach × 1,000 = CPM × Average frequency
Example: ₹6 lakh at a ₹150 CPM buys 40 lakh impressions. If those reach 8 lakh people at an average frequency of 5, the cost per 1,000 people reached is ₹750. A pricier line that reaches mostly new people can beat a cheap line that keeps showing the ad to the same viewers, which is why reach and frequency belong next to CPM in any review.
How does CPM work for DOOH and connected TV?
The formula is the same, but the impression is counted differently.
- Programmatic DOOH is priced per 1,000 estimated viewers. One ad play on a screen at a metro station counts as many impressions, based on the audience the media owner or supply partner estimates for that screen at that time. Ask how that audience is estimated before you compare a DOOH CPM with a mobile CPM.
- Connected TV is served to one screen, but several people may be watching. Some reach metrics, including DV360's, account for this co-viewing, so the number of people reached can be higher than the number of screens. Check whether a report counts screens or people before you compare CTV with mobile video.
Should your CPM include fees and GST?
Be clear about which CPM you mean.
- Media CPM is the rate for the inventory alone. Rate cards, including ours, quote this, before GST.
- All-in CPM adds platform, data, verification and service fees: (Media cost + Fees) ÷ Impressions × 1,000.
- All-in CPM with GST multiplies that by 1.18 at the usual 18% rate.
Example: a ₹180 media CPM with an illustrative 12% of fees on top gives an all-in CPM of ₹201.60, or about ₹237.89 with GST. Neither number is wrong. Comparing one partner's media CPM with another's all-in CPM is. Our programmatic advertising cost calculator builds the full budget from these pieces.
A CPM calculator template
Copy this into a sheet, one column per line or scenario. All example figures are illustrative.
| Row | Input or formula | Example | Your plan |
|---|---|---|---|
| A. Media cost | Input | ₹5,00,000 | |
| B. Impressions | Input, or A ÷ C × 1,000 | 20,00,000 | |
| C. CPM | A ÷ B × 1,000 | ₹250 | |
| D. Viewable impressions | Input | 13,00,000 | |
| E. vCPM | A ÷ D × 1,000 | ₹384.62 | |
| F. Fees on top of media | Input, % of media | 15% | |
| G. All-in CPM before GST | C × (1 + F) | ₹287.50 | |
| H. All-in CPM with GST | G × 1.18 | ₹339.25 |
What CPM calculation mistakes should you avoid?
- Forgetting the × 1,000. Without it you get the cost per impression, ₹0.15 instead of a ₹150 CPM.
- Averaging CPMs across lines. Use total cost over total impressions.
- Dropping or adding a zero when converting lakh and crore.
- Comparing CPMs across formats as if they were equal. A six-second bumper and a full-screen OTT spot are not the same impression. Compare cost per completed view or vCPM.
- Mixing served and viewable impressions, or media and all-in CPMs, in the same comparison.
If your CPMs are running above plan, our guide on how to reduce CPM in programmatic advertising lists the levers. For deal rates on specific apps and publishers, see our premium publishers inventory page.
Next step
Ask for a free media plan and a DV360 specialist runs these sums for every line, using indicative rates for your industry and audience, and shows impressions, reach and cost by channel. To see what those impressions mean in people reached, use our reach and frequency calculator.