Choose the partner whose work you can check. Decide first whether you need strategy, execution or...
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
| Metric | Formula | Good for | What it hides |
|---|---|---|---|
| ROAS | Attributed revenue / platform spend | Comparing ads inside one platform | Margin, refunds, double counting, sales you'd get anyway |
| MER | Total revenue / total ad spend | A top-line check no platform can inflate | Which channel works, weak acquisition masked by repeat buyers |
| New-customer MER | First-time revenue / total ad spend | Whether ads buy customers you can afford | Product margins, later repeat value |
| POAS | Profit on attributed orders / ad spend | Bidding and budget calls on profit | ROAS's attribution errors, stale cost data |
| Contribution after ads | Revenue minus variable costs minus ad spend | Whether the period made money | Which 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 month | Campaign A: serum | Campaign B: bundle |
|---|---|---|
| Ad spend | $5,000 | $5,000 |
| Platform-reported revenue | $15,000 | $15,000 |
| ROAS | 3.0 | 3.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 ROAS | 1.71 | 4.76 |
| POAS | 1.76 | 0.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:
- Conversion value rules change values by audience, location or device in Search, Shopping, Display and Performance Max, and Smart Bidding bids on the adjusted values. Rules can add to, multiply or replace a value, account-wide or per campaign. Use them to cut the value of orders from regions where shipping eats the margin.
- Customer lifecycle goals let Search, Performance Max, Shopping and Demand Gen campaigns bid higher for new customers than existing ones, or bid only for new customers.
- Product value optimization adjusts values for specific products and attributes, such as brand or category, in Performance Max and Shopping. Search Engine Roundtable reported it in beta in September 2026.
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
- Pull last week's store numbers, not platform numbers: revenue after refunds by first-time and returning customers, plus orders and refunds.
- Pull total ad spend from every platform for the same dates.
- Calculate MER, new-customer MER, CAC and contribution after ad spend, and compare each with its target and the previous four weeks.
- Track platform-claimed revenue against first-time revenue. If the ratio jumps, look for a tracking or attribution change before you credit performance.
- 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).
- Check cost of goods, shipping, fees and return rates by product, and update the values you send when they move.
- Write each decision down with an owner and a date, and check last week's decisions against this week's numbers.
- 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
- Value-based bidding best practices, Google Ads Help
- About conversions with cart data, Google Ads Help
- Cost of goods sold [cost_of_goods_sold], Google Merchant Center Help
- Google Marketing Live 2024: Your roundup of announcements, Google Ads Help
- Google Ads Adds Gross Profit Optimization Campaign Setting, Search Engine Roundtable
- About conversion value rules, Google Ads Help
- Conversion value rules, Google Ads API documentation
- About customer lifecycle goals, Google Ads Help
- Product Value Optimization, Accelerate with Google
- Google Ads Product Value Optimization Beta, Search Engine Roundtable
- Integration guidance: value optimization, Meta for Developers
- Conversions API custom data parameters, Meta for Developers
- Bid strategy, Meta Marketing API documentation
- Optimize Meta campaigns for profit margin (Profit Optimization), Triple Whale Help Center
- About modeled online conversions, Google Ads Help
- Ad Set reference, Meta Marketing API documentation
- Lift study, Meta Marketing API documentation
- About Conversion Lift, Google Ads Help
- Strengthen media measurement and ROI clarity with incrementality testing improvements, Google Ads Help
- About Bayesian methodology in Conversion Lift, Google Ads Help
- GeoLift best practices, Meta Open Source
- Drive profitable growth with new data and measurement tools, Google blog
- Meridian GeoX FAQs, Google for Developers
Facts checked on 4 October 2026.