How to use True ROI vs Reported ROI

Metricuno
May 21, 2026
7 min read
Quick answer

The ROI number on your dashboard is almost always wrong, and usually wrong in the same direction: too high. This guide breaks down the four reasons reported ROI drifts from true ROI, and how to rebuild the calculation so it actually reflects profit.

Definition
Measurement

True ROI vs Reported ROI

The gap between the ROI your ad platforms and dashboards display and the actual profit your marketing spend generated after attribution, COGS, returns, and overhead.

Reported ROI is the number that appears on Meta Ads Manager, Google Ads, or your BI dashboard — usually calculated as revenue divided by spend, with revenue credited by the platform's own attribution model. True ROI is what's left after you correct for that attribution, subtract cost of goods sold, deduct returns and refunds, and allocate the fixed overhead that supported the campaign.

The two numbers can differ by a factor of two or three. A campaign showing a 4.5x ROAS in Meta might be running at 1.3x once you account for over-attributed conversions, a 38% gross margin, a 12% return rate, and the share of payroll, tooling, and creative costs the campaign consumed. Closing that gap is the single highest-leverage cleanup in most marketing reporting.

Also known as
reported vs actual ROI
platform ROI vs net ROI
blended ROI gap

If you've ever paused a campaign that looked profitable on the dashboard and watched your bank balance grow, you've felt the gap. The numbers your ad platforms report aren't lying so much as answering a different question — they tell you what they saw, not what you earned.

This guide walks through the four mechanisms that push reported ROI above true ROI, how big each gap typically is for a Shopify or WooCommerce store, and what a defensible reconstruction of the number looks like. It pairs naturally with the Marketing ROI Calculator, which lets you run the corrected math on your own spend.

Why reported ROI drifts from reality

Reported ROI is optimised for speed, not accuracy. Ad platforms need to show a number within seconds of a campaign running, which means they fall back on what they can measure directly: clicks, view-throughs, and last-touch revenue from their own pixel. Everything that happens after the order — returns, refunds, fulfilment costs, the fact that the product cost €18 to make — sits outside their view.

Each platform also has a structural incentive to credit itself generously. Meta's seven-day-click / one-day-view default window will claim a sale that Google retargeting also claims, that Klaviyo's flow also claims, and that your TikTok pixel also claims. Add the four reported ROAS numbers together and you'll often see 140-180% of your actual revenue accounted for.

On top of attribution drift, reported ROI almost never speaks the language of profit. It uses gross revenue, not contribution margin. A store with 38% gross margin and a 4.0x reported ROAS is actually running at roughly 1.5x on a margin basis — before you've subtracted a single euro of returns or overhead.

The rule of thumb

For most online stores in the €1M-€15M revenue band, true ROI lands between 35% and 60% of reported platform ROI. If your dashboard says 4.0x, the honest number is usually 1.4x-2.4x. Plan media budgets against the honest number.

The four leaks: where the gap comes from

Every euro of drift between reported and true ROI comes from one of four sources. Naming them separately matters because the fixes are different — you can't solve a COGS problem with better attribution, or a returns problem by changing your conversion window.

Attribution drift is usually the largest single leak, contributing 25-40% of the gap. COGS comes second at 20-35%. Returns are smaller in absolute terms but vary wildly by category — under 5% for beauty SKUs, 25-40% for apparel. Overhead allocation is the last and most-skipped: the agency retainer, the analytics stack, the creative team's time.

Chart

Average contribution to the reported-vs-true ROI gap (apparel store, €5M revenue)

0%10%20%30%40%Attribution driftCOGS not deductedReturns & refundsOverhead allocationShare of total gap

The mix shifts by vertical. A beauty brand with a 65% gross margin and 4% return rate will see attribution drift dominate at 50%+ of the gap, while an apparel store with thinner margins and 30% returns has returns and COGS doing most of the damage. Diagnose your own mix before deciding which fix to prioritise.

What clean ROI math actually requires

True ROI is reported revenue, minus over-attributed revenue, multiplied by gross margin, minus return-driven refunds and reverse-logistics cost, minus allocated overhead, all divided by media spend. It's not elegant, but it's the only formula that survives a CFO conversation. The Marketing ROI Calculator handles the arithmetic; what you need is clean inputs.

The single highest-leverage input is the attribution haircut — the percentage you apply to platform-reported revenue to remove double-counting. For most blended Meta + Google + email setups, a 20-35% haircut against pixel-reported revenue gets you within range of an MMM or incrementality test. Stores that lean heavily on retargeting often need 40%+.

Benchmark

Reported ROAS vs true ROI by channel (apparel store, 38% gross margin, 18% return rate)

ChannelReported ROASAfter attribution haircutAfter marginTrue ROI (after returns + overhead)
Meta prospecting3.2x2.6x0.99x0.72x
Meta retargeting8.5x4.8x1.82x1.35x
Google brand search12.0x6.5x2.47x1.95x
Google non-brand2.8x2.4x0.91x0.66x
Klaviyo flows45.0x22.0x8.36x6.80x
TikTok prospecting2.1x1.7x0.65x0.41x

Two patterns jump out of the table. First, retargeting and brand search look like heroes on reported ROAS but lose most of their lead once attribution is corrected — they harvest demand the prospecting channels created. Second, prospecting channels often land below 1.0x true ROI individually, which is fine if blended ROI clears your hurdle rate, but dangerous if you optimise channel-by-channel against the reported number.

How to operationalise the fix

Start with a one-time reconciliation: pull last quarter's platform-reported revenue across every paid channel, sum it, and compare to your Shopify or WooCommerce order revenue for the same period. The ratio is your blended attribution haircut. Apply it as a uniform adjustment until you have the budget for proper incrementality testing.

Next, build a single weekly view that shows reported ROAS and true ROI side by side for each channel. The point isn't to stop looking at reported numbers — they're still useful for in-platform optimisation — but to anchor budget decisions on the corrected figure. This sits naturally inside a broader ROI measurement practice.

What good looks like

A mature reporting setup answers three questions every Monday: blended true ROI for the week, the gap to reported ROAS by channel, and which inputs (margin, returns, attribution haircut) moved most. If your team can't answer those without a 40-minute spreadsheet rebuild, the cleanup is overdue.

Frequently asked

Frequently asked questions

For online stores in the €1M-€15M band, true ROI usually lands at 35-60% of reported platform ROI. A 4.0x reported ROAS translates to roughly 1.4x-2.4x true ROI after attribution, margin, returns, and overhead are accounted for. The exact ratio depends heavily on your gross margin and return rate.

No — it's useful inside the platform for optimising creatives, audiences, and bids, where the relative ranking of campaigns matters more than the absolute number. The mistake is using reported ROAS to make budget decisions across channels or to decide whether the business is profitable. Reserve true ROI for those questions.

An attribution haircut is the percentage you subtract from platform-reported revenue to correct for double-counting across channels. The quick version: sum reported revenue across all paid channels for a month, divide by actual store revenue, and the excess is your haircut. Most blended setups land in the 20-35% range.

Contribution margin is more accurate because it includes payment processing, fulfilment, and per-order variable costs. Gross margin is acceptable as a first pass if contribution margin isn't readily available. Whichever you pick, apply it consistently across all channels — switching between the two by channel produces false comparisons.

Subtract the refunded revenue (return rate × reported revenue) and add the reverse-logistics cost (shipping back, restocking, write-offs for damaged items). For apparel with 25-30% return rates, this alone can move true ROI by 0.4-0.7x. Pull return data from your 3PL or returns platform, not from Shopify orders, which underreports.

For channel-level true ROI, allocate the overhead that directly supports paid media — agency fees, ad-creative production, analytics tools, the share of in-house salaries spent on campaigns. Allocate by spend share or by hours, whichever is easier to defend. Don't allocate company-wide overhead like rent or executive salary; that belongs in P&L, not in ROI.

MER (Marketing Efficiency Ratio) and blended ROAS divide total store revenue by total marketing spend — they sidestep the attribution problem but still ignore margin, returns, and overhead. True ROI is what you get when you take the MER approach and then apply the same margin / returns / overhead corrections. They're complementary, not alternatives.

Because both platforms claim the same conversion when a user clicks a Meta ad, then later clicks a Google brand search before buying. Each pixel fires, each platform reports the sale. Summing them double-counts. This is the single most common cause of inflated reported ROI and the easiest to detect — just compare the sum to your store revenue for the same window.

Weekly for budget pacing, monthly for channel mix decisions, quarterly for a full reconciliation including overhead allocation. The weekly view can use a fixed attribution haircut; the quarterly review is where you reset that haircut based on the prior period's actuals. Stores doing incrementality tests can update the haircut more frequently.

Partially. The arithmetic is easy once inputs are clean, and a calculator can handle the formula. The hard part is feeding it correct margin, return, and attribution-haircut figures — which usually means pulling from Shopify, your 3PL, your ad platforms, and your finance system. Metricuno's historical import handles the data plumbing; you still own the margin and overhead assumptions.

Get an AI expert review of your site

Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.