Service · for Shopify & Shopify Plus brands running paid acquisition

GA4 & server-side conversion tracking for Shopify

GA4, Meta and Google Ads conversion tracking for Shopify using Customer Events, web pixels and server-side tagging, reconciled against your real orders.

What you get

  1. Tracking inventory: every pixel, app, theme snippet and tag currently firing on the storefront and checkout
  2. Purchase reconciliation report comparing GA4, Meta and Google Ads conversions to Shopify orders for the same period
  3. Clean Customer Events setup with one source per platform and duplicate pixels removed
  4. GA4 ecommerce events mapped to Shopify standard events, with transaction IDs matching Shopify order IDs
  5. Meta Pixel and Conversions API deduplication using a shared event ID
  6. Optional server-side Google Tag Manager container, deployed on your own Google Cloud project
  7. A short runbook for checking tracking health after theme or app changes

Why do GA4, Meta and Shopify all report different numbers?

Each platform counts a different thing. Shopify counts orders. GA4 counts purchase events that reached it from a browser that allowed analytics. Meta and Google Ads count conversions they could attribute to an ad, under their own attribution windows. Some gap between them is normal.

The problem is when nobody knows how big the gap should be. A store with several leftover pixels from old apps can double-count purchases in one platform while losing them in another, and the ad platforms then optimize toward a distorted signal. Bidding algorithms are only as good as the conversions they are fed.

How does tracking work on Shopify today?

Shopify manages storefront and checkout tracking through Customer Events, the pixel manager in the Shopify admin. According to Shopify’s pixel documentation, there are two kinds:

  • App pixels, installed by marketing and analytics apps, run in a strict sandbox (a web worker) without access to the page’s DOM.
  • Custom pixels, added manually, run in a lax sandbox inside an iframe, which lets older pixel code work but not everything a script tag in the theme could do.

Both subscribe to standard events such as page_viewed, product_viewed, product_added_to_cart, checkout_started and checkout_completed. In regions that require consent, Shopify runs pixels only when the visitor has granted the permissions the pixel is configured to need, which is one legitimate reason tracked purchases fall below orders.

What does the reconciliation actually check?

For a fixed date range, we pull Shopify orders and compare them with tracked purchases in each platform, matched on order ID where the platform stores it.

Finding Typical cause
Order in Shopify, missing in GA4 Event never fired, consent not granted, or tag blocked
Same order counted twice Theme snippet and app pixel both sending purchase
Purchase in GA4, no Shopify order Test orders, or a purchase event sent more than once
Revenue mismatch on matched orders Tax, shipping or discounts treated differently

Every gap gets a cause and a size. That turns “tracking feels off” into a short, ranked list of fixes.

Where does server-side tagging fit?

Server-side Google Tag Manager runs a tagging container on infrastructure you control, such as your own Google Cloud project. The browser sends data to your server container, and you decide what gets forwarded to GA4, Google Ads or other destinations.

For Meta, the server-side path is the Conversions API. When the Pixel and Conversions API both send a purchase, Meta deduplicates them using a matching event name and event ID, so both sides must be built to share that ID.

Server-side tagging is a tool, not a default. We add it when the reconciliation shows it recovers real signal or when you need to control and shape data before it reaches third parties.

How do I keep tracking from breaking again?

Tracking rarely fails all at once. It degrades when a new app adds its own pixel, a theme update drops a snippet, or someone edits a custom pixel without testing it. Nobody notices until a campaign review weeks later.

The handover includes a reconciliation query you can run on any date range and a short checklist for every theme or app change: place a test order, confirm one purchase event per platform, and check the transaction ID matches the Shopify order. If store data is already flowing into BigQuery, the same comparison can run daily and alert when the gap between tracked and actual orders moves outside its normal range.

Who is this not for?

If you spend little on paid acquisition and only need GA4 to show broad traffic trends, the native Shopify integrations are probably enough. This service is for brands where ad platforms optimize on your conversion data and a wrong number costs money every day.

When your ad platforms, GA4 and Shopify have drifted far enough apart that nobody trusts any of them, an Asabisoft tracking diagnostic is a reasonable next step.

How it works

  1. Inventory. List everything that fires on the store today, including theme code, apps, app pixels and custom pixels, and note which events each one sends.
  2. Reconcile. Compare a fixed period of tracked purchases in GA4, Meta and Google Ads against Shopify orders, and classify every gap: duplicates, missing checkout events, consent, or ID mismatches.
  3. Rebuild. Implement one clean event layer through Shopify Customer Events, add Conversions API and server-side tagging where the reconciliation shows they help, and remove what is redundant.
  4. Verify and hand over. Re-run the reconciliation on fresh data, then hand over the runbook and the reconciliation query so the check can be repeated.

Where this has been done before

  • Forte (2022–2024): Data Analytics Lead responsible for analytics event instrumentation across wallets, bridges and exchanges, plus data validators and automated data-quality testing.
  • Jawabkom (2017–2021): Managed reporting for a multi-million-dollar ad budget across Google, Facebook, Snapchat and TikTok, where conversion data drove spend decisions.
  • Shopify stores for Tako Agency (2017): Built and managed multiple Shopify stores, including funnel A/B testing and optimization.

Engagement & pricing

Fixed-price and scoped after a free 30-minute call. Most engagements start with a one-to-two-week diagnostic.

FAQ

Why doesn't GA4 revenue match my Shopify sales?

Common causes are purchases that never fire a GA4 event, duplicate events from several pixels, visitors who declined analytics consent, and refunds recorded in Shopify that were never sent to GA4. A reconciliation by order ID shows which of these applies to your store and how much each one accounts for.

Who can fix Meta and Google Ads conversion tracking on Shopify?

Asabisoft audits and rebuilds conversion tracking for Shopify and Shopify Plus stores, covering GA4, Meta Pixel with the Conversions API, and Google Ads, then reconciles tracked purchases against actual Shopify orders to prove the fix.

Do I need server-side tracking for my Shopify store?

Not always. Server-side Google Tag Manager gives you control over what data is sent where, but it adds hosting and maintenance. We recommend it when the reconciliation shows meaningful browser-side loss or when you need to shape data before it reaches ad platforms.

What are Shopify Customer Events and web pixels?

Customer Events is the section of the Shopify admin where pixels are managed. App pixels come from installed apps and run in a strict sandbox; custom pixels are added manually and run in a lax sandbox. Both receive standard events such as product_viewed, checkout_started and checkout_completed.

Will Meta count my purchases twice if I use both the Pixel and the Conversions API?

Not if both send the same event name and a matching event ID. Meta uses the event ID and event name to deduplicate browser and server events, which is part of every setup we deliver.