When you add the Matomo Analytics JavaScript Tracker to your pages, there should be very little impact to your visitors experience.

Here is what happens when a visitor loads a webpage that is tracked with the Matomo JS Tracker:

  • The matomo.js file is downloaded to the users browser. The file weighs around 19Kb gzipped by default so it will be downloaded in less than 1 second and will often be downloaded in less than 200 milliseconds. (if you use many plugins and premium features the matomo.js tracker file may grow to ~ 50Kb gzipped which would usually take 1 second or less to download).
  • The file will be cached in the browser, so on subsequent requests users won’t have to download it again. The file is only downloaded in the first pageview of the user.
  • If your visitors come from all over the world, we recommend to use a CDN to serve the JavaScript Tracker file. When using a CDN the download time would be usually 100ms or less.
  • Once loaded in the browser, the JS file will be parsed and executed which should usually take less than 50 milliseconds.
  • The request is then sent asynchronously to the Matomo Tracking API.

How to make sure Matomo does not slow down the page loads

The Matomo JS tracker is loaded asynchronously and deferred, but it still does delay the onload event of your page. Depending on the performance of your Matomo, how fast your website loads, how your website’s resources are embedded and other factors, you may want to read this article and learn how to to embed the Matomo tracking code for faster website performance.

additional steps if you use Matomo On-Premise

If you use Matomo On-Premise, follow these steps: Cache piwik.js, Enable GZIP, Preload DNS, Preload resource to boost the loading of your Matomo JavaScript tracking file. (if you are using Matomo Cloud, these are already in place).