CPM vs ROAS: Which Metric Should You Optimize?

I treat CPM as the price of reach and ROAS as the price of revenue. They answer different questions—and when I confuse them, I either overpay for impressions or starve profitable scale.

What CPM and ROAS Measure

CPM (cost per mille) tells me what I pay for 1,000 impressions: CPM = (Spend ÷ Impressions) × 1,000. I use it for awareness, video reach, and any plan where the primary output is eyeballs. If you need a refresher, start with what CPM means.

ROAS (return on ad spend) tells me how much revenue I earn per dollar of ads: ROAS = Revenue ÷ Spend. I use it when the platform can optimize toward purchases or high-value events—especially in e-commerce accounts.

CPM vs ROAS Comparison Table

CPM vs ROAS at a glance
Dimension CPM ROAS
Primary question How much does reach cost? How much revenue do ads return?
Formula (Spend ÷ Impressions) × 1,000 Revenue ÷ Spend
Funnel stage Top / mid (awareness, consideration) Mid / bottom (conversion, retention)
Best campaign types Brand, video views, reach Shopping, DPA, search with conversion value
Optimization risk Cheap CPM, weak conversions High ROAS but limited scale / high CPM
Tools I pair with it Facebook CPM calculator CPA calculator

When I Use Each Metric

I optimize CPM when:

  • The brief is reach, frequency, or video completion—not same-week ROAS.
  • I am entering a new market and need efficient impressions before conversion data exists.
  • I am comparing placement costs (Feed vs Reels vs Display) on a level playing field.

I optimize ROAS when:

  • I have reliable purchase value in the pixel or cart data feed.
  • Inventory is constrained and I must prioritize revenue per dollar, not cheapest impressions.
  • I am scaling proven creatives and can accept higher CPM if ROAS holds.

Bridge Formula: Connecting CPM to ROAS

CPM and ROAS meet in the funnel. I estimate revenue per 1,000 impressions (RPM-style thinking on the buy side):

Revenue per 1,000 impressions
RPMrevenue = CTR × CVR × AOV × 1,000

If RPMrevenue > CPM, the math can work before platform-reported ROAS catches up. I sanity-check CTR with the CTR calculator.

ROAS follows from spend efficiency:

ROAS from funnel metrics
ROAS ≈ (Impressions ÷ 1,000 × CTR × CVR × AOV) ÷ Spend

Since Spend ≈ (CPM × Impressions) ÷ 1,000, rising CPM hurts ROAS unless CTR, CVR, or AOV improves enough to compensate.

Worked Example

Suppose I spend $5,000 for 500,000 impressions on Meta prospecting.

  • CPM = ($5,000 ÷ 500,000) × 1,000 = $10.00
  • CTR = 1.2% → 6,000 clicks
  • CVR = 2.5% → 150 orders
  • AOV = $80 → $12,000 revenue
  • ROAS = $12,000 ÷ $5,000 = 2.4×

If I slash CPM to $6 but CTR halves because creative quality dropped, clicks fall to 3,750, orders to 94, revenue to $7,520, and ROAS to 1.5×. That is why I never optimize CPM alone on performance campaigns.

Calculate CPM From My Data

Frequently Asked Questions

Yes—and I see it often on cheap placements. Cheap impressions may not convert.

I lead with CPM and reach, then measure lift—not same-week ROAS.

Use the bridge formula with your CTR, CVR, and AOV—there is no single answer for $10 CPM.

For scaling conversions, yes. I still monitor CPM on prospecting so reach costs do not creep. See CPM for e-commerce.

ROAS = Revenue ÷ Ad spend. Use the same attribution window you use for bidding.

Often, because platforms bid for valuable users. I accept higher CPM when ROAS improves net profit.