Metrics
CPM vs CPC: what each one measures and how they connect
The short answer
CPM is what you pay, on average, for 1,000 impressions. CPC is what you pay, on average, for one click. Both start from the same number, spend. CPM divides it by impressions (then multiplies by 1,000), and CPC divides it by clicks. Click-through rate ties the two together, so if you know any two of CPM, CPC and CTR you can work out the third. What neither one tells you is whether those clicks turned into payments.
Any CPM or CPC figure is only as good as the revenue behind it.
Thexly matches payments to the campaigns that led to them, so that side comes from what cleared.
No card required.
CPM: cost per 1,000 impressions
Google spells the formula out as "CPM = cost / ( impressions / 1,000 )" (Google Ads Help: YouTube ads and view metrics). Meta says the same thing in words: CPM "measures the amount spent on an ad campaign, divided by impressions, multiplied by 1,000" (Meta help: CPM).
Both platforms pitch it as a comparison number. Meta says it's "often used to compare performance among different ad publishers and campaigns." Google says CPM "is most valuable when it's used as a means for comparison between ads, ad groups, and campaigns", and adds that "a good avg. CPM varies by country". So a CPM on its own, with no market and no other campaign next to it, doesn't say much.
CPC: cost per click
Google's average CPC "is calculated by dividing the total cost of your clicks by the total number of clicks" (Google Ads Help: Avg. CPC).
Meta's CPC column is narrower. It's cost per link click, "calculated as amount spent divided by link clicks" (Meta help: CPC). A link click is a click "on links within the ad that led to advertiser-specified destinations, on or off Meta technologies" (Meta help: Link clicks). Meta also reports clicks (all), which is a different count. When you put a Google CPC next to a Meta CPC in one report, write down which click each one means.
Bidding model or report column?
The same letters name two different things: how you're charged, and a column in your report.
As a way to pay, Google says "Cost-per-click (CPC) bidding means that you pay for each click on your ads" (Google Ads Help: CPC bidding), while CPM bidding is where "you pay per one thousand views (impressions) on the Google Display Network" (Google Ads Help: CPM). Your max. CPC is a ceiling, not the price. Google says "you'll often be charged less - sometimes much less" and calls the final amount your actual CPC.
On Meta, "Usually, you're charged based on the number of impressions your ad receives unless specified otherwise during ad creation" (Meta help: How Meta charges for ads). Your Ads Manager still shows a CPC for those ads, because the column is just spend divided by link clicks. A CPC in a report doesn't mean you paid per click.
How CTR connects them
Meta works out link CTR as "link clicks divided by impressions" (Meta help: CTR (link click-through rate)). Put the three definitions together and you get a bit of arithmetic (ours, not a platform quote):
CPC = CPM ÷ (1,000 × CTR), with CTR written as a decimal (1.44% is 0.0144).
Here it is on a real campaign. A store owner on r/FacebookAds posted their numbers in April 2026: CPM €37.33, CPC (link click) €2.59, CTR (link) 1.44% (r/FacebookAds, April 2026). Run it: 37.33 ÷ (1,000 × 0.0144) = 37.33 ÷ 14.4, about €2.59. One reply read it the same way: "CTR at 1.4% is average, not bad, not great. that's why CPC feels expensive."
That's the useful part. When CPC goes up, it's because CPM went up, CTR went down, or both. Check which one moved before you change anything.
An illustrative example
Illustrative example. Round numbers for a made-up account, not a benchmark.
Two ad sets each spend €500 in a month.
- Ad set A: 125,000 impressions and 625 link clicks. CPM is €4.00, CTR is 0.5%, and CPC is €0.80.
- Ad set B: 50,000 impressions and 1,000 link clicks. CPM is €10.00, CTR is 2%, and CPC is €0.50.
On CPM, A looks cheaper. On CPC, B looks cheaper. Now say the payments matched to each ad set come to €720 for A and €450 for B. A brought back €1.44 for every euro spent and B brought back €0.90. The cheapest-looking click was the worse buy, and neither CPM nor CPC could have told you that.
Working this out for several clients every month?
Thexly reports ad performance against payment revenue, per client, without the spreadsheet.
Which one should you watch?
Watch CPM when you're buying reach and want to know what the auction is charging for attention in a given market. Watch CPC when you're buying traffic and want to know what a visit costs. Use both, with CTR, to find out why costs moved.
When a client asks whether the money was well spent, though, move past both. Put spend next to the payments each campaign brought in. The ROAS calculator does the division, and the platform vs payment gap calculator shows how far the platform's own revenue figure sits from what cleared.
A short check you can run this week
1. Export last month's spend, impressions and clicks per campaign from each platform. For Meta, use link clicks.
2. Work out CPM, CPC and CTR, and check that CPC = CPM ÷ (1,000 × CTR). If it doesn't add up, two different click counts got mixed.
3. Pull the payments matched to each campaign for the same dates, and divide by spend.
4. Rank your campaigns by that last number, not by CPM or CPC.
Which of the two do your clients ask about most?
Check your own number against last month's payments.
See which campaigns brought in payments that cleared, next to what each platform reported.
No card required.
FAQ
Questions & answers
Sources
- Google Ads HelpRead 2026-10-23
- Meta Business Help CenterRead 2026-10-23
- Google Ads HelpRead 2026-10-23
- Meta Business Help CenterRead 2026-10-23
- Meta Business Help CenterRead 2026-10-23
- Google Ads HelpRead 2026-10-23
- Google Ads HelpRead 2026-10-23
- Meta Business Help CenterRead 2026-10-23
- Meta Business Help CenterRead 2026-10-23
- Reddit (r/FacebookAds)Read 2026-10-23