Merit AC™
Library / Marketing with AI

Work out your break-even ROAS and CPA

Calculate the ROAS and cost per order where your ads stop losing money, from your own margin, shipping, fees and returns, then use both numbers to judge every campaign.

Worksheet · 20 min · Free

Ads Manager tells you a campaign returned 2.4x. That number means nothing until you know the ROAS at which an order pays for itself. Below that line, every sale your ads bring in costs you money. Above it, you keep something. This worksheet gets you two numbers you can write on a sticky note and use in every ad review:

  • Break-even ROAS: the return on ad spend where an order covers its own costs and the ad, with nothing left over.
  • Break-even CPA: the most you can pay in ad spend for one order before that order loses money.

You need about 20 minutes, your last full quarter of order data, and your supplier, shipping and payment invoices.

The formulas

All figures are per order, using your average order value (AOV). Leave out sales tax: it is not your money.

Contribution margin per order (CM $)
  = AOV
  - product cost (COGS, including packaging)
  - outbound shipping you pay (net of any shipping the customer paid you)
  - pick, pack and fulfilment cost
  - payment processing fees
  - expected cost of returns and refunds

Contribution margin % (CM %)  = CM $ / AOV

Break-even ROAS               = 1 / CM %
Break-even CPA                = CM $

Two more for when you want profit, not only survival. Pick the share of revenue you want left after ad spend (call it p, written as a decimal):

Target ROAS = 1 / (CM % - p)
Target CPA  = CM $ - (p x AOV)

If p is equal to or larger than CM %, no ROAS gets you there. Fix price, cost or AOV first.

Contribution margin leaves out fixed costs like rent, salaries and software. That is deliberate: those costs get paid out of what is left after ads. Break-even here means each ad-driven order pays its own way, not that the company is profitable.

Working out returns

Returns are the line most people skip, and the one that most often turns a "profitable" campaign into a losing one. Use the version that matches your policy:

If returned items are resold:
  Return cost per order = return rate x (refund amount - product cost recovered + return label + handling)

If returned items are written off (opened skincare, food, custom work):
  Return cost per order = return rate x refund amount

Use your actual return rate by order count over the last quarter, not a guess. If refunds are partial, use the average refund amount.

Worked example: Fernleaf Skincare

Fernleaf is a fictional DTC skincare brand selling a cleanser, serum and moisturiser, mostly as bundles. Last quarter:

Line Source Per order
Average order value (after discounts, before tax) Store analytics $60.00
Product cost incl. jars, boxes, inserts Supplier invoices $14.00
Outbound shipping (free shipping offered) Carrier invoices $7.50
Pick and pack 3PL invoice $2.50
Payment processing (2.9% + $0.30 assumed) Processor statement $2.04
Returns: 6% of orders refunded in full, product written off Refund report $3.60
Contribution margin per order $30.36

Now the math:

CM %            = 30.36 / 60.00  = 0.506  (50.6%)
Break-even ROAS = 1 / 0.506      = 1.98
Break-even CPA  = $30.36

Check: if Fernleaf pays $30.36 in ads for a $60 order, ROAS is 60 / 30.36 = 1.98. The two numbers agree, as they should.

Fernleaf wants 15% of revenue left after ads to cover overhead and profit:

Target ROAS = 1 / (0.506 - 0.15) = 1 / 0.356 = 2.81
Target CPA  = 30.36 - (0.15 x 60) = $21.36

So for Fernleaf, a campaign at 2.4x ROAS is profitable on each order but below target. A campaign at 1.7x is losing about $5 on every order it brings in.

Fill in your own

Copy this into a spreadsheet or a note and fill in the right-hand column.

Line Your number
AOV (after discounts, before tax)
Product cost incl. packaging
Outbound shipping you pay, net
Pick, pack, fulfilment
Payment processing fees
Return cost per order
CM $
CM % (CM $ / AOV)
Break-even ROAS (1 / CM %)
Break-even CPA (CM $)
Profit share wanted after ads (p)
Target ROAS (1 / (CM % - p))
Target CPA (CM $ - p x AOV)

Before you trust the number

  • Check what your ad platform counts as revenue. The purchase value your store sends to Meta or Google may include shipping or tax, depending on how the integration is set up. If it does, your platform ROAS will look higher than the ROAS in this worksheet. Compare one week of platform-reported purchase value with your store's revenue for the same orders.
  • Several products, several margins. If margins differ a lot between products, work out a break-even per product line and use the one that matches the products each campaign promotes. For a whole-account view, weight CM % by your sales mix.
  • First order versus lifetime. These numbers assume the first order has to pay for the ad. Some brands accept a first order below break-even because customers come back. Only do that with your own repeat-purchase data from past cohorts, and write down how long you are willing to wait to earn the gap back.
  • Recalculate when anything moves: a supplier price change, a new shipping rate, a free-shipping threshold, a new discount habit. Once a quarter at minimum.

Using the numbers to judge campaigns

Put both numbers at the top of your weekly ad review. Then sort every campaign or ad set into one of three bands, using at least 7 days of data:

Band Rule Action
Above target ROAS ROAS ≥ target, CPA ≤ target CPA Candidate to scale, in steps
Between break-even and target Break-even ≤ ROAS < target Keep running, work on creative, offer or landing page
Below break-even ROAS < break-even Cut or fix, once it has spent enough to judge

"Enough to judge" needs a house rule so you don't kill things on noise. A workable one: don't call an ad set a loser until it has spent at least two times your break-even CPA. For Fernleaf, that is about $61. If it has spent that and has no purchases, it is a cut.

Then check the whole account against the same line. Divide total store revenue by total ad spend for the week (often called MER or blended ROAS). Because store revenue includes returning customers and organic sales, blended ROAS should sit above break-even with room to spare. If platform ROAS looks healthy but blended ROAS is falling toward break-even, the platform is likely taking credit for sales that would have happened anyway.

Have an AI assistant check your math

Paste your numbers (not customer data) into your assistant with this prompt. Read its working line by line: assistants make arithmetic slips.

I run an online store. Here are my per-order numbers for last quarter:
AOV (before tax, after discounts): [ ]
Product cost incl. packaging: [ ]
Outbound shipping I pay, net of shipping charged: [ ]
Pick and pack: [ ]
Payment fees: [rate and fixed fee]
Return rate: [ ] ; returned items are [resold / written off]; average refund [ ]

1. Calculate contribution margin per order and as a % of AOV. Show each step.
2. Calculate break-even ROAS (1 / CM%) and break-even CPA (CM per order).
3. Calculate target ROAS and target CPA if I want [p]% of revenue left after ad spend.
4. Check your own arithmetic by confirming AOV / break-even CPA equals break-even ROAS.
5. List any cost I appear to have left out, as questions. Do not invent numbers for them.

Do it with Merit AC: the Ad Account Analyst service runs this math against your real ad account and margins for you.

This piece is free. 35 more like it, and each new one, come with AI Skills Academy membership.

More in Marketing with AI