September 15, 2026
min read

CPA vs. ROAS: How to Read Both Without Buying the Wrong Growth

Young man with curly hair wearing a black shirt outdoors against green foliage background.


Alexander Perleman
, Head Of Product @ groas
Ex-Goldman Sachs and Stanford Computer Science

alex@groas.ai

LinkedIn
Illustration for: CPA and ROAS Together: How to Read Both Metrics Without Chasing the Wrong One

Most agencies will not tell you this: you can hit your CPA target and still lose money.

 

I watched it happen on a home-services account spending about $20k a month. Cost per lead sat at $82, right on target, and the monthly report looked clean. The problem was what those $82 leads had become. Average job value had slipped from $1,100 to $640 because the campaign drifted toward small, fast jobs. Same CPA. Roughly 42% less revenue per conversion. The report had skipped the only math that mattered.

 

That is why CPA and ROAS belong on the same screen. CPA tells you what you paid for the action; ROAS tells you what that action was worth. One without the other is a coin with one side.

 

In this piece, I will show you how the two connect, why they split on live accounts, and the simple way I read them together before I touch a bid, a budget, or a target.

 

The short version: CPA controls the cost of buying conversions. ROAS checks whether those conversions were worth buying in the first place.

CPA and ROAS are two views of the same account

CPA is spend divided by conversions. ROAS is conversion value divided by spend. If you track revenue, they connect through simple math: ROAS equals average order value divided by CPA.

 

Say you spend $10,000 for 100 conversions at a $100 CPA, and each conversion is worth $400 on average. Your ROAS is 4.0. If average value drops to $250 while CPA stays at $100, ROAS falls to 2.5. Anyone watching CPA alone misses it.

 

I used to tell clients that CPA was the control metric and revenue was finance’s problem. I was wrong.

 

Each metric answers a different question:

 

  • CPA asks: How efficiently did I buy actions?
  • ROAS asks: What did those actions pay back?

CPA is clean, stable, and easy to compare week to week. That is why lead-gen accounts love it. ROAS requires real value attached to the conversion, which is why ecommerce accounts tend to live by it.

 

When I audit an account now, I start with both columns side by side for the last 30 days, split by campaign. CPA without value tells you cost, not profit.

 

What CPA sees, and what it ignores

CPA treats every conversion as equal. That is the whole design.

 

Target CPA aims to maximize conversions near your target cost, with conversions treated equally. If you run lead gen where one qualified call is worth roughly the same as the next, that simplification is useful. You get a stable number to compare week to week, set a cap against payroll and close rates, and judge whether spend bought enough shots on goal.

 

The trap arrives when conversions stop being equal and the metric keeps pretending they are.

 

A $45 ebook lead and a $4,500 demo request both count as one conversion. A campaign that learns to buy the cheap one can look efficient right up until sales tells you the pipeline is thin.

 

That does not make CPA a bad metric. It makes it a limited one. Use CPA to control the cost per shot, not to declare every shot equally valuable.

 

What ROAS sees, and what can break it

ROAS treats every conversion as worth what you told Google it is worth. That is useful only when what you told Google resembles reality.

 

Before you can use Target ROAS, you have to set values for the conversions you track. You can also apply conversion value rules to weight users, devices, or locations differently.

 

Then bidding predicts the value of each auction and adjusts bids to maximize conversion value while trying to hit your average target. Cause first, effect second: good values in, value-seeking bids out. Bad or missing values in, confident-looking ROAS out that means nothing.

 

Before I trust any ROAS column, I check one thing: are we passing revenue, margin-weighted value, or just 1s that somebody left as defaults?

 

That distinction is not admin work. It decides what the account learns to buy.

 

Practical takeaway: Use CPA to control cost per shot. Use ROAS to judge whether the shots were worth taking.

Why CPA and ROAS split on live accounts

On paper, CPA and ROAS move together. On a live account, they split all the time. The split is the signal.

 

Average value is the wedge between them. CPA can stay flat while ROAS falls because the mix shifted toward low-value conversions: cheaper keywords, smaller carts, shorter jobs. CPA can rise while ROAS holds because the mix shifted upmarket: you paid more per conversion, but each conversion carried more revenue.

 

What the deck calls “efficiency,” I call paying less for worse customers until sales notices.

 

When high ROAS hides a growth problem

Take an ecommerce brand spending $30k a month. The team pushes branded Performance Max hard because it prints a 9.0 ROAS at an $11 CPA. Blended ROAS climbs to 5.2. Everyone is happy. Then growth stalls.

 

Non-brand prospecting sits at 2.1 ROAS and a $68 CPA, starved for budget because it looks wasteful next to brand. High blended ROAS hid the fact that the account had stopped buying new customers.

 

The fix was boring and unpopular:

 

  1. Cap brand.
  2. Accept a lower blended ROAS for six weeks.
  3. Let prospecting buy data.

Volume rose 41%, and blended ROAS settled at 3.8 on 60% more revenue.

 

A rising ROAS caused by a mix shift is not performance. It is selection bias.

 

When lower CPA buys worse leads

The reverse showed up in a lead-gen account I inherited at $18k a month. CPA had dropped 22% in six weeks, from $96 to $75, and the prior manager put it in the headline of his report.

 

ROAS, measured on closed job value imported from the CRM, had dropped from 3.4 to 2.1 over the same period.

 

Cause came before effect: broad match found a rich vein of after-hours searches that filled the calendar with price shoppers. More form fills. Lower cost per fill. A 31% lower close rate and smaller tickets. The account was buying more of what did not pay.

 

This will not matter as much if every conversion is worth near enough the same amount. A single-service plumber selling $275 drain clears does not need value-weighted bidding. Everyone else should treat a split as a work order.

 

When CPA and ROAS point in different directions, something changed in one of three places:

 

  • What you bought
  • How you valued it
  • Where the money went

Never change a target until you know which of those three moved.

 

The 28-day view I use before changing anything

I read CPA and ROAS as a pair, in a fixed order. First, I compare the last 28 days with the prior 28 days by campaign. I want four raw inputs before I look at anyone’s conclusion:

 

  • Spend
  • Conversions
  • Conversion value
  • Average order value

Then I calculate two derived numbers:

 

  • CPA: spend divided by conversions
  • Value per conversion: conversion value divided by conversions

If CPA moved, I ask whether value per conversion moved with it. If CPA held flat and value per conversion fell 20%, the account did not become more efficient. It bought cheaper outcomes.

 

That one comparison catches most mix-shift problems before anyone touches a target.

 

Second, I split brand from everything else. Brand search almost always shows low CPA and high ROAS because the customer already decided. Leave it blended and it flatters the account while hiding prospecting decay.

 

I pull brand into its own row, judge prospecting on its own CPA and ROAS, and only then judge the total.

 

Practical takeaway: Blended numbers report comfort. Split numbers report truth.

How automated bidding uses the metric you feed it

Target CPA and Target ROAS are not two competing philosophies. They are two instructions for the same auction-time bidder.

 

Tell it a CPA, and it predicts conversion probability, then bids what each click should cost to land actions near your price. Tell it a ROAS, and it predicts conversion value, then bids what each click should cost to land dollars near your ratio.

 

The values and volumes you feed in decide what the bidder learns to buy. Feed it counts, and it buys counts. Feed it margin-weighted values, and it starts passing over cheap clicks that never turned into money.

 

That makes the choice simpler than most guides make it:

 

  • When every conversion is worth about the same, let CPA lead and use ROAS as the guardrail.
  • When value varies widely across SKUs, ticket sizes, or lead-quality tiers, let ROAS lead and use CPA as the guardrail.

I run groas autonomous execution the same way I used to run manual builds, except it checks the pair every hour instead of every Monday.

 

Pick the metric that matches how much your conversions differ in value, then make the other one the limit you refuse to cross.

 

A 20-minute diagnostic when the numbers disagree

When CPA and ROAS split, I run the same five checks before moving a target. It takes about 20 minutes. More importantly, it stops me from fixing bids when tracking or mix is the real problem.

 

  1. Check value input first. Confirm primary conversions carry real values and offline imports fired in the last seven days. If value defaulted to 1, ROAS is fiction. Fix tracking first.

  2. Split brand from prospecting. Judge prospecting on its own CPA and ROAS. If blended ROAS only looks fine because brand carries it, you have a volume problem.

  3. Compare value per conversion. If CPA fell 20% and value per conversion fell 30%, you bought cheaper and worse. Find where the mix shifted.

  4. Check spend by value tier. If 60% of spend sits in the bottom quartile of value per conversion, cap that pocket and fund the tier that closes.

  5. Move one guardrail at a time. Adjust the lead metric by 10% to 15%, hold the other as the floor or cap, then wait for 30 conversions or two weeks.

The math tying the two together is what I put on one slide for clients: target CPA equals average value divided by target ROAS.

 

If your average order is $400 and you need a 4.0 ROAS to cover product cost, fees, and ad spend, your CPA has to live near $100. If margin is 30% and you want to break even on the first purchase, break-even ROAS is 1 divided by 0.30, or 3.33. On that same $400 order, that caps CPA at $120.

 

Cause first: margin sets ROAS, and ROAS sets allowable CPA. Teams that set CPA from gut feel and set ROAS from last quarter end up with two targets that disagree by construction.

 

Say you are spending $20k a month. Write both targets down as a pair:

 

  • ROAS leads at 4.0, with CPA capped at $110.
  • Or CPA leads at $85, with ROAS floored at 3.0.

When one breaches, do not panic. Run the five checks. In my accounts, the breach is tracking or mix four times out of five. Only the fifth time is it actually a bid problem.

 

A target without a guardrail is permission to buy the wrong growth.

 

Stop choosing one metric and ignoring the other

Stop asking which metric matters more. Ask what each one caught this week that the other missed.

 

CPA keeps you honest on cost. ROAS keeps you honest on worth. Watch them together for a month and the waste shows itself: cheap conversions that never closed, brand terms that flattered the blend, value rules nobody finished.

 

Fix that before you raise budget. The next dollar you spend should buy revenue instead of reports.