ROAS — return on ad spend — is the most-quoted metric in paid acquisition and the easiest one to mislead yourself with. A 4× ROAS sounds great until you realize the gross margin on the product is 30% and you just lost money on every click. This playbook walks through the model that actually tells you whether a Google Ads campaign is worth running before you turn it on.
The base equation
Revenue from a campaign = clicks × conversion rate × AOV. Clicks = spend ÷ CPC. Plug it together and the simple ROAS model is:
ROAS = (spend ÷ CPC × CR × AOV) ÷ spend = (CR × AOV) ÷ CPC
That's the unglamorous truth: ROAS is fully determined by your conversion rate, AOV, and CPC. Spend doesn't appear in the ratio at all — though it absolutely appears in your bank account, and incremental spend usually pushes CPC up and CR down. Run the numbers in our Google Ads ROAS calculator.
Why "4× ROAS" can be a money-loser
Imagine a $100 product with 30% gross margin (so $30 of contribution per sale). If your blended ROAS is 4×, every dollar of ad spend produces $4 of revenue — which is $1.20 of contribution margin. That's a 20¢ profit per dollar spent before you account for fulfillment, returns, and overhead. Strip those out and you're at zero or negative.
The number that matters is gross-margin-adjusted ROAS:
Margin ROAS = ROAS × gross margin %
You want Margin ROAS comfortably above 1.0. As a rule of thumb:
- Margin ROAS < 1.0: losing money on the campaign.
- 1.0 – 1.5: covering ad spend, not paying for overhead.
- 1.5 – 2.5: healthy direct-response campaign.
- 2.5+: often means you're under-spending and leaving volume on the table.
Break-even CPA: the number you should know cold
Break-even CPA is the highest you can pay to acquire one customer before the first order goes underwater:
Break-even CPA = AOV × gross margin %
For our $100 product at 30% margin, break-even CPA is $30. Anything above that is unprofitable on the first order. Whether you can run above break-even depends entirely on your repeat-purchase economics — which is why the next section matters more than people admit.
The repeat-purchase override
If 35% of customers buy a second time within 90 days at the same AOV, your true contribution per acquired customer is roughly 1.35× the first-order contribution. That lets you bid 35% higher on first-order CPA and still hit break-even. Brands with strong repeat behavior can outbid brands with the same first-order economics — that's the whole game in DTC.
Model your store's full picture (sessions, CR, AOV, repeat rate, contribution margin) in the Shopify revenue calculator.
Common modeling mistakes
- Using last-click revenue. Google Ads' platform-reported ROAS almost always overstates true incremental revenue because it claims credit for conversions that would have happened anyway. Run an incrementality test or use a conservative haircut (typically 20–40%).
- Ignoring tax and shipping in AOV. If your reported AOV includes tax and shipping, your margin math is wrong. Use net product revenue.
- Constant CR assumption. CR almost always drops as you scale spend because you reach colder audiences. Model a 10–25% CR decline at 2× spend.
- Forgetting Performance Max cannibalization. A big chunk of PMax conversions are returning customers who would have arrived via brand search. Strip those out before celebrating the ROAS.
A clean way to test a new campaign
- Calculate break-even CPA from AOV × gross margin.
- Set a target CPA at 60–70% of break-even (so the first order is profitable).
- Budget enough to get at least 30–50 conversions in the test window — anything less is noise.
- Compare incremental revenue (vs. a holdout or pre-test baseline), not platform-reported revenue.
- If repeat-purchase rate justifies it, gradually raise target CPA toward break-even or slightly above.
The strategic point
Companies don't lose at paid acquisition because their ROAS calculator is wrong. They lose because they confuse "the platform reported a profit" with "the business made a profit." The teams that win build their model bottom-up — gross margin, repeat economics, incrementality — and let those constraints set the ceiling on what they're willing to pay per click.