Now taking on new clients · Free 30-minute strategy call — book a slot →

Home / Blog

Performance 7 min read·April 11, 2026

Three ROAS Calculation Mistakes That Make Your Campaigns Look Worse Than They Are

Sudeshna RoyCo-founder, Voynic Media

Every quarter I sit through at least three "our ads aren't working" conversations that turn out to be measurement problems, not media problems. A reasonably healthy campaign is being declared dead because of how its ROAS is being calculated, not because of what it's actually delivering. The fix isn't a new agency or a budget increase — it's three corrections to how performance is being measured. If your dashboard says ROAS is below your break-even line, before you cut budget, work through these three mistakes.

Mistake #1 — Using the wrong reporting window

The default reporting window in Google Ads is 30 days. In Meta, it's seven days post-click and one day post-view. These windows are calibrated for the platforms' own optimisation algorithms — not for your business reality.

Consider a B2B SaaS company with an average sales cycle of 45 days. Google Ads' 30-day window will miss 60–70% of the revenue the campaign actually generated. The Search campaign that "isn't profitable" in your dashboard is actually producing 3× the reported ROAS — you just stopped counting too early.

Consider a furniture brand where the average decision time is 21 days. The 7-day post-click window in Meta will capture maybe 35% of the actual conversion volume. Every campaign looks like a loss because most of the conversions land outside the window the dashboard is counting.

The fix isn't to pick a longer window arbitrarily. It's to measure your actual sales-cycle length first, then set the reporting window to at least 1.5× that length. If your average time-to-purchase is 14 days, your window should be at least 21–28 days. The simplest way to find this number: pull your last 200 conversions and look at the median number of days between first ad click and purchase.

Quick check: If your reporting window is shorter than 1.5× your sales cycle, your ROAS number is wrong — probably by 40–70% on the low side.

Mistake #2 — Margin blindness

This one is more uncomfortable because it changes the conversation from "are we doing well?" to "are we actually making money?"

Gross ROAS is a vanity number. A 4× ROAS sounds excellent until you factor in your gross margin. If you sell consumer goods at a 22% gross margin, a 4× ROAS means: for every ₹100 of ad spend, you generated ₹400 of revenue, which produced ₹88 of gross profit (₹400 × 22%). Subtract the ₹100 of ad spend, then subtract another ₹40 for a 10% agency fee, and you've actually lost ₹52 on every ₹100 you spent on Google.

The break-even ROAS for a 22%-margin business is not "anything above 1." It's roughly 5×. Anything below that is unprofitable when fully loaded. Most brands don't realise this because their dashboard celebrates a 4× number that's actually destroying value.

The formula: Break-even ROAS = 1 / (margin% − agency fee%). For a 22% margin and 10% fee, that's 1 / (0.22 − 0.10 × 0.22) = 1 / 0.198 ≈ 5.05×. The math gets uncomfortable, but it's worth doing once for every business you advise.

The fix isn't to abandon ROAS as a metric. It's to publish two ROAS numbers side by side on every dashboard: Gross ROAS (revenue ÷ spend) and Net ROAS (gross profit ÷ fully loaded spend including agency fees). When teams see both, the conversation about "what's working" becomes immediately more rigorous.

Mistake #3 — Attribution mis-credit

Last-click attribution is the industry default and it is, mathematically, the worst possible model for measuring most campaign types.

Under last-click, your branded-search campaign gets credit for closing every purchase. It looks like a hero — 12× ROAS, the most efficient line item in your account. The reality: your branded-search campaign is the last step in a journey that started weeks earlier with Display, Meta, or organic content. None of those upstream channels get any credit. Over time, leadership reads the dashboard and pulls budget out of the "less efficient" channels — only to find that branded-search volume drops six weeks later because nobody is creating the demand.

The fix is twofold. First, switch your default attribution model to data-driven (in Google Ads) or 7-day click + 1-day view with comparison to lift studies (in Meta). Both platforms now offer these models — they distribute credit across the journey rather than dumping it all on the last touch.

Second, periodically run incrementality tests. The fastest version: turn off a campaign for two weeks in a controlled region or audience and watch what happens to total conversions. If total conversions don't drop, the campaign wasn't incremental — it was capturing demand that would have come anyway. If they drop sharply, the campaign was creating demand, not just harvesting it, and was worth far more than last-click suggested.

Incrementality tests are uncomfortable because they require briefly turning off campaigns that "look good." But they are the only honest measurement of value. We run them quarterly on every Voynic engagement and they routinely reveal that:

  • Branded search is dramatically overcredited (often 40–60% of its last-click credit is non-incremental).
  • Prospecting Meta campaigns are dramatically undercredited (often 2–3× more valuable than last-click suggests).
  • Display retargeting is the most overcredited channel in most accounts.

The composite fix

Apply all three corrections and your performance picture changes overnight, not because anything improved, but because you're finally measuring honestly. The three corrections, sequenced:

  1. Lengthen your reporting window to 1.5× your sales cycle. Your apparent ROAS will rise.
  2. Switch attribution from last-click to data-driven. Upstream channels suddenly look more valuable; branded search looks less.
  3. Publish Net ROAS alongside Gross ROAS, calculated with real margin and agency fees included.

The most common outcome: a campaign that looked like a "1.8× ROAS loser" turns out to be a 2.6× contributor (longer window) with substantial upstream lift (better attribution) at a 60%-margin product (positive net ROAS). The number on the dashboard changes from "kill it" to "scale it" without a single optimisation to the campaign itself.

A short example

A Voynic client running Meta Prospecting in a B2C category was reading their campaign as a 1.4× ROAS loser on a 30-day post-click window and last-click attribution. Their gross margin was 55%; agency fee 8%.

We made three changes to the measurement, not the campaign:

  • Lengthened reporting window to 45 days (their actual sales cycle).
  • Switched to data-driven attribution.
  • Published Net ROAS alongside Gross.

The reported ROAS shifted from 1.4× to 3.1× Gross / 1.55× Net. Above break-even. The campaign that was about to be cut became the foundation of the next quarter's scale plan.

Why these mistakes are so common

Two reasons. First, the platforms make the defaults convenient, not accurate. Short reporting windows look fast and decisive; last-click is intuitive and easy to explain. Both are wrong by default for most businesses.

Second, fixing them produces uncomfortable numbers. A team that has been celebrating a 4× ROAS doesn't want to hear it's actually 1.5× net. A leader who has cut a "underperforming" channel doesn't want to hear it was actually carrying the upstream of every other channel's wins. So the wrong measurement persists, quarter after quarter, until something snaps — usually a market shift or a budget cut that exposes how dependent the wins were on the favoured channel.

Honest measurement is the cheapest performance lever available. It costs nothing, requires no new spend, and frequently changes the strategic conversation from "fire the agency" to "scale this." If you do nothing else this quarter, audit your reporting window, attribution model, and margin assumptions. The campaigns that have been "underperforming" might be the most important ones you've been running.

Written by Sudeshna Roy · Co-founder, Voynic MediaSudeshna leads Voynic's analytics and performance practice, with a particular focus on incrementality testing and measurement architecture.
Ready when you are

Tell us the number you need to hit.

Send us your brand and your goal. You'll get an honest read on what's realistic, two or three ideas worth testing, and a clear next step. No pitch deck, no pressure.