Calculate campaign CPM by dividing the costs you include by the matching impression count, then multiplying by 1,000. If the available metric is video views, report cost per 1,000 views instead. Write the cost basis, exact metric label, content scope, and reporting window beside the result. Those choices determine whether another campaign is a fair comparison.
Choose the denominator before calculating
Google Ads defines CPM around a thousand impressions. For creator campaigns, the difficulty is deciding what the platform's exposure count represents.
Start with the original report. Keep its metric name and attach its definition. Do not rename a column because your spreadsheet already calls everything impressions.
| Available measure | Report this result | Main limit |
|---|---|---|
| Impressions for the specified placement | Cost per 1,000 impressions | Record what qualifies as an impression |
| Video views | Cost per 1,000 video views | Retain the platform and format definition |
| Instagram Views | Cost per 1,000 Instagram Views | Content plays and displays share this label |
| Unique accounts or viewers | Cost per 1,000 of that named audience measure | Keep separate from repeat exposure counts |
| No usable exposure report | Not available | Followers cannot fill the missing denominator |
Two platform examples show why the labels matter:
- YouTube thumbnail impressions count qualifying thumbnail displays. YouTube requires more than one second of display and at least 50% visibility. External websites and apps are among the exclusions. A thumbnail impression does not establish that someone watched the video or its sponsored segment.
- Instagram's insights overview defines Views as content plays or displays. Viewers counts unique accounts that saw content on screen. Meta notes that Views is rolling out, so retain the labels in the report you receive rather than silently translating older exports.
Instagram lets public accounts inspect their own content's insights. That does not make those analytics public to a brand. YouTube directs creators to signed-in Studio for detailed reporting. Ask the creator for the relevant report, including the content identity, selected period, and exact metric label.
If your source files disagree, use the guide to reach, impressions, and views to settle the denominator before comparing results.
Declare what the campaign cost includes
There is no useful all-in creator comparison if one team counts only the fee and another includes products, shipping, and management time.
Modash's CPM discussion identifies a common mismatch: a creator fee may include production, while a paid-ad CPM may cover media spend alone. Its benchmark ranges are described as anecdotal. Treat them as context, without using them as a pass/fail target.
For your own reporting, choose and name a cost basis. These are recommended accounting choices for campaign analysis, not platform rules:
- Creator-fee basis. Count the agreed creator fee for the included deliverables. State whether it bundles production or rights.
- Fully loaded basis. Add the campaign's product cost, shipping, separate production or rights charges, and allocated management cost. Document exclusions and allocations.
Use one currency and a consistent tax treatment. For gifted products, declare whether you used inventory cost or another valuation. Keep that choice consistent between campaigns. The complete campaign cost ledger helps identify charges before you divide them by exposure.
A package fee can cover several posts plus paid usage rights. If the contract has no itemized price, a post-level cost split is your allocation. Record the method before reviewing performance. Otherwise, changing that split can make a preferred post appear cheaper without changing the campaign.
Work through one campaign
The following figures are hypothetical. Assume two creator placements have reports for the same placement type, platform definition, and first 30 days after publication. Both reports use Impressions. Neither includes paid amplification. All costs are in USD.
| Cost item | Placement A | Placement B |
|---|---|---|
| Creator fee | $1,200 | $800 |
| Gifted product at inventory cost | $90 | $60 |
| Shipping | $30 | $20 |
| Allocated campaign management | $180 | $120 |
| Fully loaded cost | $1,500 | $1,000 |
| Reported impressions | 60,000 | 100,000 |
There are no separate rights, production, or media charges in this hypothetical campaign. Taxes are excluded consistently.
The formula is:
CPM = included cost / matching impressions × 1,000
| Calculation | Arithmetic | Result |
|---|---|---|
| A, fee-only CPM | $1,200 / 60,000 × 1,000 | $20.00 |
| A, fully loaded CPM | $1,500 / 60,000 × 1,000 | $25.00 |
| B, fully loaded CPM | $1,000 / 100,000 × 1,000 | $10.00 |
| Campaign, fee-only CPM | $2,000 / 160,000 × 1,000 | $12.50 |
| Campaign, fully loaded CPM | $2,500 / 160,000 × 1,000 | $15.63 |
Sum the included costs and impressions before calculating campaign CPM. The ordinary average of the two fully loaded placement CPMs is $17.50. It gives equal weight to placements with different exposure totals, so it does not equal the campaign result.
These summed impressions do not establish a unique campaign audience. The same person may encounter both placements. If the reports had supplied Views, the arithmetic would stay the same, but the result would need a views-based name and definition.
Round only the displayed result. Keep the underlying cost and count values for later totals.
Keep paid delivery and missing data separate
If you boost a creator post, retain separate organic and paid rows. Use paid media spend against paid impressions for a media-only CPM. A fully loaded paid result can include allocated content or rights costs, but the label must say so.
Do not add organic Views to paid impressions and call the total impressions. A combined result is defensible only when the definitions and periods are compatible, the reports do not overlap, and each cost appears once. Keep the separate rows visible even then.
Missing data needs its own treatment. Suppose a creator has not supplied the agreed exposure report. Do not enter zero or estimate impressions from follower count. Mark that placement pending. If you calculate a subtotal from reporting placements, label it partial and include only their matching costs. Separately show the total campaign budget and missing placements so the subtotal cannot pass as the final campaign result.
A zero denominator produces no finite CPM. Report that condition rather than displaying $0.
Check comparability before ranking creators
Use this checklist for every comparison:
- Do both denominators use the same metric definition, platform, and format?
- Do both numerators use the same cost basis and allocation policy?
- Are the currency and tax treatments consistent?
- Do reports cover the same content age, with capture dates recorded?
- Are organic and paid delivery separated, with no duplicated counts?
- Are missing placements, estimated inputs, or bundled fees visible?
- Does the exposure measure tell you anything about the campaign's intended audience or sponsored segment?
The last question limits interpretation. CPM measures the cost of the counted exposure unit. The calculation alone cannot establish attention, purchases, or incremental business impact.
Before filling the next CPM cell, write its full label: cost basis, metric, placement type, and window. For the worked example, that is "Fully loaded CPM, reported impressions, two organic placements, first 30 days." Then keep that definition unchanged across the comparison.



