Firstly, we need to ensure that you have configured your google tag manager account to pass the ecommerce data layers to Google Analytics, if you are unsure please contact our support team who will be happy to assist and ensure configuration has been done correctly.
Next we need to be clear on data we expect to see - by default we do not build google analytics into client mobile apps - purely as this library causes them to double in size. However if you feel it is essential we will be more than happy to include the google analytics code, please reach out to the support team who can take this forward for you. It is also important to understand that only orders that are paid via online payment methods will be tracked in Google Analtics, if it is ordered online and paid over the phone it will not appear in your Google analytics data.
Before we dive deeper into the nitty gritty, I wanted to emphasize that blindly pursuing 100% accuracy between Google Analytics and your backend system that processes transactions will involve a great deal of time that which spent elsewhere will be much more productive. Why you ask? Google Analytics is not meant to be an accounting system with 100% precision. It is meant to show trends so that you could make data-informed decisions.
Missing even one transactions in the backend system, now that would be a disaster (don't worry, this can't happen)! The customer may not get his/her services/products, etc. If you miss several transactions in Google Analytics, that is not the end of the world. You can still identify the highest-converting traffic sources, best-performing products, etc. What would we consider an acceptable threshold, well that largely depends on your user base, we would say aim for at least 90%.
We of course ensure that ALL transaction data is captured in the back end system and that the very most that can be captured in analytics will be, but due to changes in the data privacy landscape more and more people are using ad blockers and browsers which explicitly block google tracking.
Understanding missing transactions in Google Analytics
In this article we will run through why you may have "missing" data in your analtyics graphs.
#1. Ad-blockers and other privacy-related browser extensions
There are many browser extensions with very strict configuration which can block first party trackers like Google analytics, most commonly we see Ghostery or Adblock.
RESULT: Missing transactions (and other information) in Google Analytics.
#2. Browsers with strict privacy settings
Some of your customers will configure their browser preferences very strictly and block trackers such as Google Analytics. Others may be using browsers such as Brave - which is focused on privacy and by default blocks most tracking tools by default.
RESULT: Missing transactions (and other information) in Google Analytics.
#3. Javascript has been disabled
Now this is very rare as most front end interaction is driven by Javascript and most websites just wont function without it being enabled but if your customer does have javascript disabled it will block google analtyics and google tag manager as both of these are purely javascript. (side note - with TillTech customers will need to enable javascript to begin checkout process)
RESULT: Missing transactions (and other information) in Google Analytics.
#4. A visitor did not opt-in in your cookie-consent banner
If you allow customers to reject your tracking cookies then these transactions will not be captured in your google analytics account.
RESULT: Missing transactions (and other information) in Google Analytics.
#5. Product limit reached in a single transaction
Google analytics limits a single transaction request at 8192 bytes (8 kilobytes). If your customer has purchased a lot of products in a single order (or you are tracking a lot of additional data about the products (custom dimensions), you might hit the limit of maximum request size.
RESULT: Missing transactions (and other information) in Google Analytics. (Side note: Extremely unlikely to hit this limit)
#6. Customer closes browser before "Thank You" page loads
Googles recommended flow is to send the transaction data on your thank you for purchasing page, as we mentioned before the data is sent via javascript which will take a very brief moment to load but customers could close the browser before this has entirely finished loading.
RESULT: Missing transactions (and other information) in Google Analytics.
#7. Reminder: there is a delay in GA
Transaction data in Google Analytics is NOT real time, high traffic sites will only refresh once per day and you will not see todays data until the following day. Officially google stipulates a data processing delay of 24-48 hours, sometimes data comes through in 15-30 minutes, sometimes we see other transactions from the same day taking almost 48 hours to come through. Usually we see data within 24 hours but it is not uncommon for data to be processed the following day.
RESULT: Delayed transactions (and other information) in Google Analytics.