Last month a client sent me a screenshot of their ad dashboard and asked, "Is a $12 CPM good or bad?" They had been running ads for six months without knowing what the letters even stood for. That's normal. Ad platforms throw acronyms at you before explaining what they measure, and most small business owners just nod along and hope the campaign works.
This article breaks down the three metrics you'll see most often: CPM, CPC, and ROAS. Each section includes the formula and a worked example using round numbers, so you can plug in your own data when you're done reading.
What Is CPM (Cost Per Mille)
CPM stands for cost per mille, which is Latin for cost per thousand. It tells you how much you pay for 1,000 impressions, meaning 1,000 times your ad is shown on someone's screen. It does not mean 1,000 people saw it (the same person could see it five times), and it has nothing to do with clicks or sales.
The formula:
CPM = (Total ad spend / Total impressions) x 1,000
Worked Example
Say you spend $150 on a Facebook campaign and it generates 30,000 impressions.
$150 / 30,000 = 0.005
0.005 x 1,000 = $5 CPM
You paid $5 for every 1,000 times your ad appeared. CPM is mostly useful for comparing the cost of reaching an audience across platforms or ad placements. If Instagram Stories cost you a $4 CPM and Facebook feed costs $9 for the same audience, Stories is cheaper for pure visibility, at least for now. It won't tell you if anyone cared enough to click.
What Is CPC (Cost Per Click)
CPC is cost per click. It measures how much you pay every time someone actually clicks your ad, whether that's to visit your website, watch a video, or open your app. This is the metric most owners fixate on because it feels closer to "real" interest than an impression does.
The formula:
CPC = Total ad spend / Total clicks
Worked Example
Using the same $150 campaign, suppose it earned 500 clicks.
$150 / 500 = $0.30 CPC
Each click cost you 30 cents. That number alone doesn't tell you if the campaign worked. A $0.30 CPC sounds great until you learn none of those 500 people bought anything. A $2.00 CPC sounds expensive until you learn 40 of those clicks turned into $80 orders. CPC is a middle-of-the-funnel number: it shows you how efficiently you're generating traffic, not whether that traffic pays your bills.
What Is ROAS (Return on Ad Spend)
ROAS stands for return on ad spend. This is the metric that actually tells you if the campaign made or lost you money. It compares revenue generated from ads to the amount you spent to generate it.
The formula:
ROAS = Revenue from ads / Ad spend
ROAS is usually written as a ratio, like 4:1, or sometimes just as a number, like 4.0.
Worked Example
Continuing the same campaign: you spent $150 and those 500 clicks led to 10 sales averaging $60 each.
10 x $60 = $600 in revenue
$600 / $150 = 4.0 ROAS, or 4:1
For every dollar you spent on ads, you got four dollars back in revenue. That sounds strong, but ROAS by itself can be misleading if you stop there.
Why ROAS Alone Isn't the Full Picture
Revenue is not profit. If your product costs $40 to make and ship, and you sold it for $60, your actual margin per sale is $20, not $60. Let's redo the math with profit instead of revenue:
10 sales x $20 profit = $200 profit
$200 profit - $150 ad spend = $50 net profit
So a "4:1 ROAS" campaign only made you $50 after costs, not $600. This is the single most common mistake we see business owners make: celebrating a high ROAS number while ignoring product cost, shipping, and payment processing fees. In our experience, it's worth calculating a "break-even ROAS" for your specific margins before you judge any campaign as a win or a loss.
How These Three Metrics Work Together
Think of CPM, CPC, and ROAS as three stages of the same funnel:
- CPM tells you how cheaply you're reaching eyeballs.
- CPC tells you how cheaply you're turning eyeballs into visitors.
- ROAS tells you whether those visitors turned into money worth more than what you spent.
A campaign can have a low CPM and a low CPC and still lose money if the offer doesn't convert. A campaign can have a high CPM and still be profitable if the product margin is strong enough. None of these numbers should be read alone. They're checkpoints, not verdicts.
A Quick Side-by-Side
Here's how the same $150 campaign looks across all three metrics:
- Spend: $150
- Impressions: 30,000 -> CPM of $5
- Clicks: 500 -> CPC of $0.30
- Sales: 10 at $60 each -> ROAS of 4.0 (or 4:1) on revenue
- Actual profit after $40 product cost: $50 net
Every number in that list is technically "good" on its own, but the real story only shows up when you look at the last line.
Common Mistakes Owners Make With These Numbers
Chasing a Low CPM
A cheap CPM feels efficient, but if the audience doesn't match your buyer, you're just paying less to reach the wrong people. A $3 CPM to an unqualified audience is worse than a $15 CPM to people who actually buy.
Judging Campaigns on CPC Alone
A low CPC can mean your ad is a curiosity click magnet, not a sales driver. Always check what happens after the click, not just how much the click cost.
Reporting ROAS on Revenue, Not Profit
As shown above, a shiny ROAS number can hide a campaign that's barely breaking even, or actually losing money once you subtract product and fulfillment costs. Typically, ask your ad platform or agency whether the ROAS they're quoting is based on revenue or profit, because most default to revenue.
Quick Reference: What Counts as "Good"
There's no universal "good" number for any of these, because it depends entirely on your industry, margins, and average order value. But here's a rough way to sanity-check your own results:
- CPM: Compare it against your own past campaigns and competitors' typical range for your platform and audience size, not an industry-wide benchmark.
- CPC: Compare it against your conversion rate. A high CPC with a high conversion rate can beat a low CPC with a low one.
- ROAS: Calculate your break-even ROAS first (ad spend needed to just cover product cost), then judge anything above that as genuine profit.
Actionable Summary
- CPM = cost per 1,000 impressions. Use it to compare reach costs across platforms, not to judge sales performance.
- CPC = cost per click. Use it to judge how efficiently ads generate traffic, not whether that traffic buys anything.
- ROAS = revenue (or profit) divided by ad spend. Always check whether it's calculated on revenue or profit before trusting the number.
- Before running your next campaign, calculate your break-even ROAS using your actual product margin, not your sale price.
- Review all three metrics together every time you check a campaign. A win on one metric can hide a loss on another.