Matomo will automatically try to track performance data for each page view when using the Matomo JavaScript tracker. The reports contain the following metrics:

  • Network time (connectEnd – fetchStart)
    How long it takes to connect to server. This includes the time needed to lookup DNS and establish a TCP connection. This value might be 0 after the first request to a domain as the browser might cache the connection.
  • Server time (responseStart – requestStart)
    How long it takes the server to generate page. This is the time between the server receiving the request and start serving the response.
  • Transfer time (responseEnd – responseStart)
    How long it takes the browser to download the response from the server.
  • DOM Processing time (domInteractive – domLoading)
    How long the browser spends loading the webpage until the user can start interacting with it.
  • DOM Interactive time (domComplete – domInteractive)
    How long it takes for the browser to load images/videos and execute any Javascript code listening for the DOMContentLoaded event.
  • On load time (loadEventEnd – loadEventStart)
    How long it takes the browser to execute Javascript code waiting for the window.load event (when the DOM was completely rendered).
  • Page load time
    How long it takes to load the whole page, from requesting a page until it is fully rendered within the browser. This is the sum of all previous metrics.

An overview of the average values of those metrics across all pages can be found on the “Behaviour -> Performance” report.

Performance metrics for each page can be found on the same page.

When moving the mouse over a specific row there is a row action available to open the following page performance report for a single page:

This feature requires Matomo 4 or newer.