A Guide to Load Testing Node.js APIs with Artillery
Learn how to detect and fix performance issues in your Node.js applications through load testing, a technique for reproducing real-world …
Google analytics has been my go-to analytics tool ever since I became a web developer a few years ago. It’s the de-facto standard for website usage tracking and is free to use, feature-rich and easily accessible on web and mobile. However, over the last couple of months, I contemplated moving away from the service for some reasons.
My first gripe with Google Analytics is that the interface is quite slow and confusing to use. It’s a busy interface and I always have to fumble around to find the relevant metric I’m looking for. The mobile app is much better in this regard at least in terms of speed.
I also realised that I wasn’t even using up to 10% of the features provided by the service. For the most part, all I cared about is the number of visitors, page views, and where visitors are coming from (search engines, social media e.t.c.) so all the other metrics that Google collects are not important for me.
Due to this reason, I felt it wasn’t an acceptable trade-off to load the 19 KB tracking script just to view basic website statistics. When decompressed, the analytics script is about 46 KB which is just extra work for the browser to parse and execute and for not a lot of gain in the context of my needs.
Another major issue is privacy. Google Analytics is free to use (for up to 10 million hits per month), but it’s only because the company recoups the cost of running the service by using the aggregated data to track users for the purpose of showing personalised ads.
As a result, the analytics script is often blocked by ad blockers and other anti tracking extensions including those built into browsers such as Firefox, Brave, and Vivaldi meaning that the reported statistics aren’t all that accurate especially for sites with tech-savvy audiences like mine.
Quite a few Google Analytics alternatives have emerged recently with many beginning to recognise that Google has way too much influence on the web and also because of the usability issues discussed above.
My main criteria for a replacement was that it should be privacy-respecting, lightweight and easy to use with a good balance of features. I found some discussions on Hacker News on alternatives to Google Analytics and proceeded to check out some of the suggestions.
Goat Counter was the first option I looked into. It ticks most of the boxes and is fully open-source, easy to self-host and has a sane pricing model but I was not in love with the user interface of the metrics dashboard. Another option was Simple Analytics, but it’s proprietary and too expensive for me at $19/month for ~100k views monthly.
Eventually, it came down to a choice between Plausible and Fathom. They both have a similar feature set, a good user interface to view my stats, and lightweight tracking scripts. I decided to go with Plausible in the end.
It mostly came down to pricing (Plausible starts at $12/month for ~100k views with a 33% discount if billed annually), and the fact that the codebase is fully open source and supports self-hosting without restrictions. On the other hand, Fathom starts at $14/month for the same amount of views and the V2 of the service is no longer open source. They have a Lite version on GitHub, but it’s clear from the Readme file that they don’t want anyone to use it.
I decided to take advantage of Plausible’s generous 30-day trial to try out the service and get a feel for how it works. Their tracking script is one of the lightest out there coming in at around 834 bytes (1.3 KB uncompressed) which is more than 20 times lighter than GA’s tracking script.
After adding the script to my site, the analytics began to show up almost immediately. The dashboard interface is quite polished and supports all of the basic metrics such as page views and unique visitors, browser and operating system statistics, device screen sizes, locations, and referrer information.
It also supports event tracking, weekly or monthly email reports, and the ability to proxy the tracking script through a custom domain which can be quite handy because some browsers and extensions block all analytics services including privacy-friendly ones.
I decided to run Plausible side by side with Google Analytics for a few days just to see how the reported stats compare. Unsurprisingly, Plausible’s reporting for page views was consistently about 30-40% higher presumably because GA is blocked by some clients. GA is gone for good now though.
The experience of switching away from Google Analytics to Plausible was painless and I’m really happy with how it turned out so far. I think both Plausible and Goat Counter are excellent choices for anyone looking for a privacy friendly alternative to Google Analytics. The former just has a bit more visual polish while the latter is significantly easier to self-host but you really can’t go wrong with either.
Thanks for reading!