In the world of increasing online competition, businesses rely on data to understand customers better and make informed decisions so as to remain relevant. Inaccurate data can result in bad strategies and poor business performance, making it much more difficult to meet customer expectations.
Many online marketers opt for using Google Analytics, one of the most popular analytics tools in 2020 (Hotjar 2020), to measure their website performance and better capture the visitor profile. But in Google Analytics, it is not uncommon to encounter data discrepancies. This can make even the most tech-savvy marketers sweat since that could mean data inaccuracy. So let’s dig deep into the 4 most common analytics data discrepancy issues and go through a step-by-step process of how to solve them.
However…
Before rolling up your sleeves to start solving the issue, make sure you verify if there are actually data discrepancies.
- Are you comparing apples to apples? As you examine your data to spot discrepancies, make sure you use the same metrics, not those that are just similar (a good example of similar-but-not-the-same metrics would be visit vs. user vs. session)
- Do you know which tools you’re using to measure those metrics? Different tools may measure the same metrics differently, so before descending into a panic mode, understand clearly what you’re working with.
- Is your data set comparable, relevant and large enough? The last 30-day data is your safe bet. If you need to, only go back by 3 months maximum. Don’t go way back into the past as the setup might have changed several times, affecting your data.
1. Duplicate Transactions
It’s important to ensure your transaction figures aren’t being inflated in any way.
What happens
Google Analytics reports the same transaction two or more times. This impacts all ecommerce figures like revenue, quantity, product sold, etc. Here’s an example of duplicate transactions:
Why it happens
Due to the multitude of ways you can implement transaction tracking, this can occur in the following ways:
Google Tag Manager (GTM)
GTM can be used to send ecommerce data to GA using the dataLayer. To ensure this can be done, the GA tag needs to have the option Enable Enhanced Ecommerce Features checked along with Use data layer.
In our experience, this usually gets set in a Google Analytics Settings variable which you use to configure all your GA tags. So, this will also be used on non ecommerce related tags like events.
So if you trigger an non ecommerce related tag after triggering an ecommerce interaction like a purchase, it will send that data again!
Duplicate GA tags
If you aren’t using a tag manager, it can be tricky to manage scripts just by adding them to the website header code. Without any sort of organising platform, you could inadvertently install another GA tag again, which in turn will cause actions to be run twice.
Reloading the order confirmation page
The transaction hit gets sent when the order confirmation page has been seen by the user. It’s possible for the user to reload the page, retriggering the hit. This could also be a website feature allowing them to view the order they placed at a later date.
How to fix it
Google Tag Manager (GTM)
If you’re using an Google Analytics Settings variable, ensure that the option Enable Enhanced Ecommerce Features is unchecked. Then go to each tag that needs to send ecommerce data and turn on that option. This way you’ve specified that only certain tags can send ecommerce data, preventing any duplicates from occurring.
If you aren’t using Google Analytics Settings, you’ll need to manually update each tag. Ensure that only the ecommerce tags that need to send ecommerce data have the option checked. Check all the other non ecommerce tags to ensure they don’t send ecommerce data.
For extra peace of mind, you can even set up a checker to block extra transaction hits with the same ID if they were to occur. Simo Ahava has a great article covering how to do this.
Duplicate GA tags
Do a deep dive into the way GA integration is set up. Here’s the process:
- See how GA is currently installed. A telling sign that you have a duplicate script is when a pageview fires twice with the same ID. Check EVERY page.
- If you aren’t using a recommended approach such as ecommerce platform integration or GTM, set that up.
- Test the new setup to ensure everything is fine.
Reloading the order confirmation page
Using a developer, ensure the order confirmation page expires after 1 load. Reloading the page should then redirect the user to another page. Going directly to the order confirmation using the URL should result in the same thing.
2. Missing Transactions
It’s important to ensure synchronisation between GA and your platform. While it’s impossible to be 100% synced, you should ensure you aren’t missing a significant amount of transactions.
What happens
An order is recorded by the ecommerce platform but it isn’t recorded in GA.
Why it happens
Code errors
In order to send a transaction hit, the backend of your site needs to generate code based on the cart. Sometimes a combination of different factors can cause an error (e.g., sample products, kit products).
Payment Gateways
Most payment gateways need something called a redirect uri. If this isn’t provided, the payment gateway can’t redirect the user back to the original site.
GA Blockers
Due to the rise of trackers, developers and organisations have started to offer ways to block GA. This lets the user control what information they provide to the website. The downside is you won’t be able to measure these users for anything GA related.
The best non-profit example is Firefox, which has something called Enhanced Tracking Protection. If you turn on the strict option, it will block GA.
There are also many browser extensions that allow you to block GA. Google themselves offer an opt-out extension to prevent tracking, which is nice.
How to fix it
Code errors
- Leverage an existing website test plan or create one. Ensure you cover many scenarios (e.g., single product, multiple products, product with sample etc.)
- Perform these scenarios and see if they send a transaction hit to GA.
- If you do find errors, investigate them using the console error log.
- Create the fix and retest.
Payment Gateways
Ensure you have set up the gateway correctly and add redirect URI if possible. Sometimes you might not be able to change this since it works with your ecommerce platform natively. Go through the test plan adding the payment gateway as another variable
GA Blockers
Since this is done by the user, you unfortunately can’t do anything about this. Fortunately, in Australia, Firefox only accounts for 3.74% of the browser market share in the past year (June 2019 to June 2020). So while you won’t see any GA hits from those you have the strict Enhanced Tracking Protection, the impact will be minimal.
3. Different marketing and analytics tools reporting different numbers
What happens
Your marketing tools such as Google Adwords, Bing and Facebook report completely different numbers, especially conversions from Google Analytics.
Why it happens
- The marketing tools you’re using may be tracking conversions differently from Google Analytics and may be using different attribution models.
What is attribution when it comes to conversions? What are popular attribution models?
When you’re running marketing campaigns, it’s important to know which channel works and brings in conversions. Attribution is about assigning the clicks and conversions to the source/channel that generates them.
However, as users typically won’t convert within their first visits and may have multiple interactions with the brand before making a purchase or signing up, we need to adopt a suitable attribution model to help determine how to assign the conversion to the right channel.
Here’s an example of how a conversion happens:
A user visited the site through a Facebook ad, left and then later came back through a Google Ad to make a purchase. Which channel should get the credit for the sale?
Let’s examine this example under some popular attribution models:
- First touch. This model attributes the sale or the conversion to the channel that first brings the user to the site, or the first touchpoint. In this case, Facebook will get 100% of the credit.
- Last touch. This model assigns the conversion to the last touchpoint, which is Google Ads in this case.
- Linear. Channels that help generate the conversion will share the equal credit. Facebook and Google will each get 50% credit for the sale.
- Time decay. This attribution model is similar to the Linear model except that the touchpoint that is closest to the sale gets the most of the credit. For example, it could be 75% for Google Ads and 25% for Facebook.
Different marketing tools may use different attribution models. Facebook assigns the conversion to the date someone clicks on the ad, not the date of actual conversion. This applies to Google Ads as well. Bing, on the other hand, attributes conversions to the date of actual conversion.
To complicate the issue further, when setting up conversions, you’re required to specify the conversion window for the tools you use (how long a conversion can be attributed after an interaction like clicking on an ad takes place). Analytics will record the conversion that takes place after the specified conversion window, but your marketing tool such as Facebook or Google Ads will not.
- Other discrepancies between Google Ads and Google Analytics
It’s not unusual to spot discrepancies between Google Ads and Google Analytics. Some common reasons for the discrepancies are:
- Your ad accounts weren’t linked during the periods that you examined
- There are multiple Google Ads account linked to the same Google Analytics view, which complicates the information in the reports
- Data from your Analytics report have been filtered
- Google Ads data is imported into Analytics at the time you view your report, so data is current as of the most recent hour.
How to fix it
You can use Google Analytics as one source of truth. By setting up goals in Google Analytics to measure conversions from these channels, you’ll be able to get reliable stats to evaluate your marketing performance.
4. Conversions tracked with your A/B testing tools aren’t consistent with what you see in Google Analytics
What happens
Your AB testing tool reports a different number of conversions from Google Analytics, making it hard to determine when to stop the experiment.
Why it happens
Tools such as Convert, VWO or Optimizely calculate conversions differently. While Google Analytics tracks one conversion per Goal per user per session, most AB testing tools will track all conversions.
Specifically, with Google Optimize, data will be processed through Google Analytics first before getting pushed to Optimize. Therefore, you would see more sessions and potentially more conversions in Google Analytics than Google Optimize.
How to fix it
Similarly, you should use Google Analytics as one source of truth when it comes to your experiment data, especially if GA is the analytics tool you rely on for managing your web/app performance. This way, you can be confident that the goals you’re measuring daily align with what you’re testing with the experiment.
Most of the AB testing tools can be integrated with Google Analytics, allowing experiment data to flow through from your testing platform to Analytics. Additional events such as scroll depth or click interaction can be set up in GA as well to provide you more data on the user experience with the test. This is going to be particularly useful as you analyse the test result and draw insights or conclusions on the test performance.