Every founder tracking ad spend eventually hits the same wall: the number on the Meta dashboard doesn't match the number in the spreadsheet, and nobody's sure which one to trust. That's usually a ROAS problem, not a math problem. Knowing how to calculate ROAS is the easy part. Knowing what the number actually means once you've calculated it is where most brands go sideways.
This post covers the formula, a worked example, what counts as "good," and the mistakes that quietly wreck the accuracy of your reporting.
What ROAS Actually Measures
ROAS stands for return on ad spend. It tells you how much revenue you generated for every dollar you put into ads. Nothing more.
That's the part people skip. ROAS is revenue, not profit. A 5x ROAS on a product with razor-thin margins can still lose money. A 2x ROAS on a high-margin product can be perfectly healthy. The metric doesn't know your cost of goods, your shipping costs, or your overhead. It just measures efficiency: dollars out, dollars back.
This is why founders mix up ROAS with ROI or profit margin right out of the gate. ROI accounts for cost. Profit margin accounts for everything. ROAS accounts for exactly one thing: ad spend versus ad-attributed revenue. Treat it as a campaign efficiency metric, not a verdict on business health, and you'll avoid most of the confusion that follows.
The ROAS Formula
Here's the formula, in its full form:
ROAS = Total Revenue from Ads / Total Ad Spend
If you spent $5,000 and generated $20,000 in revenue from that spend, your ROAS is 4, usually written as 4x. That's it. The formula itself takes ten seconds to apply. The hard part is defining the two numbers that go into it.
Revenue. Are you using gross sales, or revenue net of returns and discounts? A lot of platforms default to gross, which inflates the number. If a customer returns the product two weeks later, that revenue is still sitting in your ROAS calculation unless you go back and adjust it. Pick a definition (gross or net) and use it consistently across every report you run. Switching definitions mid-quarter is how a "4.5x ROAS" quietly becomes a 3.8x ROAS with no actual change in performance.
Ad spend. Does this mean media cost only, or media cost plus platform fees, agency fees, and tool subscriptions? Most platform dashboards report media cost only. If your finance team is calculating spend inclusive of fees, you'll get two different ROAS figures for the exact same campaign, and both people will think they're right. This mismatch is one of the most common reasons marketing and finance argue over the same set of numbers.
There's no universally correct answer here. There's only a consistent one. Decide on your definitions before you start comparing week over week, and write them down somewhere your team can reference.
A Worked Example
Say you spend $10,000 on a Meta campaign in a given week, and it generates $45,000 in attributed revenue. Your ROAS:
$45,000 / $10,000 = 4.5x
Straightforward. But that $45,000 figure isn't as fixed as it looks. Attribution window changes it substantially.
If you're using a 1-day click window, only purchases within 24 hours of a click count toward that revenue, so you might see $28,000 attributed and a ROAS of 2.8x. Switch to a 7-day click window and you might land closer to the full $45,000, or 4.5x. Add a 28-day view-through window (counting purchases from people who merely saw the ad, without clicking) and the number can climb even higher, sometimes past 6x.
Same spend. Same sales data. Three very different ROAS numbers, depending entirely on the attribution setting. This is exactly why platform-reported ROAS from Meta and Google Ads so rarely agree with each other, or with your Shopify order data. They're not measuring the same window of behavior.
If you want to skip the manual math and just see where your numbers land, the ROAS calculator does the arithmetic for you. It's faster than building a spreadsheet for a number you'll want to recheck weekly anyway.
What's a 'Good' ROAS, Really
There's no universal good ROAS. Anyone who gives you a flat number like "3x is good" without asking about your margins is guessing.
The real answer depends on gross margin, CAC payback expectations, and business model. Here's a rough framework by margin profile:
Low-margin DTC (20-30% margin)
- Typical breakeven ROAS: Often needs 4x or higher to be profitable after COGS, shipping, and returns
- Why: Thin margins leave little room, so ad spend has to work much harder per dollar of revenue
High-margin brands (60%+ margin, common in beauty, supplements, apparel with strong markup)
- Typical breakeven ROAS: Can be profitable at 2x, sometimes lower
- Why: More margin per sale means each ad dollar has more room to cover its own cost
Channel matters too. Meta prospecting campaigns, aimed at cold audiences who've never heard of you, typically run lower ROAS than Google Shopping campaigns catching people already searching for the product. Retargeting campaigns almost always post the highest ROAS of the three, because you're marketing to people who already know your brand. Comparing a 2x prospecting campaign against a 9x retargeting campaign and calling the first one a failure misses the point entirely. They're doing different jobs.
ROAS vs MER vs ROI vs CAC
These terms get used interchangeably in Slack messages and marketing meetings, and that's part of the confusion. They're not interchangeable.
ROAS
- What it measures: Efficiency of a single channel or campaign
- Formula: Ad Revenue / Ad Spend
- Best for: Optimizing individual campaigns and channels
MER (Marketing Efficiency Ratio)
- What it measures: Blended efficiency across your entire marketing spend
- Formula: Total Revenue / Total Ad Spend (all channels combined)
- Best for: Getting a top-line view of whether marketing overall is working, without channel-by-channel noise
ROI
- What it measures: True profitability, factoring in cost of goods and other costs, not just ad spend
- Formula: (Revenue - Total Costs) / Total Costs
- Best for: Deciding whether the business is actually making money, not just generating revenue efficiently
CAC (Customer Acquisition Cost)
- What it measures: How much it costs to acquire one customer, across all spend
- Formula: Total Acquisition Spend / New Customers Acquired
- Best for: Understanding unit economics and payback period, especially for subscription or repeat-purchase models
Use ROAS when you're deciding whether to scale or kill a specific campaign. Use MER when you want a gut check on whether marketing spend overall is trending in the right direction, without getting lost in channel-level noise. Use ROI when the question is really "are we making money," because ROAS alone will never answer that.
Common ROAS Calculation Mistakes
Mixing attribution windows across platforms. Meta's default view might use a 7-day click, 1-day view window. Google might report differently. Compare those numbers side by side without adjusting for the window, and you're not comparing performance, you're comparing settings.
Treating ROAS as a profit signal. Ignoring discounts, refunds, and COGS turns a "good" ROAS into a misleading one. A campaign selling a discounted product at 4x ROAS can be less profitable than a full-price campaign at 2.5x. The number alone won't tell you that.
Trusting platform-reported ROAS without reconciliation. Meta and Google are both incentivized to claim credit for as much revenue as possible, that's just how self-attribution works. If you're not checking platform-reported revenue against your actual Shopify or Amazon order data, you're likely running campaigns on numbers that are inflated by 20-30% or more. [VERIFY: exact inflation range varies by brand and attribution setup, but the direction is consistent, platforms over-claim].
Why Manual ROAS Tracking Breaks Down at Scale
Here's what this actually looks like in practice for most growing brands: someone on the team pulls Meta Ads Manager numbers into one tab, Google Ads into another, then cross-references both against Shopify orders in a third. Every week. By hand.
It works fine at $2,000 in monthly ad spend. It falls apart once you're running five channels, ten campaigns, and a promo calendar that changes every two weeks. The spreadsheet gets stale before it's even finished. Someone's using last Tuesday's numbers to make Thursday's budget decision. And because each platform reports its own attribution window, the "blended" view built by pasting screenshots together is really just three biased numbers stitched next to each other, not a true blended figure.
This is the exact problem blended dashboards are built to solve. Instead of trusting Meta's version of Meta's performance, a dashboard built on top of a proper data warehouse pulls actual order data from Shopify or Amazon and reconciles it against ad spend from every platform, in near-real-time. Trivas's BI reporting works this way specifically so founders aren't making Thursday's decisions off Tuesday's screenshots.
Calculate Your ROAS Now
The formula never changes: ROAS = Total Revenue from Ads / Total Ad Spend. The one rule that actually matters is consistency. Define revenue and spend the same way every time, or the number becomes meaningless the moment you try to compare it across weeks.
Now that you know how to calculate ROAS properly, run your own numbers through the free ROAS calculator instead of rebuilding this math in a spreadsheet every week.
And if you're past the point of screenshotting numbers from three different dashboards just to answer "is this campaign working," talk to a founder at Trivas about centralizing ROAS across Amazon, Shopify, and your ad platforms in one place.
.d53b12e5.png&w=3840&q=75)




