Blog
Why Your ROAS Looks Better Than Your Business Feels
Your agency's report says the ads are working. Your bank account isn't so sure. A Meta ads audit in four checks — attribution, fees, blended ROAS, and tracking — and the 15-minute sequence that shows you the real number.
Your agency’s report says the ads are working. Revenue is up. So why does the business feel flat?
Because the ROAS on the report and the ROAS in your bank account are two different numbers — and the report only shows you one of them. Four things inflate it. Each takes about five minutes to check.
1. The attribution window counts sales the ad didn’t really earn
Meta’s default attribution is 7-day click plus 1-day view. Someone sees your ad, doesn’t click, buys a day later — that still counts as ad revenue.
Switch the window to 7-day click only and the same campaign’s ROAS drops. Independent practitioners who publish their audit checklists report gaps of 15–40% from view-through alone (source).
The check: in Ads Manager, open Columns → Compare Attribution Windows. Put the two numbers side by side. The gap between them is how much of your ROAS is view-through.
2. The fee isn’t in the denominator
Platform ROAS is revenue divided by ad spend. Your agency fee, creative costs, platform fees — none of that is in the denominator.
An example, with round numbers: $10,000 in ad spend, $2,000 in fees, $30,000 in revenue. The report says 3.0x. Your all-in return is $30,000 / $12,000 = 2.5x. Same account, same month.
The check: add up every dollar it costs to run the ads — spend plus fees — and divide revenue by that. If nobody on your team can tell you the all-in number, that’s a finding on its own.
3. One blended number hides the losing half
Account-level ROAS averages everything. Prospecting loses money while retargeting prints it, and the blend looks fine.
Another example: prospecting spends $1,950 at 2.1x, retargeting spends $1,050 at 4.0x. Blended ROAS: 2.77x. If your break-even is 2.5x, the account looks healthy — while prospecting loses money on every first order (source).
The check: split ROAS by prospecting vs. retargeting before you judge anything. A healthy blend can hide a prospecting problem for months.
4. The tracking itself is off
Since iOS 14, Ads Manager purchase counts commonly run 15–30% below backend orders. That’s the normal range. If your gap is bigger, the account is optimizing on bad data — and every other number downstream is a mirror of a broken input (source).
The check: compare 30 days of Ads Manager purchases against your Shopify or backend orders. A gap over 25% means fix tracking first. Nothing else is trustworthy until this passes.
The number that actually matters: your break-even
None of the above means anything without your margin. Break-even ROAS is 1 divided by gross margin. A 40% margin means 2.5x just to break even. On a 25% margin, break-even is 4x — and a 3x report is underwater.
The check: compute your break-even first, then judge every campaign against it. Not against 3x. Not against last month. Against the number where you stop losing money.
The 15-minute check, in order
- Tracking: Ads Manager purchases vs. backend orders, last 30 days. Gap over 25%? Stop here and fix tracking.
- Attribution: compare the windows. Note the view-through gap.
- Fees: all-in ROAS — revenue divided by spend plus fees.
- Split: prospecting vs. retargeting ROAS, each against your break-even.
If the report and your checks disagree, you don’t have a creative problem. You have an information problem — and it’s fixable.
That’s what my $1K Growth Audit exists for: the same four checks, run on your actual account, across Meta, TikTok, Google and LinkedIn, by someone who doesn’t sell media management. Findings, quick wins, and the data sheet behind them — so you can hand it to your current agency and ask them to respond.
