Apply for a Free Strategy Call

Google Ads Says More Sales Than Shopify. Which Is Right?

I get some version of this question every month. A founder sends two screenshots. Same store, same 30 days. Google Ads claims more conversion value than Shopify recorded in total sales. Not more than Google's fair share of sales. More than the entire store did, across every channel combined.

The question is always the same: which one is broken?

Neither. Both dashboards are working exactly as designed. They are just answering different questions.

Shopify counts orders that happened. An order, a payment, a timestamp. It is the ledger.

Google Ads counts orders it believes it influenced, under its own rules. Its own lookback window. Its own definition of a touch. Its own choice of which date the sale gets booked to.

So here is the answer up front. Trust Shopify for what happened. Use Google Ads only as a signal for where credit might go - and only after you have corrected it. Because uncorrected, the Google number contains sales it did not create.

The rest of this piece shows you where the gap comes from, how big it gets, and how to run the correction on your own account in under 30 minutes.

Where the Gap Comes From: Three Mechanisms

Google Ads overstating conversions comes down to three mechanisms - and you can verify each one in your own account this week.

Mechanism 1: the attribution window. Someone clicks your ad today and buys three weeks from now. Google counts the sale - and books it back to the date of the click, not the date of the purchase. Shopify records the order on the day the money moved. So a strong click week keeps earning for weeks afterward, and a month you thought was closed quietly grows after the fact. Founder check: in Google Ads, segment your conversions by conversion time instead of the default. Watch the numbers move between months. Then take one week and compare Shopify order dates against Google conversion dates. They will not line up - and now you know why.

Mechanism 2: view-through and engaged-view counting. Someone watches a few seconds of your YouTube ad, never clicks anything, and buys two days later. Depending on your conversion settings, Google can count that purchase as one it drove. Maybe the ad helped. Maybe the person was buying anyway. Google cannot know - but it books the sale either way. Founder check: look at how much of your conversion volume sits in video and Display placements where almost nobody clicks. If those placements are converting, ask yourself how.

Mechanism 3: brand capture. This is the big one, and it gets its own section. Someone hears about you on a podcast, from a friend, from a Meta ad. They type your brand name into Google. Your own ad sits at the top of the results - a brand Search ad, or PMax serving on your name. They click it and buy. That person was coming anyway. The typed brand name is the proof. But Google collected the last click, so Google books the whole order. The platform grades its own homework, and brand clicks are the easiest credit in the account - the buyer had already decided. Founder check: search your own brand name in an incognito window. If your ad sits above your organic listing, you are paying for clicks that had nowhere else to go.

Google Ads Taking Credit for Branded Search

Google Ads taking credit for branded search is usually the single biggest distortion in a DTC reporting stack - bigger than the window and view-through combined.

Here is what it looks like at full size. The numbers below are a composite from audited accounts, anonymized. Not a single client - a pattern that repeats over and over.

You have a Performance Max campaign reporting 6.4x. Best number in the account. Every budget meeting ends the same way: feed the winner.

Now open the search terms behind it. In this composite, 71% of the search spend sits on brand terms. Rows and rows of your own name. Your name plus a product word. Your name misspelled. People who typed your brand into Google and clicked the ad sitting one inch above the organic link they were about to click for free.

Strip the brand terms out and score what remains. The campaign lands at 2-3x.

That gap is the difference between two budget meetings. In the first, you scale the 6.4x winner and starve everything else to feed it. In the second, you see a 2-3x acquisition engine wearing a brand-search costume, and the next dollar goes somewhere it can create demand instead of collecting it. Same account, same data, one filter apart.

PMax makes this easy to miss because it blends brand search, non-brand search, Shopping, Display, and YouTube into one number. The brand slice props up the blend, and the blend hides the brand slice. You have to go looking - which is exactly what the next section shows you how to do.

And it is not a PMax quirk. In the accounts we've audited, Google Ads typically overstates its contribution by 80-90%. Brand capture is the biggest reason why.

How to Strip Brand Terms Out of Google Ads ROAS

You can strip brand terms out of your Google Ads ROAS in under 30 minutes, using reports you already have access to. Here is the exact sequence.

  1. Pull the search terms. For Search campaigns, open the search terms report and export the last 90 days with spend and conversion value. For PMax, open the search terms under the Insights tab. Google groups them into categories, and you will get conversions and conversion value per category. If your account does not show cost there, estimate the brand spend: brand clicks times your average brand CPC gets you close enough, and rounding up keeps the number conservative.
  2. Classify brand vs non-brand. Brand means your name, obvious misspellings of it, and brand-plus-product terms - your name followed by a product word. If a term is ambiguous, count it as brand. You want your acquisition number conservative, not flattering.
  3. Subtract the brand slice. Add up the brand spend and the brand-attributed conversion value. Take both out of your totals.
  4. Recompute. Divide the remaining conversion value by the remaining spend. That is your brand-stripped ROAS - the closest thing Google Ads will give you to a real acquisition number.

Then two structural fixes, so you never have to repeat this by hand.

Fix 1: brand exclusions. Add your brand name as a negative keyword in every non-brand Search campaign. For PMax, apply brand exclusions so the campaign stops serving on your own name and has to earn its number on demand it actually created.

Fix 2: a dedicated brand campaign. If you want to keep buying your own brand terms - some brands do, for message control or to hold the top slot - run them in one campaign of their own. Then brand spend is at least visible and separable, and it never contaminates your acquisition math again.

Done with the steps? The calculator just below runs the subtraction for you: enter your reported totals and the brand slice, and it hands back your brand-stripped ROAS.

Strip the brand terms out of your own number

Prefilled with the composite from the audited-accounts pattern. Swap in your own four numbers from the search terms report. Runs in your browser; nothing you type is stored or sent anywhere.

Search terms report (plus PMax search insights): spend on queries containing your brand name

Reported ROAS6.40
Share of spend on brand terms71%
Brand-stripped ROAS (what the cold spend earns)2.50

The cold spend runs at 2.50, not 6.40.

The reported number leans on buyers who typed your brand name and were coming anyway. Judge scaling decisions on the brand-stripped figure - that is what the next dollar of cold spend actually earns.

What to Anchor On Instead

The number to run the business on does not come from Google Ads at all. It comes from your store backend.

MER is total revenue divided by total ad spend. Both numbers come from your own books. No attribution model can inflate it, because it never asks which ad deserves credit. Pair it with your contribution margin. That tells you the breakeven line MER has to clear. Now you have a scoreboard no platform can argue with.

Make it a routine, not a one-off. Check MER every Monday, from the same two sources, and write it down. If product costs, shipping, or discounting change, redo the breakeven math. And when Google says one thing and MER says another, MER wins. The platform number is a hint about where to dig, nothing more. The free Honest ROAS Calculator puts your blended MER next to the platform number, so you can see the gap in about 30 seconds.

And the Google-versus-Shopify gap is one pair in a five-way disagreement. Meta, GA4, and Triple Whale each show a different number for the same store. Each has its own structural reasons. I wrote the full story up here: why your ad platforms all show different revenue.

One thing before you go run this. We don't sell an attribution tool, and this diagnosis is not a pitch for a media-buying retainer. The correction runs on your own data, and it holds no matter who manages your ads afterward.

What to Do This Week

One 30-minute block this week gets you an honest Google number for the first time.

Pull the search terms report and the PMax search insights. Classify brand versus non-brand. Subtract the brand slice and recompute - or let the calculator above do it for you. Then add brand negatives to your non-brand campaigns, and decide whether brand deserves its own campaign.

Expect your Google number to drop. That is not a performance regression. That is the real acquisition number surfacing for the first time - and it is the only version of the number you can make scaling decisions with.

If you want the 5-step version of this run against your own dashboards - Google Ads, Meta, and Shopify side by side - grab the Attribution Sanity Check. It walks you through the full reconciliation on the reports you already have open, and puts the corrections in an order you can act on.

Questions founders ask about this

Because they count different things. Shopify counts orders that happened, on the date the money moved. Google Ads counts conversions it attributes to itself under its own rules: clicks from weeks earlier, view-through and engaged-view conversions, all booked to the date of the ad interaction rather than the order date. Over any given window, those rules can produce more Google conversions than Shopify orders. Neither system is broken. Shopify is the ledger of what sold. Google is an estimate of what Google influenced. When the two disagree, the ledger wins.

Very likely, if you have real organic brand demand and no brand exclusions in place. PMax serves on branded searches by default, and those clicks convert at brand rates because the buyer had already decided. In a composite from accounts we've audited, a PMax campaign reporting 6.4x had 71% of its search spend sitting on brand terms; scored on what remained, it landed at 2-3x. Open your PMax search insights this week. If your own name dominates the list, your reported ROAS is not an acquisition number.

Four steps. Pull the search terms report for Search campaigns and the search insights for PMax. Classify each term as brand or non-brand, counting misspellings and brand-plus-product terms as brand. Subtract brand spend and brand-attributed conversion value from your totals. Then divide what remains: remaining conversion value over remaining spend is your brand-stripped ROAS. To make it stick, add brand negatives to non-brand campaigns, apply brand exclusions to PMax, and move brand terms into a dedicated campaign so the spend stays visible and separable.

Want to know how much of your Google Ads number is real - and what your true new-customer economics look like? That is the job of the Profit Clarity Audit: a $5,000, 14-day diagnostic that reconciles every platform's claimed revenue against your store backend and shows you the number you can actually scale on. Start with a free 30-minute Profit Clarity Strategy Call.

Apply for Your Free Strategy Call

Apply for Your Free Strategy Call