CPA and ROAS are both perfectly valid bid optimization targets. They are not interchangeable. Pick the wrong one for the account, and the campaign will scale toward a number that doesn't actually represent the business outcome you wanted — and you'll spend three quarters wondering why the dashboards look fine and the P&L doesn't.
This post is the framework we use across PPC services engagements to pick the right bid target for an account. No fabricated numbers — just the structural logic and the decision criteria.
What's the actual difference between CPA and ROAS?
- Cost Per Acquisition (CPA). Total ad spend divided by the count of acquisition events (purchases, leads, signups). Measured in dollars per acquisition. A target CPA (tCPA) tells the bidding algorithm: "Drive as many of these events as possible at or below this dollar cost per event."
- Return On Ad Spend (ROAS). Total conversion value divided by total ad spend. Measured as a ratio (e.g., 4.0 means $4 of revenue per $1 of ad spend). A target ROAS (tROAS) tells the bidding algorithm: "Drive as much conversion value as possible while keeping the value-to-spend ratio at or above this number."
The decisive difference: tCPA treats every conversion as worth the same dollar cost. tROAS treats conversions as worth their actual revenue contribution.
That distinction breaks down further depending on the business model.
When should I optimize for CPA?
CPA is the right target when:
- Conversion value is roughly constant. Lead-gen accounts where every form fill is approximately equivalent in downstream value. SaaS free-trial signups. Newsletter signups. Account creation.
- You don't have reliable conversion value data. No revenue is plumbed back to the conversion event. CPA is what you can measure cleanly; tROAS would be optimizing on noise.
- The sales cycle decouples ad-driven conversion from final revenue. A B2B account where the marketing-qualified lead becomes a sales-qualified opportunity weeks later. The MQL has a known acquisition cost target; the eventual deal size varies.
CPA is the cleaner target for most B2B PPC accounts, especially in the upper-funnel and mid-funnel stages where leads convert to revenue downstream.
When should I optimize for ROAS?
ROAS is the right target when:
- Conversion value varies meaningfully across customers. Ecommerce accounts where order value ranges from $30 to $3,000.
- You have reliable revenue-per-conversion data plumbed into the platform. Enhanced Conversions wired up, dynamic conversion values passed from the cart or checkout, GA4 ecommerce events fed back into Google Ads.
- The bidding algorithm is mature enough to optimize on value. At least 50 conversions in the last 30 days for the campaign, ideally 100+.
ROAS is the default target for most ecommerce PPC management accounts running Performance Max, Shopping, and feed-driven Search.
What about Max Conv Value without a target?
This is the right strategy during the learning phase — before the campaign has enough conversion volume for a tROAS target to behave well. The pattern we use:
- Weeks 1–2. Max Conv Value, no target. Let the algorithm learn the auction.
- Weeks 3–4. Set tROAS at 80% of the campaign's achieved ROAS. Not at goal. At the current floor.
- Weeks 5+. Ratchet up 10–15% bi-weekly, with stabilization between increments.
Hard-setting an aspirational tROAS on day one is the most common reason new PMax campaigns fail to scale.
What if my business cares about both?
It almost always does. The framework we use:
- Pick one target as the bid strategy input. Algorithms optimize toward one number, not two.
- Measure the other as a guardrail. If the tROAS campaign is hitting ROAS goal but acquiring customers at a CPA that doesn't pencil out after fulfillment, that's a margin problem, not a campaign problem.
- Document the trade-off. A team running tROAS will lose volume vs a team running tCPA. A team running tCPA will lose margin vs a team running tROAS. Both are real trade-offs.
How does conversion-value plumbing actually work?
For tROAS to optimize cleanly, the conversion event needs to send a value. For ecommerce, that's the order subtotal (or order total, depending on how you treat shipping and tax). For lead gen with downstream revenue, that's an estimated lead value derived from your conversion-to-revenue funnel math.
Minimum plumbing:
- Dynamic conversion values sent with every purchase event. Shopify, BigCommerce, and Magento have native integrations; headless stacks need explicit event-payload work.
- Enhanced Conversions enabled. Hashed customer email + phone sent with each event for better attribution and Customer Match matching.
- Consent Mode v2 for EU traffic. Without it, the modeled conversions feeding tROAS are absent on a meaningful slice of traffic.
- GA4 ecommerce events mirrored from the storefront. Used both for attribution and for audience definitions.
The plumbing is unglamorous and consequential. Most accounts we audit have one or two of these set up; almost none have all four right. See our first-party data integration playbook for the full stack.
How does this interact with channel selection?
The target you pick shapes which channels make sense:
- Lead-gen-style tCPA accounts generally over-invest in Microsoft Ads and LinkedIn advertising where audience targeting + lead-form integration produces predictable cost per lead.
- Ecommerce tROAS accounts generally over-invest in Google Shopping feed and PMax, where dynamic conversion values feed the bid algorithm directly. Amazon and Amazon PPC management play a complementary role on the same target logic.
- Hybrid accounts (B2B ecommerce with leads + transactional flow) run separate campaigns with separate targets. You can't average them.
Pick the target first. Let it shape the channel mix. The reverse — picking channels first and then squinting at whatever the platform reports — is how accounts end up optimizing toward the wrong number.
What about LTV-based bidding?
The frontier most ecommerce accounts haven't reached. Value-based bidding with LTV (lifetime value) signals — rather than first-order value — lets the algorithm prefer high-LTV customer cohorts over high-AOV one-time buyers.
The prerequisite plumbing:
- A first-party LTV estimate per customer, refreshed at least monthly.
- Customer Match lists segmented by predicted LTV cohort.
- Value-based bidding turned on in Google Ads, with the LTV cohorts informing value adjustments.
When this works, it shifts campaign behavior toward acquiring customers worth more downstream — not just customers who place big first orders. Worth doing once the core tROAS plumbing is solid. Premature without it.
Key takeaways
- CPA optimizes for event count at a target cost. ROAS optimizes for conversion value at a target return ratio.
- Use CPA when conversion value is constant or unmeasurable. Use ROAS when value varies meaningfully and you have clean revenue plumbing.
- Pick one target as the bid strategy input; treat the other as a guardrail.
- Don't start with an aspirational target. Start with Max Conv Value, set the target at 80% of achieved ROAS, ratchet up bi-weekly.
- Conversion value plumbing — Enhanced Conversions, Consent Mode v2, dynamic conversion values — is the prerequisite for clean tROAS bidding.
- LTV-based bidding is the next frontier. Don't reach for it before the core tROAS stack is solid.
Want a CPA-vs-ROAS recommendation for your account?
The right answer depends on your business model, your conversion plumbing, and your campaign maturity. The 1Digital® PPC services team walks through this on every audit — tell us about your account and we'll make the recommendation for free.
