Shopify vs Google Analytics data discrepancies

Updated on 2024-06-11

Are you seeing data discrepancies between Shopify and Google Analytics?

Google Analytics (GA4) and Shopify Analytics don’t always get along so well, and there's quite a few reasons that the reporting may differ.

Of course, not all inconsistencies between Shopify and Google Analytics can be resolved because Shopify and Google Analytics are using different tracking mechanisms.

So here are the most common differences in reporting.

tip:

By using the Littledata app for Google Analytics you will get accurate revenue tracking for your Shopify store.

Traffic source

One of Google Analytics' primary goals is to help understand where traffic is coming from.

Shopify also offers this functionality in theory, but in practice, a simple look at their "Sessions by traffic source" report shows they're not doing a great job at deciphering where each session came from. It seems like they don't care much about it :(

Most Shopify store owners are frustrated by this report, but luckily GA4 does a very good job resolving the traffic sources. We would trust the GA4 traffic sources every time.

Session count

Perhaps the most confusing of all differences comes up when you compare number of sessions in Shopify vs GA4.

A typical Shopify session starts when a user lands on the website - hits are sent to GA4 client-side (from their browser). Once the user adds a product to cart and goes to checkout everything moves to server-side (Shopify server). Due to privacy reasons Shopify server is preventing user's browser to send any data to third party tools (GA4 included) so this leaves a huge gap in data.


However, tracking of that transition is handled smoothly by Littledata - the client-side session is identified and all subsequent server-side hits are being assigned to the proper session by using several backend techniques.
The goal of this "stitching" is that GA4 receives "sessionized" data.

Simply put, Littledata makes sure that all hits from a single session coming from both:

a) user's browser
b) Shopify server


are being tied properly into one session (which they essentially are, in the reallife).


The process of sessionization is probably NOT happening in Shopify analytics meaning that all the server-side events (starting from add to cart onwards) create additional sessions, ballooning the session count along the way. This problem gets solved by using Littledata GA4 integration.

Timezone and currency mismatch

You might have noticed that when you compared the same date in Shopify and GA4, some orders are missing, and the revenue seems to be off.

The first reason for this is data latency. Google Analytics might process the order a few hours later, so it is recommended to check a time period ending at least 24 hours ago.

Then there might be a timezone difference. Is the Shopify store and GA4 property reporting on the same timezone?

And then there are currency differences. Any other currency in GA4 besides US dollars causes currency re-calculations using the prior day's exchange rate to happen. This can cause the GA4 gross revenue to differ from the Shopify data especially in case of increased daily currency volatility.

AdBlockers/ VPNs/ Certain browsers ( iOS 17, Safari or Brave)

One of the troublemakers here is the Intelligent Tracking Prevention (ITP) that started with iOS 14.5 store owners need users' permissions to track their data. If the users don’t give permission, Littledata won’t be able to track any of their actions client side. You can read more here.

  • Safari is one of the 'special' browsers, because it shortens the life of a cookie and makes tracking difficult as well as Brave which allows users to block all tracking, unless they expressly want to be tracked on a website.
  • Littledata's server side solution will help bypass some of these limitations.

GDPR and CCPA

It is required that merchants ask users for their consent before the tracking starts. This has become the most common reason for seeing discrepancies between Shopify and GA, since the user journey cannot be tracked. Unfortunately, this is the case where the discrepancies cannot be fixed or prevented.

Littledata uses Shopify's Customer Privacy API to control tracking based on customer consent. Make sure you use consent apps that are compliant with SCPAPI.
Since March of 2024 Google is enforcing Consent mode V2 that affects stores in EEA - to find out more about it watch this video.

Page builders

A perfect integration with page builder apps such as Gempages, Shogun, etc, might seem easy to achieve, however, these page builders can be real disruptors if they're not configured properly. Whether you're using any of these tools or simply subdomains as Landing pages - make sure there's always a GA4 library loading on each page, if you're unsure just contact us and we'll help out!

Double Tracking

Having too many trackers on your website could be problematic too. Extra trackers might double data in Google Analytics, leading to discrepancies between the two platforms. This situation can be avoided by checking for duplicate trackers on the page or in Google Tag Manager.

GA4 data limits

Free version of GA4 can process up to 10 million events per query. Although it sounds like a lot, large Shopify stores easily hit that ceiling especially when analyzing longer time ranges (or comparing them!)
On top of that there is the problem with cardinality - too many unique dimension values i.e. table rows will cause havoc in the report by jamming completely unpredictable amount of data in the row called (others)

Customers are in a hurry

Occasionally, your customers might exit your website by closing a tab/window right after completing a purchase, not staying long enough for an event to be fully loaded. As a result, this behavior could prevent the reporting of their interaction in Google Analytics.

Incomplete Migration to Google Analytics 4

Incomplete migration may result in partial or complete loss of historical data. This can happen if the tracking setup is not correctly transitioned from Universal Analytics to GA4, leading to gaps in data continuity and making year-over-year comparisons difficult.
With the Littledata app you have have GA4 tracking enabled in a matter of minutes. Give it a try today!

Booking apps

If your store uses an app that allows customers to book appointments (for your physical store, salon, etc.) via your Shopify website, these appointments might be sent as conversions (purchases) to your GA4 account, skewing your purchases and revenue. Usually, this type of conversions can easily be filtered out in a custom report to have a better overview on your actual web conversion data.