Often you want to compare the data from different web analytics tools together, for example comparing Matomo reports with Google Analytics reports and find whether they are similar or whether one is tracking more or less data than the other.

When you compare compare Google Analytics reports and metrics to the equivalent in Matomo, you should expect both Matomo and Google Analytics reports to be very similar and no more than 5% or 10% different for numbers of visits/sessions, pageviews, etc. (Except if your Google Analytics reports are sampled while Matomo is always accurate and does not sample data).

When you compare Matomo reports to another web analytics tool, there are several aspects to consider that could explain why numbers are different between the different analytics solutions. Please find the list below:

  • DoNotTrack support: Matomo (Piwik) by default respects the DoNotTrack setting. If visitors have selected not to be tracked in their browser, Matomo will not collect information about them. If you suspect many of your users are using DoNotTrack, you can disable it in the Privacy settings. This features works in the JavaScript tracker. When importing logs all visitors and actions will be tracked as DoNotTrack is not available in server log files.
  • Bots and Spiders tracking: By default Matomo uses a Javascript tracker which automatically only records “real” human activity and excludes all bot activity. This leads to more accurate reports. If you compare Matomo reports to Google Analytics and notice a large discrepancies (over 5%) you may try to disable bot tracking in GA. To do this in Google Analytics go to Admin settings and navigate to View Settings under the View panel. Find the checkbox “Exclude traffic from known bots and spiders” and select it. Then both Matomo and Google Analytics will exclude all bot traffic. (PS: Matomo can be configured to enable tracking of search engine bots).
  • Presence of Javascript code tag: when comparing Javascript-based statistics (eg. number of unique visitors), you have to make sure that both javascript tags are present on all pages you want to track. If you’re seeing some pages that are tracked in one tool but not the other, maybe you have forgotten to add one of the JavaScript tracking codes on some of your pages.
  • Position of Javascript code tag: it is recommended to put the Matomo tracking code at the end of your </head> tag in your pages.
  • Higher “Direct Entry” visits in Matomo When tracking the acquisition source of visitors, Google Analytics stores and uses campaign data for up to 6 months and attributes subsequent direct entry visits to the original campaign acquisition source. (So Google Analytics will report a higher number of visits attributed to “Campaigns” because these visits used a campaign in the previous 6 months.)
    Whereas Matomo tracks any new “Direct Entry” visits as direct entries and does not attribute these new “Direct Entry” visits to their original acquisition source. With Matomo’s Multi Channel Conversion Attribution plugin, you can apply different attribution models to your goal conversions.
  • Identifying Visitors: Matomo uses a javascript based tracker, and keeps count of unique visitors using a first party uuid cookie, as well as a visitor recognition heuristics algorithm (based on IP address and user settings: learn more). Some other tools only use cookies, only use IP, or a combination: we found that the way Matomo tracks visitors gives us really good accuracy and avoids creating artificial visits.
  • Tracking method: Other softwares which are using server logs) for data analytics (such as AWStats, Webalizer, Analog, or any custom server-side data collection script) would record all traffic, including search bots or spam bots. When your Matomo numbers are much smaller than your other tool, check that you are comparing Matomo with a similar web analytics tool which can also exclude all bots and spam traffic like Matomo does.
  • Hits vs Visits: Log analyzers softwares will typically report “hits”. Hits generally count all http requests to your websites: pages, images, css, javascript files, etc. Matomo reports page views, unique visitors, visits, etc. which are expected to be much less than the number of hits.
  • Record loaded page: when the Matomo javascript code is located at the end of the page, Matomo will only record page views for page that are finished loading. Log Analyzers would also record page requests that have been “cancelled”, eg. when the user hits the Back button before the page is displayed.
  • IP addresses exclusions: when you have configured Matomo (or Google Analytics) to ignore users with specific IP addresses, make sure to setup the same IP exclusion rules across both tools.
  • Matomo does not sample the data: so you get to see 100% of the visits that were tracked in the reports. Other tools like Google Analytics will sometimes sample reports including segments.
  • Matomo prevented tracking spam: With our Tracking Spam Prevention plugin, Matomo can be configured to automatically ban IPs after tracking a specified number of actions in a visit. It can also be configured to block or only allow requests from certain countries, block Cloud IPs, Headless browsers or server side libraries. If you have this configured on your Matomo instance, it will cause the reports to differ.
  • Matomo tracks site searches automatically: As explained in our guide for setting up Site Search tracking, Matomo can automatically track internal site searches for your websites. This can result in some differences in the Pageviews between GA and Matomo as Site Searches are tracked as a unique action in Matomo and do no contribute to the total “Pageview” count.
  • Incorrectly configured web server: If the web server used for the Matomo application is incorrectly configured or is configured with very restrictive settings, this can lead to some tracking requests not being recorded by Matomo. For example, HTTP 414 (URI Too Long) or HTTP 413 (Request Entity Too Large) can both be encountered if the web server is too restrictive in its configuration. Checking the web server error logs or access logs for any responses other than HTTP 200 (Ok) and HTTP 204 (No Content) for the matomo.php or piwik.php endpoint can help identify this issue.

Conservative counting is definitely best – it makes your statistics more realistic on what you are trying to measure. Most analytics packages are used to measure relative upswings, we recommend using the same tool for all measurements and relative comparisons.

See also the FAQs:

If you migrate from Google Analytics to using Matomo, you can import your historical Google Analytics data and reports, see our Import Google Analytics data user guide to get started.

You may also be interested to see how Matomo compares in general to Google Analytics, HotJar and WP-Statistics.