top of page

Why Your Google Ads Report Says "Growth" But Your Bank Account Doesn't

  • Writer: Matthew Slaymaker
    Matthew Slaymaker
  • May 19
  • 9 min read

Key Takeaways

  • Reported ROAS counts attributed revenue, not incremental revenue. Google Ads over-attributes by default through 30-day click windows and view-through credit, which inflates the number on your dashboard without inflating your bank balance.

  • Campaign-level ROAS, CTR, and impression metrics are inputs, not outcomes. None of them prove the channel is profitable.

  • The fastest diagnostic is the bank-account test. If reported revenue went up but your Shopify or Stripe deposits didn't, you have an attribution problem hiding a performance problem.

  • Three metrics any agency should report monthly: blended CAC, incremental revenue lift, and contribution margin per channel.

  • A 4-step test you can run on your account this week will tell you whether your spend is actually making money or just looking like it is.


The reports look great. The bank account hasn't moved. Now what?


Picture this. Your agency sends over the monthly report. The dashboard shows a 4.2x ROAS, blended ad spend is up 18%, and the deck calls out a "strong quarter of growth." 

Then you open Shopify, look at total revenue across the same window, and notice you've been bouncing inside a 3% band quarter over quarter. Same range as last quarter. Same range as the one before that.


You're not crazy. I've seen this a hundred times.


The gap between what the report says and what your business is actually doing isn't a math error or a tracking glitch. It's the predictable outcome of how Google Ads counts revenue, combined with how most agencies report on it. The report isn't lying exactly. It's just answering a different question than the one you're paying it to answer.


The question you care about is is this making me money? The question the report is answering is what did Google Ads claim credit for? Those two answers can drift apart by tens of thousands of dollars a month and nothing in your dashboard will warn you it's happening.


Here's what's underneath that gap, and what to do about it.


What "Reported Revenue" Actually Measures (And Doesn't)

When your dashboard shows attributed revenue from Google Ads, three things are inflating that number behind the scenes.


The 30-day click window. By default, Google credits a conversion to an ad click that happened any time in the last 30 days. Someone clicks your ad on day 1, doesn't buy, comes back through a branded search on day 28, and buys. Google Ads counts that as a Google Ads conversion. The brand search did the work. The original click got the credit.


View-through conversions. This one is sneakier. Google Display and YouTube ads can claim credit for conversions where the user saw an ad but never clicked it. The standard view-through window is 1 day, but plenty of accounts have it set wider. If someone scrolled past your YouTube pre-roll and bought from your site three hours later through email, view-through attribution can claim that sale.


Cross-channel double-counting. Google Ads reports its conversions. Meta reports its conversions. Klaviyo reports its conversions. They don't talk to each other. So a single $200 order can show up in three different platform reports, all claiming credit. Add up your channel ROAS reports and you can easily see "attributed revenue" that exceeds your actual store revenue by 30-50%.


Worked example. Take a brand spending $50K/month on Google Ads with a reported 4x ROAS. The dashboard shows $200K in attributed revenue. Looks healthy.


Now strip out the layers. Pull post-impression and view-through credit out of the report and you're often looking at a 15-25% reduction. That's down to roughly $150K to $170K in click-driven attributed revenue. Then back out the conversions that would have happened anyway because the customer was already searching your brand name or coming back from email, and a realistic incremental contribution from that $50K spend is somewhere between $80K and $120K.


Real ROAS, after the math: roughly 1.6x to 2.4x. Possibly profitable, possibly not, depending on your margins. Definitely not 4x.


That gap between 4x and 2x is where reports and bank accounts diverge.


The Three Metrics That Don't Lie


If you want a report that ties to reality, these are the three numbers it needs.


Blended CAC. Take all the new customers you acquired in a month. Divide all your marketing spend by that number. Not just Google Ads spend. Total marketing spend, including agency fees, creative production, retainers, and tools. That's blended customer acquisition cost, and it's the number that hits your bank account.


Healthy ranges depend on AOV. For a brand with an AOV around $60 to $90, a sustainable blended CAC usually sits between $25 and $45 assuming a 30-40% contribution margin and decent repeat rates. For an AOV around $150 to $250, blended CAC of $60 to $110 can work. Above $400 AOV, you've got more room, but you also usually have longer consideration cycles. The point isn't memorizing ranges. The point is having a target tied to your margins, not a target tied to a platform's self-reported number.


Incremental revenue lift. This is the holdout test. You take a meaningful slice of your audience or geo, turn off the ads to that group for 2 to 4 weeks, and measure the difference in conversions versus the group still being served ads. If the holdout group converts at the same rate, your ads aren't lifting revenue. They're getting credit for sales that would have happened regardless.

Geo holdouts are the simplest version. Pick a state or DMA that's similar in baseline conversion to one of your strong states. Pause Google Ads in the test geo for three weeks. Compare revenue per session in the test geo to the control geo across the same window. The difference is incremental lift. If you're spending $50K a month and your geo holdout shows a 12% lift, your incremental revenue is roughly $50K times 12 divided by your media share of total traffic. The real number is almost always smaller than the platform-reported number.


Contribution margin per channel. Once you know real incremental revenue, subtract product cost, fulfillment, payment processing, and the ad spend itself. What's left is contribution margin. That's the number that pays for your team, your rent, and your growth. A channel can show a 4x ROAS and a negative contribution margin if the products it's selling have thin margins or high return rates. Reporting at the contribution margin level is how you stop confusing top-line activity with profitable activity.


[If you want to see exactly where your reports and your bank account are diverging, the audit we run is built around this gap. We'll pull the actual attribution settings on your account, run the math against your real revenue, and show you what's actually working. No pitch. No contract. Get Your Free Audit →]


What Your Agency's Monthly Report Is Hiding


Even agencies with good intentions tend to ship reports built on three structural problems.


The first is aggregate ROAS. When your agency reports a single 4.2x ROAS for the account, that's the average across every campaign, every audience, and every keyword. Inside that average there's almost always a mix of campaigns running at 8x and campaigns running at 1.2x. The losers are subsidized by the winners in the headline number. So the account looks healthy in the deck even though 30-40% of your spend is sitting in unprofitable territory. A real report breaks ROAS down by campaign and audience, identifies the losers, and shows you what's being done about them.


The second is "revenue lift" without a holdout baseline. You'll see slides that compare this quarter's revenue to last quarter's and call the difference a lift driven by the campaigns. That comparison ignores seasonality, organic growth, email performance, repeat customer behavior, and anything else that moved during those 90 days. Without a holdout group or a real incrementality test, "revenue lift" is just two numbers next to each other. It doesn't prove the ads caused anything.


The third is engagement metrics with no conversion path. Impressions, CTR, video view rate, branded search lift. None of these are bad metrics in context. They're useful diagnostics for a campaign that's already proven its conversion path. But on their own, in a monthly report, they're decoration. They tell you the ads were busy. They don't tell you they made money.


When a report leans on those three patterns, it's protecting the agency more than informing the client. A useful report does the opposite.


The Test You Can Run This Week

You don't need a third-party auditor or expensive software to figure out whether you have this problem. You need an afternoon and access to your own numbers.


Step 1. Pull 90 days of reported revenue from Google Ads. Use the Google Ads UI, not GA4. Note both total conversion value and "all conversions" value if you're using enhanced conversions. Write it down.


Step 2. Pull 90 days of actual store revenue from Shopify, Stripe, or whatever your source of truth is. Filter for orders only, exclude refunds, exclude wholesale or B2B if those flow through a different funnel.


Step 3. Compare. Calculate Google Ads attributed revenue as a percentage of total store revenue. Then ask your team or your agency for a comparable percentage from the same period last year, and look at whether that ratio is rising while total revenue stays flat. A rising attribution share with flat actual revenue is the signature pattern of an attribution problem hiding a performance problem.


Step 4. If reported Google Ads revenue exceeds 10% of what you'd expect a real incremental contribution to be, ask your agency for two things in writing: their methodology for measuring incrementality on your account, and the last time they ran a holdout test. If the answer is "we don't" or "we use the platform's data," you have your answer about why your reports and your bank don't agree.


This test takes about two hours. It's worth more than most paid audits.


What "Performance You Can Actually See" Looks Like


The reason this matters isn't because reports are bad. Reports aren't the problem. The problem is reports built to make spend look defensible instead of reports built to answer the only question that matters.


Your monthly Google Ads report should answer one question: is this making me money?


Not "did the campaigns deliver impressions." Not "did the CTR improve." Not "did we hit our CPM target." Those are inputs. They feed into the answer, but they're not the answer.


A report that does its job ties spend to incremental revenue, ties incremental revenue to contribution margin, and tells you which campaigns are pulling their weight and which ones aren't. It explains decisions in plain language and shows the numbers behind them.


When the numbers are bad, it says so. When they're good, it shows you why so you can make a confident decision about whether to spend more.


When you have that kind of report, the gap between dashboard and bank account stops existing. The dashboard tells you what the bank account is about to do, and the two numbers move together.


FAQ


Why is my Google Ads ROAS high but my revenue flat?

A high Google Ads ROAS with flat revenue almost always means the platform is over-attributing conversions through 30-day click windows, view-through credit, or branded search. The ads are claiming credit for sales that would have happened regardless. The fastest way to confirm it is a geo holdout test or a comparison of attributed revenue against your actual store revenue trend.


How do I know if my Google Ads agency is overstating performance?

You'll know your agency is overstating performance when their reported revenue keeps rising while your Shopify or Stripe revenue stays inside a tight band. Ask for three things in writing: the attribution windows currently set on your account, the most recent incrementality or holdout test they ran, and a campaign-level ROAS breakdown that exposes losers along with winners. If they can't produce those, the report is a summary of activity, not a measurement of impact.


What's the difference between attributed revenue and incremental revenue?

Attributed revenue is the dollar amount Google Ads claims credit for based on its tracking rules. Incremental revenue is the additional revenue that wouldn't have happened without the ads. They sound similar, but the gap between them is often 30-50% of the reported number. Attribution rewards the ad for being in the path. Incrementality only rewards the ad if it caused the sale.


What metrics should my agency report instead of ROAS?

Blended customer acquisition cost, incremental revenue lift from a documented holdout, and contribution margin per channel. Those three numbers tie directly to your bank account. ROAS, CTR, impressions, and video view rate can sit underneath as diagnostics, but they shouldn't be the headline of a monthly report.


Can I run an incrementality test myself without an agency?

You can. The simplest version is a geo holdout. Pick two similar states or DMAs, pause Google Ads in one for 2 to 4 weeks, and compare revenue per session against the active geo across the same window. It's not as clean as a randomized holdout in a measurement platform, but for most accounts it gets you within striking distance of the real number, and it costs you nothing beyond the lift you might temporarily forgo in the test geo.


Want to see the gap on your own account?

If your reports show growth but your bank account doesn't agree, we'll walk through your account, run the math against your actual store revenue, and show you exactly where the dashboard and the deposits are diverging. No pitch. No contract. Just visibility into what's really happening.



 
 
 

Comments


bottom of page