Wasted Ad Spend · Conversions and ROI
What constitutes a good return on ad spend for e-commerce businesses?
A good ROAS depends on contribution margin, not on a universal number. Breakeven ROAS equals 1 divided by contribution margin, so a 30 percent margin needs 3.3x to break even. Healthy targets sit near 2x breakeven. Then check blended ROAS against platform-reported ROAS, new-customer ROAS above 1.5x, and contribution margin after ad spend above zero.
“Good ROAS” is the wrong question
A 5x ROAS on a 20 percent contribution margin product is a money-losing campaign. A 2x ROAS on a 60 percent margin product is profitable. Asking what a good ROAS looks like without naming a margin is asking a question the number cannot answer.
ROAS is revenue divided by ad spend. Profit is what survives cost of goods, shipping, payment processing, ad spend, and everything else that scales with an order. The dashboard knows none of that. Start with contribution margin per order, then back into the ROAS the business needs to clear. Skipping that step is why an account looks healthy in Ads Manager and dies on the P&L.
The breakeven math
Breakeven ROAS = 1 / contribution margin
A 30 percent margin breaks even at 3.3x. A 50 percent margin at 2x. A 20 percent margin needs 5x to stop losing money on incremental orders. Read against gross margin instead, 40 percent breaks even at 2.5x and 55 percent at 1.82x.
Then layer in profit. A healthy target is 2x breakeven on cold traffic. Premium DTC brands with 70 percent margins run profitable at 3x. Furniture brands at 35 percent margins need 5x or 6x on cold traffic. Founders who run the numbers in the contribution-margin calculator usually find their internal “good ROAS” target was set 30 to 50 percent too low.
Breakeven also sets the floor you enforce in the platform. Google Ads target ROAS bidding should sit at least 20 percent above breakeven to absorb tracking variance and returns. On Meta, the equivalent is a minimum-ROAS rule on the campaign. Threshold for concern: campaign-level ROAS within 10 percent of breakeven on a 30-day window, or below breakeven for more than 14 consecutive days.
The same math gives a target CPA: gross profit per order minus a planned contribution to fixed costs. On a Shopify home brand at 55 percent gross margin and a $160 average order value, that lands between $50 and $70. Reported CPA above target on a rolling 30-day window is the concern line. Two days is noise. Two weeks is structural, and the fix is redistribution toward the campaigns already converting under target, not a bid adjustment.
Category benchmarks (with margin context)
| Category | Typical contribution margin | Breakeven ROAS | Healthy blended target |
|---|---|---|---|
| Home and furniture | 35 to 50 percent | 2x to 2.9x | 3x to 5x |
| Apparel | 45 to 60 percent | 1.7x to 2.2x | 4x to 6x |
| Beauty and skincare | 65 to 80 percent | 1.25x to 1.5x | 3x to 4x |
| Consumer electronics | 15 to 25 percent | 4x to 6.7x | 6x to 10x |
| Premium DTC | 60 to 75 percent | 1.3x to 1.7x | 3x |
Home and furniture: big baskets hide thin per-order economics, so under 3x blended usually means the brand is funding ads from working capital, as the furniture playbook covers. Apparel: return rates of 15 to 30 percent compress effective margin, so platform ROAS has to clear higher than the math first implies. Consumer electronics: a 4x is usually a losing account dressed up by branded-search overlap. A furniture brand at 55 percent margins on a $1,800 AOV also operates differently than one at 30 percent margins on a $400 AOV. Run the brand’s own breakeven first.
Sugar Babies needs 3.5x to clear breakeven on contribution margin. I set the Performance Max target at 4x because Google’s target ROAS undershoots more than it overshoots on its own reporting. The weekly read swings hard: 3x, then 4x, then 2x, then 6x in consecutive weeks. Over a quarter the blended number lands near the target. The ninety-day blended is the read that matches the P&L.
Blended ROAS vs platform-reported ROAS
Every platform claims credit for the same conversion when journeys overlap, so the sum of platform numbers usually exceeds actual revenue by 20 to 60 percent.
Blended ROAS is total revenue divided by total ad spend across every platform for the period, and it is the only number that ties to the bank account. Threshold for concern: platform-reported revenue exceeding blended revenue by more than 30 percent. A 5x Meta and a 4x Google on top of a 2.5x blended is a flashing light, not a healthy account. Those platforms are inflating by a combined 2x, and the bank balance exposes it about 60 days later. Set blended as the north star and run a monthly blended-vs-platform reconciliation. The tracking stack reference covers the de-duplication contract that makes it trustworthy.
Branded-search overlap inflation
Most accounts running Google Ads have a branded-search campaign capturing buyers who would have arrived organically. Its ROAS is often 15x or 20x, and it is mostly fake incrementality. A 6x Google Ads account that includes branded often becomes a 2.5x account on non-branded traffic, which is the number that matters for growth. Meta retargeting works the same way. A 10x ROAS against existing site visitors recaptures demand the brand already paid to create.
New-customer ROAS is the metric that scales
Total ROAS includes returning buyers who would have purchased through email, organic, or direct. New-customer ROAS strips them out and predicts whether the account can grow. At 1.5x to 2x it is healthy for most ecommerce brands once LTV is factored in. Threshold for concern: below 1.5x, or below 1x for brands with strong LTV economics. A platform reporting 4x total ROAS against 0.8x new-customer ROAS is recapturing existing demand, and the growth ceiling is in sight. Chasing 4x new-customer ROAS on cold traffic shrinks that ceiling from the other direction, because targeting tightens until only existing-intent buyers convert. Loosen the target, accept first-purchase contribution near breakeven, and let LTV pay back acquisition cost across month two through month twelve.
The report is GA4 with a new_customer parameter on the purchase event, segmented by paid channel. Setup takes an afternoon, and most accounts I audit skip it. On Sugar Babies, platform-reported ROAS looked healthy at the 4x target. Once the GA4 split was running, the new-customer cut sat closer to 2x. Total ROAS was the dashboard read. New-customer ROAS was the growth read.
Contribution margin after ad spend
The most honest number in the account. Revenue, minus cost of goods, minus ad spend, divided by revenue. Negative means the campaign is paying customers to take inventory.
Threshold for concern: below 5 percent at campaign level on a rolling 30-day window. Five percent is a floor, not a target. Below zero is a stop-loss, and below zero on cold-traffic orders for more than 30 days with no LTV plan to recover the gap is the definition of bad ROI regardless of what Ads Manager says. Anything negative on first purchase needs a clear second-order or subscription pickup to be defensible. Pull the campaigns printing negative numbers, redistribute into the campaigns clearing 15 percent or more, then think about scaling. Most accounts I see have three to five campaigns silently losing money inside an account reporting a healthy blended ROAS.
Reading social spend against the same targets
Meta shows one number, Shopify another, TikTok a third that disagrees with both. Each measures a different slice of the same purchase, with different windows and different signal-loss adjustments stitched on after iOS 14.5. Six reads make social spend legible against the math above.
CPM. Above $50 on cold prospecting means the creative is losing the auction to fresher work in the same pool. Pull CPM by ad set on a rolling 14-day window. A rise of more than 30 percent without a matching lift in ROAS is a creative refresh, not a budget increase.
CPC and click-to-conversion. TikTok runs cheaper on impressions and expensive on commercially qualified clicks. Click-to-conversion ratio should stay below 8 percent. If 100 people click and fewer than 8 purchase, the offer-to-page match is broken, the page is slow, or the audience is wrong.
CPA against contribution margin. A $48 CPA on a $90 contribution margin is healthy. The same CPA on a $35 contribution margin is bleeding.
Attribution window. Meta defaults to 7-day-click plus 1-day-view, written 7DC/1DV. Read 7DC/1DV for directional health, 7-day-click when comparing against Shopify, 1-day-click when stress-testing. If 7DC/1DV looks strong but 1-day-click ROAS collapses below 1, the campaign is harvesting credit for purchases it did not cause.
Frequency. On cold prospecting, above 4 inside a 7-day window is where CPM rises, CTR falls, and CPA inflates in step. Warm and retargeting audiences tolerate 8 to 12 across 14 days.
CAPI deduplication. The one most founders skip, and it decides whether everything above is signal or noise. The browser pixel loses a meaningful share of conversion events post-iOS 14.5. The Conversions API fills the gap server-side, but every browser event must match a server event by event_id or Meta double-counts the purchase. Dedup rate in Events Manager should sit above 95 percent. Below 90 percent, reported ROAS is mathematically wrong. The tracking stack reference walks the event_id handshake, the fbp/fbc passthrough, and the match keys that lift Event Match Quality above 7.
| Metric | Meta benchmark (home/furniture ecom) | TikTok benchmark | Threshold for concern |
|---|---|---|---|
| CPM | $18 to $35 | $8 to $22 | Above $40 sustained |
| CPC | $0.80 to $2.20 | $1.50 to $3.50 | Above $3 on cold |
| Frequency on cold | Under 4 per week | Under 5 per week | Above 6 |
| 7-day-click ROAS | 3x to 5x | 2x to 4x | Below breakeven |
| CAPI dedup rate | Above 95 percent | Above 90 percent | Below 85 percent, ROAS unreadable |
A Meta-reported 4.2x against a Shopify-reported 1.9x is normal in a poorly tracked account. Meta claims purchases inside a 1-day-view window and Shopify does not, so strip the view-through column to compare like-for-like. Shopify credits the last touch, often a session Meta legitimately introduced. And a dedup failure counts the same purchase twice. The fix lives in the tracking stack, not the bid strategy.
The indicators that move before ROAS does
Conversion rate against a vertical benchmark. Read against a benchmark, conversion rate tells you whether the leak sits upstream or downstream of the click. Home and decor ecommerce runs 1.5 to 3 percent on relevant traffic. Furniture sits at 1 to 2 percent because of higher consideration. Service businesses with a focused lead form clear 2 to 5 percent, and law-firm accounts run closer to 4 percent on focused practice areas. SaaS free-trial pages clear 3 to 7 percent. Paid-social landing pages should hold above 2 percent. Threshold for concern: below half the vertical benchmark on traffic that reads as relevant in the search-term report. Relevant traffic that will not convert is a page problem. Irrelevant traffic is a match-type problem.
Impression share lost to budget. The share of auctions a campaign was eligible for but did not enter because the daily budget was spent. Above 30 percent on a campaign already hitting target CPA or target ROAS is a campaign asking for more money. Below 5 percent on a campaign missing CPA targets means the budget is not the constraint, the structure is.
CTR-to-CR ratio. A high CTR with a low CR means the ad promised something the page did not deliver. Threshold for concern: CTR above 3 percent paired with CR below half the vertical benchmark. Align the ad headline to the H1 of the page, then align the H1 to the query that triggered the ad.
On a regional B2B account I audited, this scan caught the read in twenty minutes. Three months of Meta spend ran $6,600 across nearly four million impressions. A 0.56 percent CTR against a $0.30 CPC reads inside the band for awareness campaigns, but the conversion column was blank because no purchase or lead actions had been configured to fire. The question could not be answered until the tracking was rebuilt.
Trend and cohort: the reads that need time
Single-month ROAS bounces. The signal is the rolling 90-day trend. Threshold for concern: blended ROAS down more than 15 percent across a rolling 90-day window with spend held roughly constant. That gradient means acquisition cost is rising faster than the brand can absorb. Plot a 13-week rolling chart of blended ROAS next to spend and pull it monthly.
The second read is LTV-adjusted ROI. A 2x first-purchase ROAS that turns into 4x by month six is a great account. A 3x that stays at 3x for 12 months is an account with no second order, which means no business. Threshold for concern: 90-day or 180-day LTV-adjusted ROI flat or below first-purchase ROI. The report is a Klaviyo or Shopify cohort view of revenue per acquired customer at day 30, 60, 90, and 180, plotted against the channel they came in on. Paid channels producing flat cohorts get cut first, even when first-purchase ROAS beats channels with rising cohorts. A payback period longer than 90 days on a first-time buyer is the same failure read from the cash side.
Any single threshold on this page in the red is a yellow flag. Two or more at once is an account funding itself on working capital. Founders who hit four should book a diagnostic call instead of spending another week tuning alone.
What to target by growth stage
Under $100k in monthly revenue, target blended ROAS at roughly 1.5x breakeven and accept lower platform ROAS on cold traffic. Between $100k and $1M, hit 2x breakeven blended, with new-customer ROAS held at 1.5x to 2x and total ROAS allowed to climb as repeat purchase compounds. Above $1M, run 2.5x to 3x breakeven with strict guardrails on branded-search bundling and attribution inflation. At that size, every percentage point of inflated ROAS turns into six figures of overspend annually.
A good ROAS is the one that funds the business after every variable cost. Benchmark ranges set the floor for a category. Margin and LTV set it for a specific business. If the gap between your healthy target and what the platforms report is wider than 30 percent, the free 25-page audit shows where the inflation comes from on each campaign, and the wasted ad spend library covers the rest of the metrics that get misread in account reviews.
Related questions
-
How can I identify if my online ad campaigns are overspending?
Five signals that confirm a campaign is leaking budget, three more that hide on the campaign card, and the cross-channel checks that settle it.
Read the answer
-
How to diagnose low conversion rates in digital advertising efforts?
The four root causes of a low ad-conversion rate, the landing-page red flags behind most of them, and the diagnostic order that costs least to run.
Read the answer
-
Should I build SEO pages for misspellings of my brand name?
If your brand name is a deliberate misspelling, capture belongs in the branded campaign, not on your site. Paid search has negative keywords. SEO does not.
Read the answer
-
When is it appropriate to pause underperforming keywords or ad groups?
Six rules for pausing keywords and ad groups without starving Smart Bidding: spend floor, conversion rate, Quality Score, and impression freeze.
Read the answer
Want this diagnosed in your account?
Same diagnosis,
run on your account.
Thirty minutes on the phone. I look at your spend, your tracking, and your search-term reports before the call. You walk out with a clear list of what is leaking and what to fix first.