Skip to content

ROAS, MER or POAS: which number to run a DTC brand on

Run the business on contribution margin after ad spend, in dollars, every week. Judge acquisition on new-customer MER, with a target set from what a first order earns and how fast customers pay back. Give each ad platform a profit-based value where it can take one, and keep platform ROAS for comparing ads inside one platform.

Below are the formulas, what each number hides, an example where equal ROAS masks a $5,640 profit gap, and our weekly routine.

The numbers, defined

ROAS and breakeven ROAS

ROAS is return on ad spend as a platform reports it.

ROAS = platform-attributed revenue / ad spend

Breakeven ROAS comes from your contribution margin before ads, meaning what's left of each sales dollar after cost of goods, shipping, payment fees and returns. If you keep 40 cents, breakeven ROAS is 2.5.

Breakeven ROAS = 1 / contribution margin before ad spend

Platform ROAS misses three things. Later refunds don't come off. Margin is invisible, so a 3.0 on a high-margin product looks like a 3.0 on a thin one. And each platform credits itself for any order its ads touched, so platform totals added together can exceed what the store took.

MER and new-customer MER

MER, the marketing efficiency ratio, is total store revenue divided by total ad spend across every channel. It ignores attribution, so no platform can inflate it. Use revenue after refunds and keep the denominator consistent.

MER = total revenue / total ad spend

Its blind spot is repeat revenue. Last year's customers keep buying through email and SMS, so a brand with a strong repeat base can post a healthy MER while its ads lose money on every new customer. New-customer MER, also called acquisition MER, counts only first-time revenue and charges all ad spend against it.

New-customer MER = first-time customer revenue / total ad spend

POAS

POAS, profit on ad spend, puts profit where ROAS puts revenue.

POAS = profit on attributed orders / ad spend

Breakeven POAS is 1, but only if profit means what's left after cost of goods, shipping, fees and returns. Subtract cost of goods alone and a POAS of 1 still loses money. POAS runs on platform attribution, so it inherits ROAS's attribution problems.

Contribution margin after ad spend

This is the number that pays salaries and rent.

Contribution after ads = revenue after refunds - cost of goods - shipping and fulfillment - payment fees - return costs - ad spend

It comes from your store and books, so attribution can't distort it. It tells you whether the period made money, not which campaign did the work.

CAC payback and first-order profit

CAC is total ad spend divided by new customers. First-order profit is a first order's contribution minus CAC. When it's negative, you're betting on repeat purchases. CAC payback, the months until a cohort's cumulative contribution covers its CAC, tells you how long the bet takes.

What each number hides

Waterfall chart: revenue minus product costs, shipping and fees, returns and ad spend leaves contribution margin. ROAS only compares revenue with ad spend.
ROAS compares two bars. Contribution margin counts every cost in between.
MetricFormulaGood forWhat it hides
ROASAttributed revenue / platform spendComparing ads inside one platformMargin, refunds, double counting, sales you'd get anyway
MERTotal revenue / total ad spendA top-line check no platform can inflateWhich channel works, weak acquisition masked by repeat buyers
New-customer MERFirst-time revenue / total ad spendWhether ads buy customers you can affordProduct margins, later repeat value
POASProfit on attributed orders / ad spendBidding and budget calls on profitROAS's attribution errors, stale cost data
Contribution after adsRevenue minus variable costs minus ad spendWhether the period made moneyWhich campaigns drove it

A worked example: same ROAS, very different profit

This is an illustration with made-up numbers. A brand runs two campaigns in one month. Each spends $5,000 and reports $15,000 in purchases, a ROAS of 3.0.

Campaign A sells a $60 serum with $15 cost of goods, $6 shipping per order and 4% returns. Campaign B sells a $60 bundle with $27 cost of goods, $10 shipping and 20% returns. For both, payment fees are 3% and aren't refunded, returns go back into stock, and return labels cost the same as outbound shipping.

One monthCampaign A: serumCampaign B: bundle
Ad spend$5,000$5,000
Platform-reported revenue$15,000$15,000
ROAS3.03.0
Orders (returned)250 (10)250 (50)
Revenue kept after refunds$14,400$12,000
Cost of goods on kept orders$3,600$5,400
Shipping and return labels$1,560$3,000
Payment fees$450$450
Contribution before ads$8,790$3,150
Breakeven ROAS1.714.76
POAS1.760.63
Contribution after ads$3,790-$1,850

Same ROAS, but A makes $3,790 and B loses $1,850, because B needs 4.76 to break even. One account-wide target of 3.0 would call both campaigns on target and keep funding B. A platform that saw only cost of goods would put B's profit at $8,250 and its POAS at 1.65, and call it profitable. Shipping and returns sink it.

The same month at store level

Say these campaigns are the brand's only ads, $10,000 in total, and the platforms claim $30,000 in revenue between them. The store booked $45,000 after refunds, but only $18,000 from first-time customers. Contribution before ads is about 45% of revenue (the two campaigns blend to 45.2%), so breakeven is about 2.2.

  • MER is 4.5, about double breakeven.
  • New-customer MER is 1.8, below it.
  • Contribution after ads is $10,250, which is 45% of $45,000 minus $10,000.
  • Returning customers contributed $12,150. First orders contributed $8,100 against $10,000 of ads, a $1,900 hole.

The month made money, all of it from customers acquired earlier. That's how blended MER flatters.

Payback in the same example

Three hundred new customers for $10,000 is a CAC of $33.33. A first order contributes $27 (45% of $60), so each customer starts $6.33 short. If 30% place a second $60 order within 90 days, that's $8.10 more per customer on average, and the cohort pays back inside a quarter. At 10%, it's $2.70, and it doesn't. Repeat behavior decides whether a new-customer MER of 1.8 is an investment or a leak.

Which number should you set targets on?

Set the business target on contribution after ad spend, in dollars, by month. Attribution can't inflate it, and it maps straight to cash.

Set the acquisition target on new-customer MER, or CAC, derived from first-order contribution and the payback window your cash can carry. In the example, 30% repeat within 90 days supports a new-customer MER down to about 1.7. If every first order must break even, you need 2.2. This is how we set targets for DTC brands.

For the platforms, send profit as the conversion value where you can. Their ROAS then becomes POAS, and the target is the POAS you need after your incrementality adjustment (covered below). If you send revenue, set targets per campaign or product group from their own breakeven ROAS, never one for the account.

Use plain ROAS only to rank ads and campaigns inside one platform.

How to give Google and Meta a profit signal

Google Ads

Smart Bidding optimizes toward whatever value you send, and Google's value-based bidding guidance lists profit as one option. The simplest setup is to calculate profit per order on your server and send it as the conversion value under Maximize conversion value or Target ROAS.

The built-in route is conversions with cart data. Send the order's items with your conversion tag, add the cost_of_goods_sold attribute to your Merchant Center feed, and Google reports gross profit. That's revenue minus your cost of goods, with no shipping, fees or returns, so treat it as an upper bound.

At Google Marketing Live 2024, Google announced a profit optimization goal for Performance Max and Standard Shopping built on cart data and Merchant Center costs. Search Engine Roundtable reported the setting appearing in select accounts that October. I couldn't find a current Google help page on who has it, so check your campaign settings or ask your rep.

Three more levers:

Meta

Meta's value optimization works with standard and custom events on the Sales objective that carry a value and currency. Its docs say the value must be a monetary amount and can be an estimated one rather than revenue. So you can send profit per order as the purchase value through the Conversions API, then bid with Highest value or a minimum ROAS, which now reads as a minimum POAS.

The Conversions API also has a net_revenue field, defined as the margin value of a conversion event. Triple Whale's help center describes a Meta profit optimization mode built on it that Meta enables per ad account once eligibility requirements are met. I couldn't find Meta's own public documentation of it, so treat it as limited until your rep confirms access.

If you'd rather not share exact costs, send values scaled by margin band and keep the real profit math in your own reporting. Either way, test on one campaign before rolling out.

How far should you trust the platform numbers?

Treat reported conversions as an estimate. Google's Conversions column includes modeled conversions alongside observed ones, with modeling filling gaps from consent choices, cookie limits, cross-device journeys and Apple's App Tracking Transparency.

View-through is the second issue. Meta's ad set attribution settings accept click-through, view-through and engaged video view windows, so a purchase can be credited to an ad nobody clicked. Check which windows your reports use and put click-only results beside them. Without a click, causation is weaker, so test it.

Test for incrementality

The check is a holdout: keep ads from a random group of people or places and measure the difference in sales.

  • Meta Conversion Lift randomly splits people into test and control groups, but its Marketing API docs say access is limited and point you to your Meta rep.
  • Google's Conversion Lift isn't open to every account either (Google points you to your rep). In November 2025 Google said tests that once might have cost upwards of $100,000 can now run for $5,000. Its Bayesian Conversion Lift won't show results below $5,000 of spend, or before the treatment group has 150 conversions and the control group 65.
  • A geo holdout needs neither. Turn ads off, or up, in some regions and compare with similar ones. Meta's open-source GeoLift recommends 20 or more geos, daily data, at least 15 days of testing and pre-test history 4 to 5 times the test length. Google's open-source Meridian GeoX, generally available since September 2026, needs daily data and at least 10 geos for a single-cell test. It recommends 50 to over 100, and multi-cell designs can compare Google and non-Google media.

Turn a test into a target

Your incrementality factor is the incremental conversions a test finds divided by what the platform reported for the same period. In the example, say a test found 60% of campaign A's reported sales were incremental. Its true POAS is about 1.05 (1.76 times 0.6), barely above breakeven. For a true POAS of 1.3, the platform target needs to be about 2.17 (1.3 divided by 0.6). Re-test after big changes to offer, channel mix or creative.

A weekly routine

  1. Pull last week's store numbers, not platform numbers: revenue after refunds by first-time and returning customers, plus orders and refunds.
  2. Pull total ad spend from every platform for the same dates.
  3. Calculate MER, new-customer MER, CAC and contribution after ad spend, and compare each with its target and the previous four weeks.
  4. Track platform-claimed revenue against first-time revenue. If the ratio jumps, look for a tracking or attribution change before you credit performance.
  5. Review campaigns on POAS, or on ROAS against each campaign's own breakeven. Move budget from below breakeven to above it, one change per campaign per week so you can read the result. If a campaign sits near breakeven with a weak landing page, fix the page first (see landing pages for paid traffic).
  6. Check cost of goods, shipping, fees and return rates by product, and update the values you send when they move.
  7. Write each decision down with an owner and a date, and check last week's decisions against this week's numbers.
  8. Once a quarter, refresh incrementality factors with a lift test or geo holdout and reset platform targets.

If you want help

Our growth audit ($1,000, two to three weeks) reviews your ad accounts, tracking, creative and landing pages against margin, sets breakeven and target numbers for each channel, and ends with a prioritized plan. If you'd like us to run the accounts afterward, Growth Marketing starts at $2,000 a month. Book a 30-minute call to start.

Sources

Facts checked on 4 October 2026.

Contact Us