Minimizing data discrepancies between Google Analytics and Piwik PRO

In this thread we discuss:

  • What is causing the discrepancies in reports between GA and Piwik PRO?
  • How to configure the platform to get the common reports and metrics such as sessions, page views, conversions, etc. as close to GA as possible?
  • How close you can get and what level of discrepancies is acceptable?

Google Analytics and Piwik PRO use similar tracking methodologies and you can align them to achieve similar results. A lot will depend on the specific configuration and implementation of tracking on your website.

Here is a list of things you can look into to explain differences in some of the reports or optimize setup to minimize them.

1. Tracking code implementation.
Make sure that the tracking code is launched on all pages and is in the embeded in the same place as code of Google Analytics. The best results will be achieved if both Piwik PRO & Google Analytics codes are fired by Piwik PRO tag manager, but if not feasible, at least make sure that Piwik PRO tag is placed directly into the website just after <body> tag and it’s rendered on every page you plan to track.

More on issues related to tracking can be found in this thread: My Piwik PRO is not tracking any data - #3 by

2. Consent configuration.
Depending on the consent configuration, you may achieve different outcomes in terms of tracking. Make sure you align the configuration for both Piwik PRO and Google Analytics. In case you are tracking anonymous visits in Piwik PRO (it’s a default configuration), and only opt-in with Google Analytics, you can apply a segment to filter out anonymous visits in Piwik PRO to compare the data.

Learn more about Tracking options in Piwik PRO.

3. Bots and blocked traffic.
Check if you did not configure blacklisting of certain IP addresses or user agents in “Blacklisting” section of:

  • global settings (Menu → Administration → Platform → Global website settings)
  • website settings (Menu → Administration → Websites & apps → your website)

4. Time on page and session length discrepancy.
These two metrics are particularly susceptible to tracking setup. By default session length is calculated as a time between first and last page view and time on page as a time between current and next page viewed. You can enable so called hearbeat to periodically update time on page (check out this article to learn how to do it).

Additionally, the default maximum time between two events in the session is set to 30 minutes (after 30 minutes of inactivity, a new session will be created) in both GA and Piwik PRO. It is customizable parameter, so make sure you use the same value in both platforms.

5. Channel grouping.
Google Analytics and Piwik PRO use slightly different channel grouping and may differ when it comes to detection of certain search engines or social sites.

You can always set up your Custom channel grouping either to adjust the default Piwik PRO channels or to migrate your custom channel grouping configuration from Google Analytics.

6. Ecommerce tracking.
To track accurately ecommerce regardless of your ecommerce platform check this thread for the implementation guide and some tips & tricks.

7. Data layer conflicts.
Piwik PRO supports the same default data layer that Google Analytics does. This comes very handy when you are moving from GA to Piwik PRO, however if you would like Piwik PRO to use a different data layer, there is a way to do it (see details in our data layer documentation for developers).

Check out also this article for more information on causes of data discrepancies.