When I was running WordPress, I was using Matomo (formerly Piwik) for analytics. This solution worked for me, but was more complicated than I needed, and I didn’t make use of 99% of the features. It also required PHP and MySQL/MariaDB, which were not installed on the new server hosting my Hugo-based blog. Because of this, I wanted to switch to a simpler analytics solution.
Self-hosted vs SaaS
I host my own Matomo instance. Your data never leaves my server.
I started to look for a self-hosted, privacy-respecting analytics solution. In the end, however, the technical cost of installing, maintaining, and securing a self-hosted solution wasn’t worth it (not to mention the technical debt of PHP plus MySQL), so I decided to switch to SaaS.
Hugo comes with built-in support for Google Analytics, which I obviously didn’t use. While I found quite a few quality analytics products, I only specifically looked at solutions that allowed self-hosting. My reasoning was: if they’re confident enough in their product to open-source it and allow me to host it, I’m confident enough to pay them for it.
|Software||Hosting type||Self-hosted version?||Stack||Pricing (lowest tier)|
|Google Analytics||SaaS||No||N/A||Free tier|
|Matomo||Self-hosted and SaaS||Yes||PHP and MySQL||Free (self-hosted) or $29/month (SaaS)|
|Fathom||Self-hosted and SaaS||Yes||Go and MySQL||Free (self-hosted) or $14/month (SaaS)|
|Plausible||Self-hosted and SaaS||Yes||Elixir and PostgreSQL||Free (self-hosted) or $6/month (SaaS)|
|GoatCounter||Self-hosted and SaaS||Yes||Go and PostgreSQL||Free (self-hosted) or Free (SaaS)|
|userTrack||Self-hosted and SaaS||Yes (but not open-source)||PHP and MySQL||$99 lifetime (self-hosted) or $25/month (SaaS)|
|Open Web Analytics||Self-hosted||Yes||PHP and MySQL||Free (self-hosted)|
|Umami||Self-hosted||Yes||Node and MySQL||Free (self-hosted)|
|Ackee||Self-hosted||Yes||Node and MongoDB||Free (self-hosted)|
In the end, I decided on Plausible analytics because:
- they are privacy-respecting
- they are GDPR-compliant (e.g., no cookies, no individual user tracking, no PII, etc…) and don’t require a pop-up for consent
- they are the most affordable SaaS solution (and offer a 30-day free trial)
- they offer simple dashboards
- they are independent developers
From Plausible’s Hugo documentation, installation was pretty easy and I chose to simply add the tracking code to my theme’s
<script async defer data-domain="loganmarchione.com" src="https://plausible.io/js/plausible.js"></script>
I’m still on the 30-day free trial, but I don’t see myself switching to anything else. They offer a ton of useful features that I may take advantage of in the future:
- Custom domains (to serve the script from
- Email reports
- Traffic spike notification
- Public website stats
- Google Search console integration (to see the Google search terms)
- 404 page tracking