If you have ever exported a week of Google Ads conversion value and set it next to your Shopify sales report, you already know the two numbers rarely agree. Sometimes Google is higher. Sometimes it's lower. Either way, the mismatch is not a bug you can patch — it's the result of two systems answering two different questions about the same sales.
This article walks through exactly what each tool counts, why the numbers diverge, a worked example you can copy, and how to stop the reconciliation headache by anchoring everything to profit. For the wider picture across every tool in your stack, see our guide to reconciling your ecommerce data.
What each tool is actually measuring
Shopify is a system of record. It logs a completed checkout the moment money is captured, tied to the day and the customer who paid. That makes it your financial source of truth — Shopify "owns" one hundred percent of your real orders.
Google Ads is an attribution engine. It doesn't record your sales; it estimates how much revenue its ads deserve credit for. That estimate depends on a click window, a cross-device graph, and a set of modeling assumptions that Shopify has no concept of.
So when the revenue columns disagree, neither is lying. They're measuring different realities. The mismatch between platform-reported value and store-side revenue is the entire subject here.
The seven reasons the revenue gap opens up
Most of the causes fall into two families: methodology differences that can never be closed, and tracking losses that better setup can narrow.
1. Conversions are counted on the click date, not the purchase date
Google Ads reports a conversion on the date of the ad click, not the date of the sale. A shopper who clicks your ad on Monday and buys on Thursday shows up in Google Ads on Monday and in Shopify on Thursday (Adnan Agic). Compare a single day and the numbers will never line up. Always compare on a trailing seven-to-fourteen-day window instead.
2. Attribution windows credit sales days later
Google Ads keeps crediting a click for a set lookback period, so a purchase that happens days after the click still counts as an ad conversion (Adnan Agic). Shopify uses last non-direct click and files the order under whoever the customer clicked last on the buying device — often "direct" or "organic," not Google.
3. Cross-device journeys are stitched by Google, split by Shopify
Google connects a phone click to a laptop purchase through the shopper's signed-in Google account (Adnan Agic). Shopify sees two separate sessions and attributes the sale to the device where checkout happened. Google claims the order; Shopify hands it to someone else.
4. Free Merchant Center listings look like organic to Shopify
If you run Google Shopping, some clicks come from free product listings rather than paid ads. Google reports those under organic traffic, not paid conversions, so they never appear in your Google Ads revenue even though Shopify counts the sale (Bloom Analytics). This alone can make Google Ads look like it "under-reports."
5. Refunds lower Shopify but not Google Ads
When an order is refunded, Shopify reduces net and total sales. Google Ads generally cannot detect the refund and leaves the original conversion in place, so its revenue stays inflated after cancellations while Shopify's drops (Bloom Analytics).
6. The two tools include different dollars in "revenue"
One setup passes order value as the subtotal only; another includes shipping and tax. If your conversion counts roughly agree but the revenue doesn't, this mismatch in what's counted as "sales" is usually why. Shopify itself separates Gross, Net, and Total sales, and each tier includes different components (Shopify Help).
7. Blocked tags and cookies lose events
Browser tracking prevention, ad blockers, and cookie-consent declines stop client-side tags from firing, so Google under-counts while Shopify still records the sale server-side. One agency found roughly a third of a store's Google Ads conversions were going untracked from tag loss alone (Digital Position). Server-side tracking narrows this, but it does nothing about reasons one through five.
A worked example you can copy
Say you sell a mug on a print-on-demand store. Each order is $40 for the product, $5 shipping, and $4 tax, for a $49 total. Over one week you get 100 real orders in Shopify. Here's how the same week reads in each tool.
Shopify (the source of truth for revenue):
- 100 orders × $49 = $4,900 total sales.
- 8 orders get refunded (8 × $49 = $392).
- Total sales after refunds = 4,900 − 392 = $4,508.
Google Ads (the source of truth for ad influence):
- 40 orders had a last Google Ad click inside the window → 40 conversions.
- 6 more were stitched from cross-device or view-through → 46 conversions.
- 12 buyers came through free Shopping listings → reported as organic, not counted here.
- Value is passed as the $40 subtotal, and refunds are not subtracted.
- 46 × $40 = $1,840 reported revenue.
- Roughly a fifth of those conversions land in the prior week because they report on the click date.
So for one week of 100 real orders you get $4,508 in Shopify and $1,840 in Google Ads — a wide gap, and every dollar of it is explained by the seven reasons above. Neither number is wrong. They answer different questions.
If your Google Ads orders and conversions also disagree with Shopify, the same mechanics apply — walk through why Google Ads orders don't match Shopify and why your Google Ads ROAS doesn't match Shopify.
The number both tools skip: profit
Here's what neither Google Ads nor Shopify shows you. Revenue is not what you keep. Take that same $49 order and subtract what it actually costs to fulfill:
- Revenue collected: $49.00
- Product base cost (Printify): −$12.00
- Fulfillment shipping you eat: −$7.00 (customer paid $5)
- Payment processing at about 2.9% + 30¢ on the Basic plan, US cards: −$1.72 (Webgility)
- Ad spend allocated ($2,000 spent ÷ 100 orders): −$20.00
Per-order profit = 49 − 12 − 7 − 1.72 − 20 = $8.28.
That $8.28 is the number that decides whether your store survives — and it appears nowhere in the Google Ads revenue column or the Shopify sales report. A campaign can look like a winner on reported ROAS and still lose money once product cost, fulfillment, fees, and refunds are subtracted. This profit angle is exactly what the SERP articles on this topic leave out.
How to reconcile without chasing a perfect match
Stop trying to make the two numbers equal — they structurally can't be. Instead:
- Pick a role for each tool. Shopify is truth for revenue and refunds; Google Ads is truth for which campaigns influenced sales.
- Compare on trailing windows, never single days, to absorb the click-date-versus-purchase-date shift.
- Establish your own stable ratio between reported and real revenue, and watch for it breaking — a sudden swing signals a real tracking problem, not a methodology quirk.
- Reconcile to profit, not to revenue, so the deductions Google Ads never sees are always in the picture.
This is where a connected profit layer helps. PodVector connects Shopify, Meta Ads, Google Ads, Printify, Printful, and Stripe, then computes true per-order profit across all of them — so instead of squinting at two revenue columns that will never match, you see what each order actually earned after product cost, fulfillment, fees, and ad spend. Victor, its AI operator, reads that live data and proposes moves you approve; he does not touch your ad account, and he's not a dashboard you have to babysit.
For the source of many of these same mechanics on the paid-social side, the Facebook Ads conversion tracking setup checklist for Shopify is the natural next read.
FAQs
Should I trust Google Ads or Shopify for revenue?
Trust Shopify. It records real money collected, adjusts for refunds and cancellations, and is your financial source of truth. Google Ads shows which campaigns influenced purchases, which is what you use to judge and optimize spend — not what you use to count revenue (Bloom Analytics).
What is a normal gap between Google Ads and Shopify revenue?
There is no single "correct" number — the right benchmark is specific to your store, your product mix, and how much of your traffic comes from free Shopping listings. Set your own baseline ratio and watch for it changing rather than aiming for a fixed percentage (Adnan Agic).
Will server-side tracking make the numbers match?
No. Server-side tracking recovers events lost to blocked tags and cookies, which narrows one part of the gap (Digital Position). It does nothing about click-date reporting, attribution windows, cross-device credit, free listings, or refunds — so a structural gap remains no matter how clean your tracking is.
Why is my Google Ads revenue higher than Shopify?
Usually because Google credits view-through and cross-device conversions Shopify never attributes to it, keeps refunded orders in its totals, and reports on the click date so some sales pile into a window. If Google is lower instead, free Merchant Center listings and lost tags are the common culprits.
Does this apply to sessions and ROAS too?
Yes. The same attribution and tracking differences cause your traffic counts and return-on-ad-spend to diverge across tools. See why Google Ads sessions don't match Shopify for the traffic-side version of this problem.