Blog · Guides

CPM vs CPC: paying per impression or per click is a bet on your click-through rate

Published · 5 min read

CPM is what you pay for a thousand ad impressions; CPC is what you pay for one click. The two are tied by click-through rate: CPC = CPM ÷ (1,000 × CTR), so a $12 CPM at a 1.5% CTR works out to $0.80 a click. That makes the choice between buying impressions and buying clicks a bet on your CTR. If your ads draw more clicks than the price assumes, paying per impression comes out cheaper per click; if fewer, paying per click moves the risk of a weak ad onto the platform. The CTR where the two cost the same — the break-even CTR — is CPM ÷ (1,000 × CPC): a $12 CPM against a $1.00 CPC breaks even at 1.2%. Below: where each model is sold on Google and Meta, the conversion worked through, and when each is the better buy.

The difference in one table

CPM (cost per mille)CPC (cost per click)
You pay forEvery 1,000 impressions (on Google Display, viewable ones)Each click
Formula as a metricSpend ÷ impressions × 1,000Spend ÷ clicks
Who carries a weak adYou — impressions cost the same whether anyone clicksThe platform — no click, no charge
Google AdsDisplay Network; viewable CPM, not for Search-only campaignsSearch, and Display as a bidding option
Meta AdsImpressions, available for every objectiveLink clicks, where the objective allows it
SuitsReach and awareness; ads you expect to out-click the marketTraffic; new or untested creative

From Google Ads Help on cost-per-click, CPM and viewable CPM, and Meta's help on cost per link click and getting charged, read September 30, 2026.

The metric and the billing model are different things. Every campaign reports both a CPM and a CPC whatever you pay for; the billing choice only decides which event takes money out of the budget. Meta, for example, reports cost per link click as amount spent divided by link clicks even when the ad set pays on impressions.

Converting CPM to CPC and back

Because clicks are impressions × CTR, one number converts into the other once you know the CTR:

  • CPC = CPM ÷ (1,000 × CTR) — with CTR as a fraction (1.5% = 0.015)
  • CPM = CPC × CTR × 1,000 — the "effective CPM" of a click-priced buy
  • Break-even CTR = CPM ÷ (1,000 × CPC) — the CTR at which both prices cost the same per click
At a $10 CPM, if CTR is…you pay per click
0.5%$2.00
1%$1.00
2%$0.50
4%$0.25

Doubling the CTR halves the effective cost per click on an impression buy, and does nothing to the price of a click buy. That asymmetry is the whole decision. The CPM calculator and the CPC calculator run both directions with your own numbers.

Which to pay for

  • Pay per impression when the goal is reach, or when your creative has a track record of a CTR above the break-even. The platform's delivery optimises toward your goal either way; on an impression buy, a better-than-expected CTR is yours to keep.
  • Pay per click when the creative is new and its CTR unknown, or when the job is traffic and every impression that is not clicked is waste to you.
  • Judge both on the cost of a result. A cheap click that never converts costs more than an expensive one that does. Carry the comparison through to cost per acquisition with the CPA calculator, which is the number that decides whether the channel pays.

On Meta the choice is not always open: the objective decides which charging events are offered, and Meta's help page says a new ad account has to spend at least $10 on impression billing before it can switch to another event. On Google Search there is no impression option at all — the viewable CPM strategy is not available for Search Network only campaigns.

If you sell the ad space instead

Half of what you find searching "CPM vs CPC" is written for publishers choosing how to be paid. The arithmetic is the same identity from the other side: revenue per click × CTR × 1,000 is the effective CPM a click-paid placement earns, and it is directly comparable with a flat CPM offer. A publisher whose readers click above the break-even earns more on CPC; one whose readers rarely click is better off selling impressions.

Both numbers from your own accounts, side by side

TableBI connects Google Ads live and Meta Ads in beta into one table at campaign level, with cpm(), cpc() and ctr() as SQL macros that divide sums, so an average is never an average of averages. Your own agent, such as Claude Code, runs the query; the ctr column is the number that settles the billing question — hold it against the break-even CTR for the CPM and CPC prices you are choosing between, and the side it falls on is the cheaper way to buy.

claude code → tablebi
# CPM, CPC, CTR and the break-even CTR by channel, latest 28 synced days
tablebi ask "SELECT platform_label(platform) AS channel,
             cpm(SUM(cost), SUM(impressions)) AS cpm,
             cpc(SUM(cost), SUM(clicks)) AS cpc,
             ctr(SUM(clicks), SUM(impressions)) AS ctr
   FROM facts WHERE platform IN ('google_ads', 'meta_ads')
     AND date > (SELECT MAX(date) FROM facts) - 28
   GROUP BY platform ORDER BY cpm DESC"

FAQ

What is the difference between CPM and CPC?

CPM is the price of 1,000 ad impressions and CPC the price of one click. With CPM you pay whether or not anyone clicks; with CPC you pay only when someone does. Both are also reported as metrics on every campaign, whatever you pay for.

How do you convert CPM to CPC?

Divide the CPM by 1,000 times the click-through rate, with CTR as a fraction. A $12 CPM at a 1.5% CTR is 12 ÷ (1,000 × 0.015) = $0.80 per click.

Is CPM or CPC better?

CPM is better when your ads reliably earn a CTR above the break-even, CPM ÷ (1,000 × CPC), or when the goal is reach. CPC is better for new creative with an unknown CTR, or when only traffic matters. Judge either on cost per acquisition, not on the unit price.

Does Google Ads charge per click or per impression?

Search campaigns charge per click. Display campaigns can bid per click or per thousand viewable impressions; Google says viewable CPM bidding is not available for Search Network only campaigns.

Can I pay per click on Facebook ads?

For some objectives. Meta lets you choose the charging event in the ad set, and link clicks are offered only where the objective allows them. A new ad account must first spend at least $10 on impression billing before it can switch.

Sources

Try it

Search Console, GA4 and Google Ads live, Meta Ads in beta, CSV by upload: in your agent today, with no BigQuery project and no licence per viewer.

terminal
npm i -g @tablebi/cli && tablebi install