How to Calculate Your True ROAS Across All Channels (Without Trusting Any Single Platform)
True ROAS is verified revenue from paid ads divided by total ad spend, confirmed against your CRM or payment processor, not against what platforms report. Platform ROAS overstates consistently because of view-through attribution, cross-platform double-counting, and post-iOS 14 modeled conversions. This article walks through the three-type framework and the step-by-step calculation methodology.
Key Takeaways
- Platform-reported ROAS and true ROAS are different calculations. Most operators measure the wrong one and make budget decisions on the wrong number.
- Triple Whale’s 2025 dataset of 18,000+ DTC brands shows a median platform ROAS of 3.68x against a median MER of 2.44x. That is a 51% gap from the same dataset, same year.
- The three ROAS types are platform-reported, blended (MER), and true. Each answers a different question. Only true ROAS reflects verified, deduplicated, back-end-confirmed revenue.
- Cross-platform double-counting is structural. Meta and Google cannot see each other’s data, so both claim the same conversion when a customer touches both before purchasing.
- Calculating true ROAS at scale requires a third-party attribution layer. Manual CRM reconciliation reveals the gap but cannot close it operationally.
Table of Contents
- Why Platform ROAS Is Not Your Real ROAS
- The Three ROAS Types You Need to Know
- Step-by-Step: How to Calculate Your True ROAS
- Why This Calculation Breaks at Scale Without a Third-Party Attribution Layer
- FAQ
Why Platform ROAS Is Not Your Real ROAS
Platform ROAS is designed to make the platform look good. It is not designed to show you what is actually happening in your business. Three structural mechanisms cause it to overstate, and once you see how each one works, the size of the gap stops being a surprise.
View-through attribution counts conversions you did not earn
Meta’s default attribution window credits conversions within one day of viewing an ad, even when the user never clicks. A customer who watches a Meta video for five seconds and purchases within 24 hours through a separate channel gets counted as a Meta-attributed conversion. The platform does not distinguish that purchase from a click-driven one in its standard reporting.
The 1ClickReport analysis of Meta’s engaged-view attribution change showed exactly how big the inflation can get. After Meta dropped its video attribution threshold from 10 seconds to 5 seconds, one documented campaign jumped from 5.0 ROAS to 8.0 ROAS overnight. Nothing about the campaign changed. The attribution rules changed, and a 60% inflation in reported conversions followed (1ClickReport, 2026).
Important 2026 context: Meta permanently removed its 7-day view and 28-day view attribution windows on January 12, 2026. On March 3, 2026, Meta also tightened click attribution. Likes, shares, comments, and saves no longer count as clicks. Those interactions now fall under a separate “engage-through” bucket with a 1-day window. The current default set is 7-day click, 1-day engage-through, and 1-day view (Jon Loomer Digital, 2026; Dataslayer, 2026). How Safari and Firefox already broke your pixel tracking compounds this problem for advertisers running on iOS or privacy-restricted browsers.
Cross-platform double-counting is built into the system
Here is the structural problem. A customer clicks a Meta ad on Monday, clicks a Google ad on Wednesday, and purchases Thursday. Meta attributes the conversion under its 7-day click window. Google attributes the conversion under Data-Driven Attribution or last click. Your CRM records one purchase. Your combined platform dashboards record two.
This is not a glitch. It is a structural consequence of two ad platforms that cannot see each other’s data deduplicating only within their own accounts. A GoFunnel analysis of 200+ ecommerce accounts found that the average business attributes 1.6 conversions per actual sale when summing every platform’s self-reported numbers, which works out to roughly 60% over-counting on aggregate (GoFunnel, 2025). For a deeper look at how the two platforms diverge, see how Google and Meta attribute the same conversion differently.
Modeled conversions are estimates, not measurements
After iOS 14.5, Meta replaced untracked events with statistical models. Around 25% of iPhone users opt into App Tracking Transparency, which means platforms rely on modeling for roughly 75% of iPhone conversions (GoFunnel, 2025). Modeled conversions now make up a meaningful share of Meta’s reported results in high-iOS-penetration environments.
Industry benchmark data suggests Meta over-reports by approximately 26% versus third-party analytics tools, and Google over-attributes by 15–20% when modeled conversions are active (EasyInsights, citing Varos benchmark, 2024). The advertiser cannot see what percentage of their reported numbers come from observed conversions versus statistical estimates. The platforms do not separate them in standard reports. Read more on how iOS 14 drove the shift to modeled conversions.
The Three ROAS Types You Need to Know
These three types are the definitional anchor for everything that follows. Use the exact names and formulas below.
Type 1: Platform-Reported ROAS
Formula: Revenue attributed by platform / Ad spend reported by that platform
Meta, as of 2026, uses a 7-day click plus 1-day engage-through plus 1-day view window. Attribution is siloed inside each campaign. Deduplication happens within a single ad account, never across ad accounts and never across platforms.
Google Ads, as of 2026, defaults to Data-Driven Attribution with a 30-day click window and a 1-day view-through window for display. Last Click is the only other selectable model. Google retired First Click, Linear, Time Decay, and Position-Based in September 2023.
Key distortions:
- Counts view-through and engage-through conversions that may be organic demand
- Does not subtract refunds, failed payments, or cancellations
- Cannot attribute across platforms because each platform scores itself
Type 2: Blended ROAS / MER (Media Efficiency Ratio)
Formula: Total business revenue / Total ad spend (all channels combined)
MER is attribution-independent. It needs no pixel, no cookie, no model. Total revenue from your back end divided by total spend across every paid channel.
Use MER as a sanity check against platform ROAS. If Meta reports 8x ROAS but your MER is 2.8x, the gap is your evidence of over-attribution. MER cannot tell you which channel is underperforming, only whether the overall program is efficient.
Triple Whale’s 2025 dataset is the cleanest published illustration of the gap. Across more than 18,000 DTC brands, the median platform-reported ROAS came in at 3.68x, down 10.03% year over year (Triple Whale, 2025). The same dataset, the same year, showed a median MER of 2.44x, expressed as 41% cost-to-revenue (Triple Whale, 2025). The gap between 3.68x and 2.44x is a 51% difference. Two numbers from the same brands describing the same time period, and they disagree by half.
Industry ROAS varies sharply by vertical. Health & Wellness sat at 2.12x in 2025 (-15.64% YoY). Consumer Electronics came in at 3.02x (-11.45%). Travel Accessories hit 4.30x (-21.10%). Pets & Animals reached 2.84x (+2.51%), the only vertical that improved year over year (Triple Whale, 2025).
Healthy DTC MER falls in the 3x to 5x range depending on margin and stage. Mature brands with 70%+ gross margin target 5.0x or higher. A program operating below 2.0x is generally unprofitable (Northbeam, 2024–2025; Mako Metrics, 2025).
Type 3: True ROAS
Formula: Verified revenue attributable to ads (from first-party / CRM sources, after deduplication and post-conversion adjustments) / Total verified ad costs (including agency fees, creative, technology)
“Verified” carries weight in that formula. It means:
- Revenue comes from the payment processor or CRM, not from pixel data
- Refunds, failed payments, and cancellations are subtracted
- Multi-touch attribution is applied so the same order is not counted twice
- Post-conversion events are factored in
A Cometly case write-up captured the gap in a single example. Facebook-reported ROAS came in at 4.4x. True ROAS, after accounting for complete costs and accurate attribution, came in at 2.2x (Cometly, 2025). One illustrative case, but the shape of the gap matches what most operators see when they reconcile platform reports against CRM revenue for the first time.
Step-by-Step: How to Calculate Your True ROAS
This is the operational center of the article. Each step is something you can run today.
Step 1: Pull total ad spend for the period
All channels, all campaigns. Google, Meta, YouTube, TikTok, LinkedIn, and any other paid placement. Add agency fees, creative production costs, and attribution tool subscriptions to the spend column. Partial denominators overstate ROAS, and most operators leave at least one of those line items out the first time they try this.
Step 2: Pull verified revenue from your back end
Revenue comes from your CRM, Stripe, or whichever payment processor records the actual transaction. Not platform conversion values. Isolate revenue from customers acquired through paid channels in the same period.
The practical challenge here is the hard part. Most operators cannot easily separate paid-acquisition revenue from organic or direct revenue without an attribution layer. UTM discipline helps. A third-party tracking system does the job at scale, which is why Step 6 exists.
Step 3: Calculate your blended ROAS / MER first
Total Revenue divided by Total Ad Spend. Run it before you touch any platform number. Then compare your MER against the combined platform-reported conversion value. If your platforms claim $500K in attributed revenue and your CRM shows $340K for the same period, the gap is your attribution error. That is 47% overstatement, and it is where the diagnostic work begins.
Want to see what your attribution actually looks like? Book a Hyros demo
Step 4: Isolate view-through and engage-through from Meta
Inside Meta Ads Manager, switch the attribution setting to 7-day click only and rerun the same period. The difference between the default window (7-day click plus 1-day engage-through plus 1-day view) and the 7-day click only view is the volume of view and engage conversions Meta is crediting itself for. Most of those would have happened anyway. Quantifying them shows you how much of platform ROAS is view inflation.
Step 5: Identify double-counted conversions across platforms
Pull the same time window from Google Ads and Meta side by side. Add up their reported conversion values and compare the total to your CRM revenue. The excess is double-counting in dollar form.
For a business doing this for the first time, the number is usually 30–60% excess across combined dashboards. Once you have it written down, you can start estimating which channel is taking credit for revenue it did not earn.
Step 6: Apply verified revenue with deduplication
True ROAS = (CRM-verified revenue attributable to ads, after deduplication) / (Total ad spend + agency fees + creative + tech costs).
Manual reconciliation works once as a diagnostic. It does not scale. The deeper your funnel and the more channels you run, the faster spreadsheet math collapses under the volume of touchpoints to reconcile. Operators running across three or more paid channels typically hit that wall by month two.
Why This Calculation Breaks at Scale Without a Third-Party Attribution Layer
The methodology above is correct. It is also operationally fragile. Three problems get worse as ad spend grows.
The multi-touch attribution problem
True ROAS across all channels requires knowing which channels contributed to each conversion, not just which one got the last click. A customer who touched YouTube, then email, then Google search before converting drove revenue through all three. Last-click attribution credits Google for the full sale and undercounts everything upstream. That distortion gets bigger as your funnel gets longer.
The time window problem
A customer who converts 45 days after first clicking falls outside Meta’s 7-day window and Google’s 30-day default. If your reporting windows do not match your actual consideration cycle, you systematically undercount conversions from high-consideration campaigns. For info-product and high-ticket businesses with 60-day or longer sales cycles, the default windows hide a meaningful portion of paid-driven revenue.
The data-quality problem in scaled media buying
Scaling on inflated numbers means scaling on a fiction. According to the MMA Global State of Attribution 2024 survey of senior North American marketers, 80% of marketers are dissatisfied with their ability to reconcile results from different tools (MMA Global, 2024). A separate 2025 industry benchmark found that only 18% of marketers trust their attribution data (Business of Apps, 2025). This is not an edge case. Most operators are making budget decisions on numbers they know they do not trust.
What Hyros does that makes this calculation accurate and scalable
Hyros tracks at the customer level. Which ad they saw, which channel they came from, what they bought, how much they spent over time. It reconciles across every platform you run into a single cross-channel source of truth for ROAS and reports verified numbers without depending on any one platform’s self-reported figure.
The Steps 2 through 6 workflow becomes automated. Pixel-independent tracking and multi-touch attribution are part of how the system is built (the Hyros platform), and Hyros publishes a measured 15% AD ROI increase on its homepage as a baseline outcome.
According to LGG Media’s analysis, Hyros targets a 70% attribution rate within the first weeks of deployment, and 85% as an optimized goal that fewer than 10% of accounts reach without deliberate gap analysis (LGG Media, 2025). The accurate framing here is that Hyros replaces inflated attribution with honest attribution.
Reported ROAS may appear to drop. The business decisions become accurate. For an in-depth look at the Hyros loop that closes this gap, read about feeding verified conversion data back to platform AI. For scaling operators, the math of attribution gaps at higher spend levels is covered in what attribution accuracy costs you at $500K/month.
Stop Optimizing for What the Platforms Tell You
Stop optimizing for what the platforms tell you. Start optimizing for what is actually driving revenue.
Book your Hyros demo or See how it works
FAQ
What is the formula for calculating ROAS?
True ROAS = verified revenue from paid ads / total ad spend. The qualifier “verified” matters. It means using actual back-end revenue records from your CRM or payment processor, not platform-reported conversion values. Platform ROAS uses platform-attributed conversion values, which overstate actual revenue through view-through attribution and cross-platform double-counting.
What is a good ROAS for paid ads?
Benchmarks vary by industry, margin, and funnel type. Triple Whale’s 2025 dataset across 18,000+ DTC brands shows a median 3.68x in platform-reported ROAS against a 2.44x median MER. Healthy DTC range is 3x to 5x blended. More important than the number itself: are you measuring verified ROAS or platform-inflated ROAS? The difference averages 20–40% for operators running multiple channels.
How is true ROAS different from reported ROAS?
Platform-reported ROAS uses conversion values as each platform records them, with view-throughs included, double-counting present, and modeled conversions factored in. True ROAS uses verified revenue from your back-end systems, reconciled against actual ad spend, with duplicates removed and post-conversion adjustments applied. For most operators running Google and Meta simultaneously, true ROAS is 20–40% lower than the combined platform figure.
How do I calculate ROAS across multiple ad channels?
Pull total ad spend across all channels. Pull verified revenue from customers attributed to paid acquisition in your CRM or payment processor for the same period. Divide revenue by spend. The challenge is isolating which customers came from paid channels, which requires UTM discipline or a third-party attribution layer. Calculate MER first as a directional sanity check.
Why does my ROAS look different in Google Ads vs. Facebook?
Each platform uses its own attribution model, default window, and conversion-counting rules. Google defaults to Data-Driven Attribution with a 30-day click window. Meta defaults to 7-day click and 1-day view. Neither platform can see the other’s touchpoints. When the same customer journey spans both, both claim the conversion independently. Only one purchase happened in your CRM.