Comparing CPA across two campaigns can be comparing apples to oranges

Two campaigns can report wildly different cost-per-acquisition numbers for a reason that has nothing to do with which one is actually working: they aren't counting the same thing.

By Melvin Salas, Director & Co-founder, Riibon · Last verified: 2026-07-24

The dashboard lies by omission, not by fraud

You open your ads dashboard and see Campaign A sitting at a $40 cost-per-acquisition (CPA, meaning what you spent divided by the number of conversions it produced) and Campaign B at $85. Nothing on the screen looks wrong. The math is correct. Every number is real. And yet the comparison you're about to make, "Campaign A is more than twice as efficient as Campaign B", can be flatly false.

The reason is that CPA is not a fixed, universal unit like a mile or a kilogram. It's a ratio of spend over conversions, and "conversions" is a category each individual campaign defines for itself. Two campaigns can be pointed at the exact same product, running to the exact same audience, and still be counting fundamentally different things as a "conversion." When that happens, comparing their CPAs tells you almost nothing about which campaign is actually better at generating revenue.

How the same customer journey can produce two different CPAs

Here's the mechanism, made concrete with a hypothetical (not a real client result, just an illustration of how the math works). Imagine an ecommerce store running two campaigns for the same product. Campaign A is set up to optimize for and count only one event: "Purchase." If 10 people buy after clicking its ads and it spent $400, its CPA is $40.

Campaign B is set up differently. Whoever configured it added a second event to the conversion count: "Add to Cart" alongside "Purchase." Now imagine the exact same underlying behavior, 10 purchases, but along the way 15 additional people added something to their cart without ever buying. Campaign B's platform now reports 25 conversions (10 purchases + 15 add-to-carts) against the same category of spend. If it also spent $400, its reported CPA drops to $16, not because it sold more product, but because it's counting a softer, earlier-funnel action as if it were equivalent to a sale.

This is not a hypothetical edge case invented for this article, it's exactly how conversion tracking works on both Google Ads and Meta Ads. Both platforms let an advertiser choose, campaign by campaign (or even ad-set by ad-set on Meta, and at the account or campaign level via "conversion goals" on Google), which events count toward conversion totals and which of those events the campaign is actually optimizing its bidding around. There is no platform default that forces every campaign to count the same thing. Stacking multiple events, a legitimate tactic when you deliberately want to track full-funnel activity, will mechanically inflate conversion counts and deflate CPA relative to a campaign counting only the bottom-of-funnel event, even if the two campaigns are selling to identical customers at identical prices.

Why this trap is so easy to fall into

Nobody sits down and consciously decides to compare mismatched metrics. It happens because a dashboard presents CPA as a single, clean number sitting in a single column, next to another single, clean number, and the natural human instinct is to treat two numbers in the same column as directly comparable. The platform doesn't flag the difference. There's no warning banner that says "heads up, this campaign is counting two events and that one is counting one." The column header just says "CPA" or "Cost per Conversion" for both rows.

This is especially easy to miss if you're the person managing an agency relationship rather than the person configuring the campaigns. You're looking at a summary report, trusting that whoever built the campaigns set them up consistently, and reasonably assuming that a lower number means better performance. Sometimes it does. Sometimes it means the campaign is just counting more, or softer, things as a win.

The fix: check what each campaign actually counts before you compare

Before drawing any conclusion from a CPA (or ROAS, return on ad spend, which has the identical problem in reverse since revenue gets attached to whatever's defined as a conversion) comparison between two campaigns, the question to ask is not "which number is lower" but "are these two campaigns even measuring the same thing." There are two ways to make the comparison valid.

The first is to segment the comparison by conversion-action definition: pull each campaign's results broken down by individual conversion event (purchases alone, add-to-carts alone, leads alone) rather than looking at the blended total, and compare like-for-like events across campaigns. The second, simpler option is to only compare campaigns that are already configured to optimize for and count the exact same single event. If Campaign A counts purchases only and Campaign B counts purchases only, their CPAs are finally telling you something real about relative efficiency.

A checklist for going and checking this yourself

You don't need platform expertise to verify this, and if you manage an agency without touching the ad accounts directly, this is a five-minute check you can do yourself or ask your agency to walk you through on a screenshare.

In Google Ads: go to Goals (in the left-hand navigation, sometimes labeled "Conversions" depending on account view) and look at "Conversion actions." Each individual action (Purchase, Sign-up, Add to Cart, Phone Call, and so on) has a checkbox for whether it's included in the account's or campaign's main conversion count. Then check each campaign's settings tab for its "Conversion goals" selection, which controls what that specific campaign is optimizing toward and counting. Two campaigns can point at different goal sets even inside the same account.

In Meta Ads Manager: open Ads Manager, go to the campaign or ad set level, and look at the "Conversion" or "Performance goal" setting under the campaign's objective and optimization settings. This shows you the specific event (Purchase, Add to Cart, Lead, and so on) the ad set is optimizing for. For the full count of what's being reported as conversions in your results column, check the attribution and conversion event settings tied to your pixel or Conversions API setup, since results can reflect more than the single optimization event depending on how the account's reporting is configured.

In either platform, the practical test is the same: pull up the two campaigns you want to compare side by side, find the specific conversion event(s) each one lists, and write them down. If the lists don't match exactly, don't compare the CPA numbers directly. Either re-pull the data filtered to a shared event, or treat the comparison as directional at best until the tracking is aligned.

← All articles