How to Fix Google Ads & Shopify Conversion Discrepancies with Google Ads API

Assistance Required for Resolving Conversion Tracking Mismatch Across Platforms

Problem Explanation:We are a UK-based eCommerce business selling products in the US, and we have integrated our Shopify store with Google Ads, Google Analytics (Universal Analytics), and Google Merchant Center. We have noticed significant discrepancies in the conversion data reported by each platform, as outlined below:

Google Ads reports 838.17 conversions (purchases/sales).

Google Analytics (UA) shows 770 purchase events during the same custom date range.

Shopify reports 884 orders for the same period.

This mismatch in data is causing confusion in our tracking and optimization efforts.

Steps Weโ€™ve Tried:Time Zone Review:

We verified that Shopify is set to Eastern Time (GMT-05:00), while Google Ads is on Pacific Time (GMT-07:00). We are aware that the time zone in Google Ads cannot be changed after the account creation, and we are considering options for maintaining consistent reporting.

Analytics Configuration:

We checked the time zone settings in Google Analytics, which is currently set to New York Time (GMT-04:00), and plan to change it to match Shopifyโ€™s time zone.

Enhanced eCommerce Tracking:

We have explored enabling Enhanced eCommerce tracking in both Google Analytics and Shopify to ensure proper purchase event tracking.

Testing Tag Firing:

We have attempted to use Google Tag Assistant to verify that the Google Ads conversion tag fires correctly on the Shopify thank-you page, but discrepancies remain.

Monitoring Data:

We have been comparing data across platforms and noting the discrepancies, but have not yet identified a clear cause.

We would greatly appreciate your guidance on how to effectively resolve these discrepancies and ensure accurate conversion tracking across all platforms.

Thank you for your assistance.

The short answer is:

Why does my Google Ads conversion data mismatch my Shopify order count?

The most robust and accurate solution to resolve your conversion discrepancies involves implementing server-side tracking via the Shopify API/webhooks and the Google Ads API.

By leveraging Shopify webhooks for the orders/create event, you can capture purchase data server-side immediately after an order is successfully created in Shopify, bypassing client-side issues like ad blockers, browser restrictions, and page load failures that plague your current Google Tag Assistant-based setup.

This captured, authoritative data should then be sent directly to the Google Ads conversion platform using the Google Ads API to upload the conversion data with a gclid (Google Click ID) and a unique conversion_label.

This server-side approach minimizes data loss, ensures accurate attribution by using the gclid captured from the customer journey, and provides a cost-effective, durable data stream that solves the fundamental problem of client-side tracking inconsistency.

The long answer is:

Your current discrepancy is a classic symptom of reliance on client-side tracking, which is inherently unreliable due to factors such as ad-blockers, Intelligent Tracking Prevention (ITP) in browsers, and various network latency issues that cause the Google Ads conversion tag on your Shopify thank-you page to fail to fire or record correctly.

The proposed solution eliminates this client-side dependency by shifting the conversion reporting to a server-side process, utilizing the authoritative source of truth: the Shopify order system.

The core of the solution is a secure and reliable integration using the Shopify API/webhooks.

You should configure a Shopify webhook to fire on the orders/create event.

This webhook will deliver a complete, confirmed order payload to a secure endpoint you control, such as a Google Cloud Platform (GCP) Cloud Function or App Engine instance, which acts as your server-side gateway.

Within this server-side logic, you must retrieve the gclid, which should be captured from the URL parameter on the landing page and stored securely in a first-party cookie or local storage, and then associated with the order at the time of purchase.

Once the order data and the gclid are securely on your server, you then use the Google Ads API to upload the conversion.

The Google Ads API provides the most reliable way to report conversions because it is a direct server-to-server communication, impervious to client-side obstructions.

You will make an API call to the Google Ads API, specifically using the UploadClickConversions service, passing the gclid, the conversion time (based on the Shopify order creation time, ensuring consistency), the conversion value, and the unique conversion_label tied to your specific Google Ads conversion action.

This server-side data stream, by using the authoritative Shopify order creation event, ensures that every confirmed order is accurately reported to Google Ads, resolving the disparity between your Shopify order count and Google Ads conversions.

This method is highly cost-effective in the long run as it reduces wasted ad spend from inaccurate optimization and eliminates the continuous troubleshooting required for faulty client-side tags, making it a superior and durable marketing technology solution.

Furthermore, the use of GTM and Stape could be incorporated to manage the collection and storage of the gclid on the client side before the purchase, setting the foundation for the server-side API call.

You should also consider migrating your Google Analytics Universal Analytics setup to Google Analytics 4 (GA4) and using the Google Analytics Measurement Protocol server-side, driven by the same Shopify webhook, to ensure perfect consistency between your advertising platform and your analytics platform.

About The Author