Read CPA against contribution margin, not wishful revenue
A practical way to compare acquisition cost with the money each order can actually contribute.
- Author
- By Madly team
- Last updated
- Updated
- Reading time
- 3 min read
Start with the money left from an order
Cost per acquisition (CPA) tells you how much advertising spend was required for a measured acquisition. Contribution margin asks a different question: how much money from that order remains after the costs that rise when you sell and fulfil it? For a useful first-pass comparison, calculate contribution before advertising, then subtract acquisition cost. Shopify’s customer-acquisition guidance describes CAC as acquisition spending divided by new customers and notes that a complete view should not quietly omit costs beyond media spend (Shopify, “Customer Acquisition Cost”).
Define the order basis before comparing numbers. Decide whether CPA means one purchase, one new customer, or another event; an existing customer’s repeat purchase should not be treated as a newly acquired customer when assessing new-customer economics. Use the same date range, currency, order scope and treatment of cancellations in both calculations. Keep tax treatment consistent: VAT collected for HMRC is generally not sales income you retain.
Build a contribution figure you can explain
For each product or representative basket, begin with net sales after discounts and refunds, then subtract the costs that vary with the order: product cost, packaging, shipping subsidy, payment fees, fulfilment charges and expected return-related costs where you can support the estimate. The exact cost set depends on your business. Record what is included rather than labelling a rough gross-margin figure “profit”. Shopify’s marketing reports describe attributed sales and customer value, but an attributed sale is not itself a contribution calculation (Shopify Help, “Marketing reports”).
- Keep fixed overheads visible separately; do not pretend they disappear just because they are not per-order costs.
- Use a conservative, defensible returns allowance if returns are material, and revisit it when actual data is available.
- Calculate a break-even CPA for the stated order basis: contribution before ads is the maximum available to cover acquisition and any remaining overhead or desired profit.
- If you include repeat-purchase value, show the time horizon and evidence separately. Do not use an unproven lifetime-value estimate to excuse an unaffordable first order.
Illustrative example — not a benchmark
Suppose a made-up order has £80 net sales. Assume product, packing, payment and delivery costs total £46, leaving £34 contribution before ads. If reported CPA is £29 per order, £5 remains before fixed overheads and any costs not counted. That is not automatically a sound business result: check whether the CPA represents new customers, whether refunds have matured, and whether the £46 includes all relevant variable costs. If CPA were £38 on the same assumptions, the order would lose £4 before overheads. These figures are purely illustrative and are not market data.
Use the comparison to make a decision
Read CPA and contribution together by product, audience and campaign where volume allows, but avoid declaring a winner from a handful of orders. Reconcile platform-reported purchases with your store’s paid orders and your own new-customer definition. Attribution windows and reporting models can award different credit, so treat CPA as an attributed estimate, not a bank statement. Google Analytics explains that attribution models allocate credit among touchpoints and can therefore describe the same journey differently (Google Analytics Help, “Get started with attribution”).
Write down your allowable CPA, the cost assumptions behind it and the period over which you will review it. If the allowable CPA is below current results, investigate offer, basket contribution, conversion rate and tracking before simply spending more. If it is comfortably above CPA, check incremental capacity and customer quality before scaling. Update the calculation whenever prices, discounts, fulfilment costs or returns change; the decision is only as reliable as its inputs.
Per-order stack before CPA
Illustrative worked example, not a measured customer result. Replace assumptions with checked facts.
| Item | Illustrative £ |
|---|---|
| Net revenue | 60 |
| Goods | 25 |
| Fulfilment | 5 |
| Fees | 2 |
| Returns allowance | 4 |
| Pre-ad contribution | 24 |
| Purchase CPA | 20 |
| Post-ad contribution | 4, not net profit |
Common questions
- How does CPA differ from contribution margin?
- CPA is advertising spend divided by the chosen acquisition events. Contribution margin is revenue remaining after the relevant variable costs. Compare the two on a consistent per-order or per-customer basis.
- Is an acquisition profitable just because CPA is below order value?
- No. Product, fulfilment, payment and expected return costs still need to be paid. Use contribution before advertising as the guardrail, not gross order value.
Sources and further reading
- Shopify — Customer Acquisition Cost (opens in a new tab)
- Shopify Help — Marketing reports (opens in a new tab)
- Google Analytics Help — Get started with attribution (opens in a new tab)
- Google Ads: target ROAS uses conversion value, not profit (opens in a new tab)
- Shopify: contribution margin and variable costs (opens in a new tab)
Related tools
- A/B test sample size calculatorPlan visitors per test arm for a stated baseline, relative uplift, confidence and power.
- A/B test significance calculatorCompare two conversion proportions with a p-value and interval, while seeing why sample size and uncertainty matter.
- Ad budget plannerTranslate a target number of acquisitions and an assumed CPA into a weekly ad-spend scenario.
Related guides
- Ad frequency and fatigue: read the signal, not a magic numberUse frequency alongside delivery and outcome trends to decide whether people may be tiring of an ad.
- Interpret ROAS without mistaking it for profitUnderstand the ratio, its attribution boundaries and the margin context needed to use it.
- UTM tracking for ads: a naming system you can trustTag paid links consistently so analytics reports can organise visits by source, medium and campaign.
- Plan a first-month Meta ads budget you can afford to learn withA founder-focused method to set a capped first-month media budget, translate business economics into a decision limit and pace a small, interpretable test.
- How to allocate an ad-testing budgetA founder-friendly process for dividing limited paid-social spend across hypotheses without mistaking a small test for certainty.