Keeping your website fast is essential in providing a great user experience and in ensuring both higher engagement and higher conversion rates.
Piwik automatically keeps track of how fast your website delivers content to your visitors and will display this information to you for each of your webpages.
Using this information you can benchmark your website and webserver, and keep an eye out for performance regressions.
In the Visitors > Overview page, Piwik displays the average generation time for every page in your website:
This value represents the average amount of time it takes to load a page in your website and includes both the time it takes for your webserver to generate the page, and the time it takes for your visitor to download it.
You can use this value to quickly gauge the speed of your website.
If you need more detail, you can view the average generation time for individual pages on the Actions > Pages and Actions > Page titles Piwik pages:
The last column displays the average amount of time it takes to generate the page the row represents. Like the overall average generation time above, this value includes both the time it takes for your webserver to generate the page, and the time it takes for your visitor to download it.
We recommend you try and keep the ‘Avg. generation time’ of all your webpages below 1.5 seconds.
Because Piwik stores the generation time for every action a visitor makes, you can compare your website’s performance today with it’s performance in the past.
Clicking on the Row Evolution icon will display a historical view of the ‘Avg. Generation time’ for a single page:
If you want to see how your overall website speed changes over time, click on the smaller graph in Visitors > Overview page:
This will plot the data in the small graph on the larger graph at the top of the page:
Comparing page load time of various subdomains and pages
The Row Evolution feature can also be used to compare the generation time of various pages and derive insights on the performance of different parts of your website.
Compare multiple rows in a report that displays the average generation time to see something like this:
If you use the Tracking API directly you can specify the page generation time (in milliseconds) in the gt_ms query parameter.
If you use the Server Log Import toolkit and your logs contain the page load time, you can specify a custom log format containing a regex group named generation_time_milli to import the data into Piwik.