A new analytics service seems to pop up every week. Whenever you’re adding a new third-party script to your site, it’s always important to consider what affects they might have on your site performance.
<!doctype html><htmllang="en-US"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><title>Analytics PSI Testing</title><metaname="description"content="Testing PSI scores with different web analytics services"></head><body><h1>Analytics PSI Testing</h1><p>Testing PSI scores with different web analytics services</p></body></html>
For each test, the analytics script provided by each service was added before the </body> tag.
The test site was ran through https://pagespeed.web.dev/ three different times, each using a unique query string (eg. /analyticsServiceName1, /analyticsServiceName2, /analyticsServiceName3). The data below shows the worst results that were reported from the three analyzations.
Fathom Analytics
Category
Score
Performance
100
Accessibility
100
Best Practices
100
SEO
100
Performance diagnostics
Avoid long main-thread tasks
URL
Start Time
Duration
/script.js (cdn.usefathom.com)
1,653 ms
60 ms
Pirsch Analytics
Category
Score
Performance
100
Accessibility
100
Best Practices
100
SEO
100
Performance diagnostics
Avoid long main-thread tasks
URL
Start Time
Duration
/pirsch.js (api.pirsch.io)
1,611 ms
91 ms
Plausible Analytics
Category
Score
Performance
100
Accessibility
100
Best Practices
100
SEO
100
Performance diagnostics
Avoid long main-thread tasks
URL
Start Time
Duration
/js/script.js (plausible.io)
1,633 ms
67 ms
Simple Analytics
Category
Score
Performance
94
Accessibility
100
Best Practices
100
SEO
100
Performance diagnostics
Reduce the impact of third-party code — Third-party code blocked the main thread for 300 ms
Third-Party
Transfer Size
Main-Thread Blocking Time
simpleanalyticscdn.com
5 KiB
296 ms
/latest.js (scripts.simpleanalyticscdn.com)
5 KiB
296 ms
Avoid long main-thread tasks
URL
Start Time
Duration
/latest.js (scripts.simpleanalyticscdn.com)
1,607 ms
349 ms
Umami
Category
Score
Performance
100
Accessibility
100
Best Practices
92
SEO
100
Performance diagnostics
Avoid long main-thread tasks
URL
Start Time
Duration
/script.js (analytics.umami.is)
1,605 ms
53 ms
Best practices
Browser errors were logged to the console
Source
Description
/api/send:1:0 (analytics.umami.is)
Failed to load resource: the server responded with a status of 401 (Unauthorized)
Conclusion
Overall this test wasn’t very exciting. Simple Analytics was the only service tested that resulted in a performance hit. With new Google Analytics alternatives regularly being built, make sure to look into how they might affect the performance of your website if you choose to implement one.