Understanding Data Differences between Google Analytics and MoEngage

When comparing data between two analytics platforms, it's essential to understand how the number of users and the metrics are calculated. Most of the analytics platforms have their way of creating, identifying, and merging the user. This article explains why there could be data differences between MoEngage and Google Analytics and lists the common reasons for the differences and possible ways to identify the issues.

For most of our clients, Google Analytics (GA) and MoEngage numbers match, and the difference noticed is marginal(less than 2%). User creation and user identification are the same between MoEngage and GA. Both platforms create a user identifier in their system when a new user visits the App/Website. Both identify users based on the ID provided by the client.

User creation and merging in GA and MoEngage

Action MoEngage Google Analytics
Session Unification / User Merging MoEngage provides universal user merging; all the sessions done by the user are merged into the identified user. For more information, refer to User Merging. GA provides session unification/merging. All events/hits done in the session are assigned to the identified user. Previous sessions are not assigned to identified users. For more information, refer to Session Unification.
User Creation after Logout After logout, if a user visits the App/Site again, MoEngage creates a new user for the device/browser as MoEngage does not know if it is the same user visiting again.
(If the user logs in again, they are merged with the identified user.)
After logout, if the user visits the App/Site again, Google Analytics doesn’t create a new user. GA continues with the same user created when the user visited the App/Site for the first time.

Common reasons for discrepancies in analytics numbers

The following are the common reasons for differences in the analytics numbers between Google Analytics and MoEngage.

      • Bot Traffic - Bot traffic comes to your website from search engine crawlers, price-tracing websites, and others trackers. If this traffic is not blocked from MoEngage tracking, it creates unnecessary extra users.
      • Tracking in a subdomain - For login or checkout flow, sometimes users are directed to a different domain/subdomain. This may lead to new user creation on that page if the integrations are not handled properly.
      • Forced logout - If users are forced to log out due to any reason, such as an app update, this would result in having many extra users in MoEngage. The logout creates a new user (if the user visits the app/site). If logout is forced in bulk from the client system, many unnecessary users are created in the system, and any user who does not log in again will have two identities in MoEngage.
      • User merging - If user identification is not implemented properly at MoEngage or GA’s end, the user count may be inflated.

There could be other reasons than those mentioned above, and they are:

      • All platforms (Android, iOS, Web) are not integrated with MoEngage/GA.
      • Duplicate traffic flowing into MoEngage/GA from SDKs Apps vs. CDPs or from Native Apps vs. Web Apps.
      • The Timezone setting on both of the platforms is set for different times.

Identifying the issue

If there are differences in the data, a basic user analysis and metric comparison between MoEngage and GA can provide insight into why there is a difference. We recommend that you do the following in case of data discrepancies:

      • Compare the session count, session duration, and average session per user between MoEngage and GA. If the difference is very high, there could be an integration issue.
      • Compare the count of unique users across the platforms (Android, iOS, Web) to identify if the issue is with one of the platforms.
      • Compare the count of unique users across the App Versions, OS Versions, and SDK versions to identify if the issue is with a specific App version, OS, or SDK version.
      • Verify if there is a higher number of logout performed in MoEngage data. This could create unnecessary users.
      • Verify the count of identified vs. non-identified users in MoEngage to check if the user identification has been implemented properly. Also, verify if user merging is happening at MoEngage. If user merging isn't happening, extra users will remain in the system.
      • Compare traffic coming from different IP addresses and sources. Check further if you see if many users are created from specific IPs or the specific source
      • Take a custom event and compare the counts between GA and MoEngage. If the event count is close (less than 2% difference) and the user count difference is huge, there is a user identification and merging issue.
Was this article helpful?
0 out of 1 found this helpful

How can we improve this article?