Free tool · no signup
CPA calculator
CPA is ad spend divided by conversions. Type in both for the same dates and you'll see what each one cost. Then check what got counted as a conversion.
What you spent on ads in the date range. Take it from Ads Manager, Google Ads, or both added together. Adding spend across platforms is fine.
How many conversions came in for the same dates. Say where the number is from below.
Use one currency for spend. The result comes out in the same currency.
Enter ad spend and conversions to see your CPA.
Illustrative math on the numbers you type. It doesn't tell you which ad caused which sale. The math runs in your browser and nothing you type is stored.
This calculator trusts the numbers you type in.
To see which campaigns produced the payments behind them, start a 14-day free trial, no card needed.
How CPA is calculated
CPA stands for cost per acquisition. Reports also call it cost per conversion, or in Meta, cost per result.
CPA = ad spend ÷ conversions
Google Ads works out its Cost / conv. column "by dividing your total cost by the number in your “Conversions” column" (Google Ads Help). Meta's cost per result is "amount spent divided by results" (Meta Business Help Center).
Same math on both sides. What changes is what got counted underneath.
A worked example
This is a framing example, not a client result.
A client spent €2,000 on Meta ads in October. Ads Manager shows 40 purchases.
€2,000 ÷ 40 = €50 CPA.
Now the payment side for the same dates. Say 32 paid orders trace back to visits from those ads. €2,000 ÷ 32 = €62.50.
Same spend, same month. One figure says each customer cost €50. The other says €62.50. The client will want to know which one is real.
Doing this for clients?
Thexly for agencies puts payment revenue next to each platform's claim, one workspace per client.
What counts as a conversion decides what CPA means
In Meta, results are counted against the objective and settings you chose (Meta Business Help Center). If an ad set is set up for link clicks, its cost per result is a cost per click, not a cost per customer.
In Google Ads, the Conversions column counts your primary conversion actions and "may include modeled conversions" (Google Ads Help). Meta says that where results can't be measured directly, "statistical modeling may be used to account for some results" (Meta Business Help Center).
A sale that touched both platforms can be counted by each. Add their conversions together and CPA looks lower than what was paid per customer.
So use each platform's CPA to compare campaigns inside that platform. When you tell a client what a customer cost, divide by paid orders for the same dates.
Check it against revenue that hit the bank
The calculator trusts the numbers you type in. Before a CPA goes in a client report, put each platform's claim next to the payments for the same dates. The platform vs payment gap calculator does that from three numbers.
Check it against the bank.
Now check it against the revenue that hit the bank: start free.
CPA, ROAS and MER
CPA tells you what a conversion cost. It says nothing about what the conversion brought in. For that, use the ROAS calculator, and the MER calculator for payments against all ad spend.
Whether a CPA is low enough depends on what one order leaves after product costs. If the CPA is above that, the order lost money. The break-even ROAS calculator works out the same floor from gross margin.
Which number sits under your CPA right now: Meta's results, Google's conversions, or paid orders?
FAQ
Questions & answers
Related tools
Other free calculators
Platform vs payment gap
Enter Meta claims, Google claims, and payment collected. See the dollar and % gap.
MER / blended ROAS
Payment revenue ÷ total ad spend. The number that survives a Stripe check.
Put the platform figure next to the payments for the same dates
The calculator trusts whatever conversions you type in. Meta and Google each count their own, and both can count the same sale.
Thexly works on the payment side for ecommerce brands on Stripe checkout: each payment matched back to the ad click that led to it, counted once, in a live link the client can open.