Why Is Google Analytics not tracking all ecommerce transactions & revenue?

Oct 31, 2019

At some point it happens.

You notice the ecommerce revenue in Google Analytics doesn't match the sales in your online store's accounting system. From there it's natural to wonder ...is something wrong? ...is there anything I can or should do? ...and do other people have this issue?

You're not alone. This is a common issue, whether you are using Shopify, BigCommerce, nopCommerce, or another shopping platform. That's because, as we'll soon see, most of the issues have to do with the Google Analytics side.

Why Investigate This Issue?

You have two main objectives when looking into this issue

Before we get started, here's what's common for the analytics vs accounting sales gap.

Let's find out why below.

Causes: Google Analytics Not Tracking Transactions

Google Analytics is blocked - certain ad blocking software will also block tracking scripts such as Google Analytics. Not every ad blocker is this aggressive, but it is common enough to throw off the transactions and revenue numbers for most stores.

Google Analytics fails to load - this could happen when the analytics code is still waiting to load and the customer quickly closes their browser. You can try to minimize this by using the latest code and not having it low on the page.

Javascript Errors - this could include conflicts with other scripts, or unexpected characters that find their way into your script.

Filtered View Errors - this happens when your filters unintentionally exclude valid transactions. To make sure this isn't the case, see if there are different numbers in your “raw” unfiltered view. (This assume you have both a filtered view and an unfiltered view. The commonly recommended “best practice” is to have least these three views: Filtered, Raw and Test.)

Not Passing All Fields - make sure you are passing product revenue + tax + shipping.

Data Sampling - this is only an issue for large sites, where Google will not report every detail, instead returning a sample of the data. Depending on the size of your store, you might be able to select a shorter timeframe and avoid getting sampled data.

Session Overload - this can happen if your session has too many interactions, or if too many products are included, overloading the amount of data Google Analytics tracks.

Offline Sales - make sure you are comparing apples-to-apples and your accounting numbers don't include any offline-only transactions such as phone sales that are unknowable by GA.

Timing Differences - even if both systems have all the same transactions, it might not look like it depending on your timeframe. This could include delays in Google Analytics reporting, or time zone differences between Google Analytics and your accounting system.

Causes: Google Analytics Overstating Revenue

Refunds, Cancellations, etc. - if customers are having their orders refunded or cancelled and that information isn't making its way to Google Analytics, naturally things will be out of balance. To compare “apples to apples”, you would need to add back refunds, cancellations etc to the revenue from your accounting system.

Test Orders - likewise, if you or your developers are making test orders that find their way into Google Analytics, you will need to account for this discrepancy.

Duplicate Transactions - check to see if any of sequential Google Analytics transactions have the exact same revenue. If so, look for further signs of order duplication.

Timing Differences - this factor was mentioned in the previous list, but it could go either way.

How To Reconcile Analytics vs. Accounting

To get into specifics of why your totals are off, follow these steps:

Export sales from both your ecommerce system and Google Analytics, one transaction per line, into a spreadsheet. (Plus some transactions before & after the cutoff date, to help spot timing differences.)

To see individual transactions in Google Analytics, make a custom report as follows:
Dimensions: Date, Hour, Minute, Transaction ID | Metrics: Revenue | Type: Flat Table

Line up the two sets of transaction data next to each other, and sort both by date. Then move the data so that matching transactions are on the same line, and unmatched transactions will easily stand out.

Investigate the unmatched transactions against the possible causes listed above, while also keeping an eye out for overall patterns.


VIVIDSITES is an "A Team" digital agency that designs, develops & markets ecommerce websites across a variety of platforms. If you need help maintaining and marketing your store, contact us to talk to an ecommerce specialist.


Get In Touch