Shopify Google Ads Tracking: Setup, Checks and Server-Side Options
![]()
Shopify Google Ads tracking works by sending purchase and checkout events from your store to your Google Ads account, so each sale can be matched to the ad click that preceded it. The standard route is the Google & YouTube app, and server-side tracking is an optional layer you add once the basic setup is accurate. This guide covers installation, verification, the reasons your numbers will not match Shopify, and how to decide on server-side tracking.
TL;DR
- Install the Google & YouTube app, connect Google Ads, confirm the purchase, add to cart and checkout started mappings, and mark the purchase action as primary.
- Never run duplicate tags. Remove legacy tags and keep one transaction ID per order.
- Google Ads, GA4 and Shopify will never match exactly because each uses its own attribution rules and dates. Compare them with the right column and a fixed method.
- Server-side tracking improves signal durability but does not fix a wrong order value or a consent rule. Get the browser setup correct first.
- Treat tracking as an operating process: audit it, document it and report on it every week.
Table of Contents
- 1. What Google Ads tracking measures in a Shopify store
- 2. Set up Google Ads conversion tracking with the Google & YouTube app
- 3. Verify purchases: value, duplicates and attribution
- 4. Why Google Ads and Shopify numbers do not match
- 5. Server-side tracking for Shopify: what it is and when it fits
- 6. Privacy, consent and running costs
- 7. Our perspective
- 8. Turn tracking into a weekly reporting routine
- 9. Run this workflow in OppRise
- FAQ
- Sources
1. What Google Ads tracking measures in a Shopify store
Google Ads conversion tracking records the actions people take on your site after clicking an ad or a free listing. Google’s help page describes the default conversion actions for a Shopify store as purchase, add to cart and checkout started, mapped to Shopify events through the Google & YouTube app.
This is different from what Shopify reports. Shopify records every paid order from every channel. Google Ads counts only the purchases that follow an ad interaction inside the conversion window. A single real order can therefore appear three ways: once in Shopify as a sale, once in Google Ads as a credited conversion, and once in GA4 under its own attribution model.
A practical consequence: Shopify is your source of truth for total revenue, and Google Ads is your source of truth for what its own ads influenced. Do not ask either to do the other’s job.
![]()
2. Set up Google Ads conversion tracking with the Google & YouTube app
The sequence below follows Google Ads Help.
- Sign in to Shopify, then search for and install the Google & YouTube app from the Shopify App Store.
- Connect the Google Ads account that runs your campaigns. Use the account that will own the conversion actions.
- Review the conversion event mappings. Purchase, add to cart and checkout started are the suggested defaults.
- Confirm the Google tags the app proposes.
- In Google Ads, verify that the new conversion actions are set as primary, so they count toward bidding.
- Check for duplicates. If you have conversions in the app and also in the storefront or a custom pixel, remove the legacy tags to prevent double measurement.
Two habits save hours later. First, record who connected the Google Ads account and what role they hold, because linking problems are often permission problems. Second, write down which conversion action is primary for bidding. Agencies managing several stores should keep this record per brand.
A worked example
Suppose a home-goods store installed the app in 2024 and later added a manual purchase tag through a theme snippet. Google Ads now shows roughly twice the paid orders Shopify records for the same period. Nothing is wrong with the ads. Two tags are firing on the same thank-you page, and removing the legacy snippet resolves it.
3. Verify purchases: value, duplicates and attribution
A tag that sends requests can still miss orders or count them twice. Verification has three parts.
Purchase value
According to Texonica’s audit guide, the Google & YouTube app has reported purchase value as subtotal minus discounts, excluding shipping and tax, since April 24, 2025. When you reconcile revenue, compare like with like. If Shopify’s gross sales include shipping and tax, a gap of several percent is expected before any tracking issue exists.
Transaction IDs
Google requires a unique transaction ID for every transaction so that duplicates can be discarded when a buyer reloads or revisits the confirmation page. Shopify includes transaction IDs automatically through the Google & YouTube app. Hardcoding or reusing one ID across orders causes significant undercounting. If you add any manual or server-side tag, pass the real order ID.
A test order and a daily comparison
- Place a real order and inspect the purchase event in Google Tag Assistant. Confirm the value matches what the customer paid under your value definition.
- In Google Ads, open the conversion details and check recent genuine orders for zero or missing values.
- For seven days after launch or after any material tracking change, match the purchases Google Ads records against completed store orders each day.
Tag Assistant confirms that a request was sent and which fields it carried. It cannot confirm that every row corresponds to one real order, or that missing orders were recovered. That is why the order-level comparison matters.
4. Why Google Ads and Shopify numbers do not match
Expect a gap. The useful question is whether the gap has an explanation. The common causes are below.
| Cause | What happens | What to do |
|---|---|---|
| Attribution model | Google Ads credits only its own clicks. GA4 and Shopify apply different models. | Decide which platform answers which question. |
| Date basis | Google Ads’ main Conversions column reports on the date of the click, while GA4 and Shopify use the purchase date. | Compare with the Conversions (by conv. time) column. |
| Conversion delay | Data can take up to 7 days to fully appear after significant changes. | Do not judge a change on day one. |
| Invalid conversions | Google removes conversions it detects as spam or invalid traffic, or older than 13 months. | Expect small drift in older periods. |
| Duplicates | Two tags or reused IDs inflate or deflate counts. | Audit conversion actions and IDs. |
| Blocking and consent | Ad blockers and cookie choices remove browser signals. | Review consent setup and consider server-side. |
Reading the pattern
Texonica offers a useful triage. If Google Ads shows close to double what Shopify shows for paid traffic, something is double counting. If Google Ads sits far below GA4’s paid-search number, the Ads tag is probably blocked or not firing on some checkouts. If GA4 sits far below Shopify, consent and blocking are likely removing data (source).
![]()
A small gap between Shopify and GA4 is also normal. Ruler Analytics puts it typically at 5 to 10 percent, caused mostly by ad blockers, cookie settings and checkout code issues.
Attribution windows
The windows differ as well. Google Ads typically uses a 30-day click window, and its default model is data-driven, while Shopify uses a last-click model with its own lookback. Normalize the window you compare before drawing conclusions. For a wider view of how to compare channels when signals weaken, see our piece on cross channel attribution.
5. Server-side tracking for Shopify: what it is and when it fits
Browser tracking depends on scripts running in the shopper’s browser. Server-side tracking moves event collection to a server, where events are validated, enriched and forwarded to ad platforms. Because purchases travel by API call or webhook, the route is less exposed to ad blockers, cookie settings and page-load failures. Vendors often quote large recovery figures. Treat any such number as specific to the store that measured it, and test your own.
The built-in route
Before building anything, note that Shopify offers a native server-to-server integration. According to Google Ads Help, the Shopify integration with Data Manager imports purchase conversions automatically, deduplicates them against Google tag events, and currently supports only purchase conversions driven by Shopify’s Checkout completed event. For many stores that is the lowest-maintenance first step. Add to cart and checkout started remain browser-based.
The custom route
A custom setup typically uses a server Google Tag Manager container on a first-party subdomain. A reasonable build order is:
- Audit the current tags, events and conversion actions.
- Deploy the server container on a custom subdomain.
- Run browser and server tags in parallel and compare counts.
- Add enhanced conversions and any conversions API connections.
- Switch off the redundant client-side conversion tags.
- Validate against Shopify revenue for at least a full week.
The order matters more than the tooling. Skipping a step makes later debugging much harder. Shopify’s checkout runs in a sandbox, so checkout events may not appear in GTM Preview, and requests to your tagging server can be affected by those restrictions. Plan test time for this.
Migrations like this touch your domain, DNS and checkout, so they benefit from the same discipline as any site change. If you are sequencing it alongside other work, website migration planning helps you scope what moves and in what order.
Test the claim with your own orders
Before crediting a server route with recovering lost purchases, list the orders the browser tag missed last week and check whether the server route delivered those exact order IDs. This is a precise, order-level test and it does not rely on averages.
6. Privacy, consent and running costs
Server-side tagging does not override consent. A refusal remains a refusal, and consent configuration on a server is more delicate than in a browser, with errors that are harder to see. Your consent management platform must pass the shopper’s choices through the Google tag to the server container. Google states that server containers are compatible with Consent Mode. A server route also cannot repair an incorrect order value.
If you serve shoppers in the European Union or other regulated markets, have counsel review where personal data is processed and which identifiers you forward. Keep an explicit allow-list of fields per destination rather than a deny-list, and review it on a schedule.
Costs depend on the number of destinations, the complexity of your current setup and hosting volume. Published estimates vary widely, so build your own model: inventory the platform, events, checkout, consent tool, hosting, access and monitoring, then compare setup and recurring support together. Size hosting for the event volume you expect after growth, not today’s baseline. Server-side suits teams that can maintain both the browser event and the server endpoint.
7. Our perspective
Most tracking problems we see are operational, not technical. The tag exists, but nobody owns it, nobody documents which conversion action drives bidding, and nobody compares it with store orders after a theme change. The result is a bidding algorithm learning from a number the team does not trust.
We design OppRise around that gap. It brings campaign planning, ad execution, performance reporting and approvals into one workflow, and it connects to Google Ads, Google Analytics, Search Console, Meta, TikTok and Shopify. Your team sees Shopify and ad-platform numbers side by side, with the approval trail for any change. AI-assisted insights then help you decide where to act.
Our view is that tracking should be audited the way budgets are audited: on a schedule, by a named person, against a known source of truth. Server-side tracking is a good investment once that discipline exists. Without it, a more advanced pipeline only moves the same errors faster.
Brittany
8. Turn tracking into a weekly reporting routine
Correct tracking is only useful if someone reads it. A simple weekly routine keeps the data honest:
- Compare Google Ads purchases (by conversion time) with Shopify orders attributed to paid traffic, and note the ratio.
- Flag any week where Google Ads is near double Shopify, or far below GA4.
- Log every tracking change with a date, an owner and the reason.
- Report on one blended efficiency measure alongside platform ROAS, so no single platform’s attribution decides budget.
For the reporting side, our guides on Google Ads reporting and Performance Max reporting set out what to check. If you also run Meta campaigns, Shopify Facebook Ads tracking covers the equivalent checks, and our ROAS playbook shows how clean conversion data feeds optimization.
9. Run this workflow in OppRise
If your team manages several stores or brands, keeping tracking checks, reporting and approvals in one place reduces manual work. OppRise offers multi-brand workspaces, performance reporting, approval workflows and integrations with Shopify and Google Ads. Plans are published on the pricing page: Solo at $102.99 per month, Growth at $258.99 per month and Agency at $622.99 per month, with Agency Plus available without a published price. Pay-as-you-go AI credits are sold as 500 credits for $76.99, 1,500 for $206.99 and 5,000 for $622.99, each one-off.

To see how your Shopify and Google Ads data fit together, sign in to OppRise or review the plans on the pricing page.
FAQ
Do I need server-side tracking to track Google Ads conversions on Shopify?
No. The Google & YouTube app provides conversion tracking for purchase, add to cart and checkout started without a server. Server-side tracking is an addition for teams that want more durable signals and can maintain the extra infrastructure. Shopify’s own server-to-server integration with Google Ads is a lighter option for purchases.
Why does Google Ads show fewer or more conversions than Shopify?
The platforms use different attribution rules, dates and windows. Google Ads counts only ad-attributed purchases, and its main column reports by click date. Use the Conversions (by conv. time) column for comparison, and treat a near 2x gap as a sign of duplicate tags.
How do I check that purchases are not counted twice?
Confirm there is only one set of purchase tags, remove legacy snippets, and make sure each order sends its real transaction ID. Then run a test order in Tag Assistant and compare daily Google Ads purchases with Shopify orders for seven days.
Does the purchase value include shipping and tax?
Since April 24, 2025, the Google & YouTube app has reported purchase value as subtotal minus discounts, without shipping or tax. Compare it against the same definition in Shopify to avoid reading a definitional gap as a tracking error.
Sources
- Set up conversion tracking with the Google & YouTube app (Google Ads Help)
- Use a transaction ID to minimize duplicate conversions (Google Ads Help)
- Data discrepancies: Factors and troubleshooting (Google Ads Help)
- Shopify integration with Data Manager (Google Ads Help)
- Shopify Google Ads Conversion Tracking: A 30-Minute Audit
- Google Ads Conversion Tracking Guide for Online Stores
- Why Meta, Google Ads, GA4 and Shopify Report Different Sales
- Shopify vs Google Analytics: Understanding the discrepancies
- Website Migration Service: What It Covers and How to Choose
