Google Ads Tracking for Shopify: Enhanced Conversions, GCLID, and Why Google's Numbers Drift
Google Ads tracking on a Shopify store looks simpler than Meta’s. One tag, one click ID, one sales channel app, and Google’s conversion column usually lands closer to your order count than Meta’s does.
That closeness is what makes the drift hard to see.
Google’s number moves for five reasons that have nothing to do with your campaigns:
- it dates conversions to the click,
- it fills gaps with modeled estimates you can’t separate from observed ones,
- it doesn’t count free Shopping clicks that Shopify credits to Google,
- it swaps gclid for aggregate IDs on iOS,
- and since June it models consent gaps under a rule that changed.
This post covers how the pieces work, why the number drifts, and how to know which drift you’re looking at.
How does Google Ads tracking work on Shopify?
On the Shopify tracking side, Google Ads tracking is four parts working together:
- the Google tag, installed by the Google and YouTube sales channel;
- gclid, the click identifier auto-tagging appends to every ad click and the tag stores in a first-party cookie;
- the purchase conversion action, which the channel creates and fires on checkout;
- and enhanced conversions, which attach hashed customer data so Google can match the purchase when the cookie is gone.
The Google and YouTube channel handles the first three automatically and the fourth only if you turn it on. Enhanced conversion tracking is not enabled by default.
We covered why it matters in an earlier post; the short version is that it is the difference between Google matching a purchase or modeling one.
Why do Google’s conversion numbers drift from Shopify orders?
Google’s numbers drift because five separate mechanisms each move the count away from your orders, in both directions, and Ads Manager shows you one column with all of them baked in.
1. Google dates conversions to the click, not the order
A purchase on the 3rd from a click on the 28th is filed under the 28th. Recent periods always look worse than they will, because conversions are still arriving for clicks already counted, as Google’s conversion lag documentation describes: CPA appears inflated and ROAS deflated until the lag catches up.
Comparing this week’s Google conversions to this week’s Shopify orders is comparing two different weeks.
2. Modeled conversions share the column with observed ones
When consent is denied, a browser blocks the tag, or a journey crosses devices, Google estimates the conversions it couldn’t see and adds them to the Conversions column with the same attribution and value as observed ones.
You cannot tell them apart at a glance, and modeled conversions take up to five days to stabilize, per PodVector’s breakdown. Google’s own claim is that modeling recovers more than 70 percent of consent-lost journeys.
That may be true. It is also a number produced by the platform that benefits from it.
3. Free Shopping listings: Shopify says Google, Google Ads says nothing
This is the largest single cause of Google Ads reporting fewer conversions than Shopify credits to Google, according to WeltPixel’s analysis.
Shopify’s marketing reports attribute any order with a Google referrer to Google, including organic search and free Merchant Center listings. Google Ads counts only purchases tied to a paid click with a stored gclid. Both are right about what they measure.
Neither is measuring the same thing.
4. On iOS, gclid becomes gbraid or wbraid
Apple strips gclid in Private Browsing, Mail, and Messages.
Google substitutes gbraid (web-to-app) and wbraid (app-to-web), which survive but attribute at the campaign level without identifying the person. The conversion still counts, with less precision, and your Shopify order has no gclid to match against.
Google’s attribution gaps covers the iOS side in more detail.
5. Since June 15, consent modeling runs under a different rule
Consent Mode became the sole gate for Google Ads data collected through GA4, with the Google Signals toggle no longer controlling it, as WeltPixel’s audit guide to the change explains.
- A banner that denies ad_storage by default and never updates now blacks out signals silently; one that grants by default over-collects.
- Either way, the share of your Google conversions that are modeled rather than observed shifted in June, with no notice in the account.
Stack the five and you get a Google conversion count that can sit above or below Shopify orders, for reasons that change month to month. A gap is not a fault. An unexplained gap is.
Getting enhanced conversion tracking right on Shopify
Enhanced conversions is the setting that moves purchases from modeled to observed, and it fails in three predictable places.
- It is off. The Google and YouTube channel installs the tag and creates the conversion action but leaves enhanced conversions disabled. Turn it on in the app’s settings and accept the customer data terms in Google Ads.
- Consent is blocking it. Enhanced conversions send hashed email, phone, and address, and only fire when ad_user_data consent is granted. Check Goals, then Conversions, then Diagnostics in Google Ads. The rating should read Good. Fair or Poor after June usually means the banner.
- Two purchase actions exist. One from the channel, one built manually. Both marked primary. Google counts twice. Keep the channel’s action as primary and demote or delete the other.
Done right, enhanced conversions gets your observed share up and your modeled share down, which is the direction you want the column moving even though the total may not change.
When Google reports more than Shopify
The drift runs the other way too. Duplicate tags or repeated thank-you page loads send the same purchase twice. A non-purchase action (a button click, a test order) gets marked as a conversion.
Bot traffic fires the tag with no order behind it, as Bloom Analytics’ gap analysis lists.
And the attribution model, data-driven or last click, credits Google for orders that Meta and TikTok also claim, because no platform deduplicates against another. If Google’s count exceeds your orders for the same closed month, one of those four is the reason, and the first three are fixable in an afternoon.
What to actually do
- Compare closed months with a two-week lag, never current weeks. Click-date attribution and modeling both need time to settle.
- Turn on enhanced conversions and verify it in Diagnostics. Good rating, one primary purchase action, consent passing.
- Separate paid Google from all Google in Shopify. UTMs on every ad with utm_medium=cpc, so Shopify’s marketing report can split paid clicks from free listings and organic. Without that, the Shopify-side Google number is unusable for comparison.
- Audit the consent banner against the June change. Ten minutes in DevTools checking the gcs parameter. If your Google conversions moved in June and your spend didn’t, this is why.
- Keep a click-verified count next to Google’s column. Google’s Conversions column blends observed clicks, modeled estimates, aggregate iOS credit, and cross-platform double counting into one number.
- A first-party, click-only record separates the first from the rest: capture gclid (and gbraid, wbraid, and the UTMs) at landing, store it on your own domain, follow the session, and join the order to the click. Orders with a captured Google click are your floor.
- Google’s number above that floor is modeling and credit, and knowing the size of that gap month over month is the point. It undercounts some upper-funnel influence and never credits an estimate; it also never changes because Google changed a rule. Google has changed several this year.
Google Ads tracking on Shopify works well enough that its drift hides in plain sight. Five mechanisms move the number, most of them by design, and the fix is not to distrust Google but to hold its column against a count you built from your own clicks and orders.
If you want to see your Google Ads conversions next to a click-only, first-party record on your own Shopify store, book a live AdBeacon demo.
—-
FAQ
Why does Google Ads show fewer conversions than Shopify?
Most often because Shopify credits any Google referrer, including organic and free Shopping listings, while Google Ads counts only paid clicks with a stored gclid. Click-date attribution lag, blocked tags, consent denial, and cross-device journeys add to the gap.
What are modeled conversions in Google Ads?
Statistical estimates Google adds for conversions it couldn’t observe due to consent denial, browser blocking, or cross-device journeys. They appear in the same Conversions column as observed conversions, with no visible distinction, and take up to five days to stabilize.
Does Shopify’s Google and YouTube app enable enhanced conversions automatically?
No. It installs the tag and creates conversion actions, but enhanced conversion tracking must be switched on manually in the app and confirmed in Google Ads under Goals, Conversions, Diagnostics, where the rating should read Good.
What is the difference between gclid, gbraid, and wbraid?
gclid is Google’s per-click identifier. gbraid and wbraid are aggregate alternatives Google uses on iOS traffic where Apple strips gclid; they attribute at the campaign level without identifying the person.
Why did my Google Ads conversions change in June 2026?
On June 15, Consent Mode became the sole control for Google Ads data collected through GA4. Depending on how your consent banner is configured, the share of modeled versus observed conversions shifted, with no notice in the account.
Sources
- Google Ads Help: About Conversion Lag Reporting
- PodVector: Google Ads Modeled Conversions, What They Are
- WeltPixel: Why Google Ads Reports Fewer Conversions Than Shopify
- Bloom Analytics: Shopify Google Ads Conversion Tracking, Why It’s Off
- WeltPixel: GA4 June 2026 Consent Change on Shopify, What to Audit Now