Lately, we have observed that when trying to match Google Analytics numbers with that of CRM, they don’t match and sometimes the discrepancy is of up to 20%! To get to the root of it, we started looking at possible reasons for these inaccuracies and we’ve listed the same here along with an array of solutions that can be implemented to get rid of them. So let’s roll!
First, let’s see what could be the possible reasons.
1. Conversion Tracking Moment
In many cases, there is a difference in the way ‘conversion’ is recorded in Google Analytics and in a CRM. For example, CRM records a transaction first and Google Analytics records a transaction from the client’s side when Ajax response is returned as success. What if the Ajax response never reached the client?
2. Google Analytics has Filters
Google Analytics configuration has several filters like an Internal IP filter. So, make sure that when you’re comparing numbers, you actually take into consideration this fact because your CRM tends to show you everything but Google Analytics only has your user’s filtered data.
3. Excuse me, it’s JavaScript!
Google Analytics works on plain vanilla JavaScript code. It is very easy for JavaScript code to be broken by other erroneous scripts on the page. In such cases, the Google Analytics tracker cannot initialize itself and data recording stops completely.
4. Google Analytics code at the bottom of the page
In this scenario, it may happen that before Google Analytics records the transaction, the user may close the browser or navigate to other pages, hence resulting in a transaction mismatch between CRM and Google Analytics.
5. Exceeding Quota Limits
Google Analytics has a pre-defined limit of 500 hits per session. If you exceed this limit early, before the user converts, it is possible that the transaction may not get recorded in Google Analytics but your CRM records a transaction in such cases.
6. Not all Browsers are the same!
Google Analytics works well in browsers like Chrome, Mozilla, IE, etc. However, there are some browsers and browser versions in which Google Analytics simply does not load or has errors while sending the data. Such browsers and browser versions are a potential risk to your transaction data.
7. Adblock
Pro versions of plugins like Ad-block, also block Google Analytics calls, which results in absolutely no data tracking and thus leads to a discrepancy.
8. Don’t track me
If your website or some browser is providing an option of not tracking the user, it is possible that some users opt for these options because they want their privacy to be maintained.
Well, we might not be able to reduce the pain of discrepancy completely, however, now you know how to explain the difference to your boss!
Below, I’ve jotted down some solutions that’ll help you tackle the above-mentioned issues:
- Create a segment in Google Analytics to identify if the 500 hits limit is exceeded or not. Use the condition: Include sessions where hits = 500 and use “User Explorer” report to analyze if this is the Quota Limit Exceeded case.
- Use Measurement Protocol or Amazon CloudFront (own server) to track browser, version, conversion id, user id, etc. when the user converts and find out browser patterns from these that are not tracking the conversions. Research and test your Google Analytics code on such browsers and browser versions.
- Implement JavaScript error tracking to know if there are cases where the Google Analytics object is not initialized and hence data is not tracked properly. Here’s a great article by Simo Ahava on this one.
- Put Google Analytics code into its recommended positions such as “<head>” so that transaction recording is quick and as soon as the page loads.
- Accept the data mismatch and use CRM as a conversion reporting tool. (The simplest method!) However, you’ll lose on the attributions part if users take more than one channel to convert for you.
Have you faced such discrepancy issues too? We’d love to know how you went about solving them. Do let us know by dropping a comment below.