A Shopify apparel brand was running Google Ads at 4.1 ROAS — platform-reported, every metric looking clean. Their Shopify revenue told a different story: 2.6 ROAS against actual ad spend. The difference was $31,000 per month. Every decision about budget increases, channel allocation, and scaling had been made using a number that didn't reflect what was actually happening in the business.
Why Google Ads attribution always overstates results
Google Ads reports revenue using its own attribution model — by default, data-driven attribution across all Google touchpoints. That model credits Google for any sale where a user touched a Google ad at any point in the conversion path, including touchpoints days or weeks before the actual purchase.
If a buyer saw a Google Shopping ad on Monday, came back via email on Thursday, and purchased, Google attributes that sale to itself. Shopify, which tracks orders by the UTM parameters on the session that generated the order, shows it as email revenue. Both are technically correct by their own rules. But you can only spend one budget, and the real question is: which channel actually drove that buyer to purchase?
Across 40+ Shopify accounts, Google attribution overstates ROAS by 0.8 to 2.1 points on average. The gap is largest for brands running multiple channels simultaneously — because Google's model is specifically designed to capture multi-touch credit across longer windows.
The 3 attribution models and what each one inflates
Every attribution model inflates differently:
Data-driven attribution (Google's default) distributes credit across all touchpoints based on predicted contribution. It looks scientific. It systematically overweights Google-owned touchpoints. For multi-channel Shopify brands, this model will consistently absorb revenue that Shopify correctly attributes to email, organic, and branded search.
Last-click attribution assigns 100% credit to the final Google ad clicked before purchase. Less inflated than data-driven for multi-channel accounts, but still overcounts for a simple reason: it captures all purchases where a Google ad was the last click — including customers who were going to buy regardless.
30-day click + 1-day view attribution is the worst offender. It attributes a sale to Google if the buyer saw a display ad in the last 24 hours, regardless of whether they clicked. For brands running Google Display, this setting routinely adds 30–40% phantom revenue to the platform number.
The apparel brand was running data-driven attribution with a 30-day click window. Google was capturing sales Shopify traced to organic search, email, and branded — because a Google ad had appeared somewhere in those buyers' paths within 30 days.
How to reconcile Google Ads with Shopify revenue
The most reliable number is Shopify UTM-filtered revenue. It shows exactly which sessions generated orders — no inter-platform disputes.
The reconciliation:
- Pull conversion revenue from Google Ads for a 30-day period
- Open Shopify Analytics → Reports → Sessions by Traffic Source, filter to Google CPC, same period
- Export orders filtered by UTM source = google, UTM medium = cpc
- Divide Shopify-attributed revenue by actual spend = your real ROAS
For the apparel brand: $89,000 Google-reported vs. $58,000 Shopify-attributed, on $22,400 spend. Platform ROAS: 3.97. Shopify ROAS: 2.59. Every scaling decision had been built on a number $31,000/month away from reality.
Once they saw the gap, the response wasn't to panic — it was to stop making budget decisions using Google's number and to start using Shopify's. Same campaigns, same budget, new benchmark.
The attribution setting to change this week
Two changes reduce the overcount:
First, switch from 30-day click to 7-day click attribution (Campaign Settings → Attribution). Most purchase decisions happen within 7 days of ad exposure. A 30-day window exists to capture more credit, not to reflect how buyers actually behave.
Second, run a monthly Shopify reconciliation. Export UTM-filtered orders for the last 30 days. Compare to Google conversions. If the gap exceeds 0.8 ROAS points, scaling decisions are being made on inflated data.
The apparel brand made both changes. Platform-reported ROAS dropped from 4.1 to 3.4 — still profitable, now accurate. The channel mix decisions made since have been based on what's actually happening.
Open Google Ads. Go to Settings on your top-spend campaign. Scroll to Attribution. If you see 30-day click + 1-day view, change it to 7-day click today. That single setting is doing most of the damage.
If the gap between your Google-reported ROAS and your Shopify revenue looks like the one above — inflated numbers, decisions built on fiction — a Basic audit runs this reconciliation in the first week and tells you exactly what you're working with. Book a 20-minute call.