How to Calculate True ROAS - And Why Most Brands Get It Wrong
Reported ROAS lies. Platform attribution overstates results, and most brands optimize toward inflated numbers. Here's how to calculate the ROAS that actually pays your bills.

The number on your dashboard isn’t the truth
Open Meta Ads Manager. Look at your ROAS. Now open Google Ads. Look at the conversion value there. Add them together. Compare that number to what your bookkeeping software says you actually earned this month.
They don’t match. They never match. And the gap is usually a lot bigger than most brand owners realize.
Reported ROAS - the number ad platforms show you - is one of the most misleading metrics in modern marketing. Not because the platforms are lying, but because they’re each taking credit for the same conversions, attributing assists as last-clicks, and counting view-throughs that may or may not have influenced anything.
If you’re making budget decisions based on dashboard ROAS alone, you’re flying with a broken altimeter. The number says you’re climbing. The ground is getting closer.
Why platform-reported ROAS is broken
Each ad platform sees the world from its own perspective. Meta sees Meta clicks. Google sees Google clicks. TikTok sees TikTok clicks. None of them see the full customer journey, but each of them gets to claim conversions that touch their platform.
So when a customer sees a Meta ad, doesn’t click, comes back two days later through a Google search, clicks a brand keyword, and buys - both platforms count the sale. Meta claims a view-through. Google claims a last-click. The €100 order shows up as €200 in combined attribution.
Multiply that across thousands of orders and you get a picture where the sum of platform-reported revenue is significantly higher than what you actually earned.
On top of double-counting, there’s the issue of modeled conversions. With iOS 14+ and cookie restrictions, platforms increasingly fill in the gaps with statistical estimates. Some of these estimates are reasonable. Some are essentially educated guesses. Either way, they inflate the reported numbers.
Defining what ROAS actually means
Before fixing the calculation, agree on what you’re trying to measure. There are at least three useful versions of ROAS, and they answer different questions:
Reported ROAS. What the platform tells you. Useful for relative comparison between campaigns within the same platform. Mostly useless for cross-platform decisions or for measuring overall business performance.
Blended ROAS. Total revenue divided by total ad spend, across all channels. The simplest honest number. Doesn’t tell you which channel deserves credit, but tells you whether your overall marketing is working.
True/profit ROAS. Revenue, minus product cost, minus shipping, minus payment fees, minus returns, divided by ad spend. The number that actually determines whether your business makes money.
Most brands obsess over the first one. Smart brands manage to the second. Brands that build durable businesses optimize for the third.
How to calculate blended ROAS the right way
Blended ROAS is the easiest to calculate correctly, and it’s the floor every brand should be tracking weekly.
The formula is simple:
Blended ROAS = Total Revenue / Total Ad Spend
The discipline is in the inputs. Total revenue means total revenue from your bookkeeping or ecommerce platform - not from ad platforms. Total ad spend means everything you spent on paid acquisition: Meta, Google, TikTok, LinkedIn, influencer payouts, even the agency retainer if it scales with spend.
Pull these numbers monthly. Track the trend. If your blended ROAS is steady or growing while you scale spend, the system is healthy. If it drops every time you increase budget, you’ve found your scaling ceiling.
Adding profit to the equation
Blended ROAS is honest. Profit ROAS (sometimes called POAS) is actionable.
Two campaigns with the same ROAS can have wildly different profit profiles. A campaign selling high-margin products at full price is very different from a campaign selling discounted bundles with free shipping.
To calculate profit ROAS:
Profit ROAS = (Revenue - COGS - Shipping - Payment fees - Returns) / Ad Spend
For ecommerce brands, tools like ProfitMetrics or Triple Whale’s profit tracking automate this calculation per order. For lead gen businesses, the equivalent is calculating customer lifetime value minus delivery cost, divided by acquisition cost.
The point isn’t the precise number. It’s the relative comparison. When you can see profit per campaign instead of revenue per campaign, the budget allocation conversation changes completely.
Why offline conversions matter for lead gen
If you’re a service business or any kind of lead-gen operation, the ROAS conversation gets more complex because the actual revenue happens weeks or months after the ad click.
Most lead gen accounts optimize for “form submitted.” Google’s algorithm responds by sending more people who like to submit forms. Some of those people are genuine prospects. Many are tire-kickers, students, or competitors checking your pricing.
The fix is offline conversion tracking. You import data from your CRM back into Google Ads, telling the algorithm which leads became qualified opportunities and which became paying customers. Suddenly, the algorithm starts sending you more of the people who actually buy, not just the people who fill out forms.
The same logic applies to calculating real ROAS for lead gen. Don’t divide ad spend by leads. Divide it by closed deal revenue, ideally weighted by lifetime value if your business has repeat customers.
Building a reporting stack you can trust
If you’re serious about getting ROAS right, you need a reporting layer that sits above the ad platforms and reconciles the data.
The components that matter:
- Server-side tracking through GTM Server or a managed solution like TAGGRS. This recovers conversion data lost to ad blockers and iOS restrictions.
- A single source of truth for revenue. Usually your ecommerce platform (Shopify, WooCommerce) or CRM (HubSpot, Pipedrive). Revenue numbers come from here, not from ad platforms.
- A profit calculation layer. ProfitMetrics, Triple Whale, or a custom Looker Studio setup. This brings in product costs and other variable expenses.
- Cross-channel attribution. Tools like Northbeam, Polar, or even GA4 with proper configuration help you see how channels assist each other rather than fighting over credit.
You don’t need all of this on day one. But each layer you add makes your decisions sharper.
What changes when you trust the right number
The brands that move from reported ROAS to profit ROAS make different decisions almost immediately.
They kill campaigns that look profitable on the dashboard but lose money in reality. They scale campaigns that look mediocre on Meta but drive their best lifetime customers. They stop chasing discount-driven ROAS bumps that destroy margin. They have honest conversations with their agencies about what’s actually working.
The number you optimize toward shapes the business you build. If you optimize toward inflated platform numbers, you build a business that looks great on dashboards and bleeds cash quietly. If you optimize toward profit ROAS, you build a business where every euro of ad spend has a defendable return.
Where to start this week
You don’t need a six-month measurement project to make progress. Three concrete actions:
Calculate your blended ROAS for the last three months. Total revenue from your bookkeeping divided by total ad spend across all platforms. Compare it to the sum of platform-reported ROAS. The gap will surprise you.
Estimate your gross margin per order. Average order value minus average product cost, shipping, and payment fees. This single number lets you do quick profit calculations on any campaign.
Set a target profit ROAS for your account. Not a vanity number. The actual ratio you need to hit for the business to be growing profitably after all costs. This becomes your benchmark.
ROAS is a useful metric. Reported ROAS is a vanity metric. The brands that scale durably learn the difference, then build the systems to measure what actually pays the bills.