Fast, private email that's just for you. Try Fastmail free for up to 30 days.
When I launched JAG’s Workshop a year ago, I instinctively added Google Analytics (GA) to the site. Ghost (the software powering jagsworkshop.com) offers basic analytics: how many emails were opened, links clicked, and revenue generated—useful for paid email newsletters, less so for free-to-read, blog-style sites like this one.
GA was the fastest, lowest effort way to see how many visitors—that is, readers—I was enticing to the site. Google makes this drop-dead simple: Set up and configure a GA account, then copy and paste a few lines of Javascript into your HTML <head>…</head>
tag. No muss, no fuss, no cost.
Except, of course, there was a cost: Google gets my (and your!) data. I’m not a fan of being tracked online, and I’m guessing neither are you. Heck, I actively decline tracking cookies on every site that offers it. Sending yet more data to Google felt… wrong. Also, most of GA’s functionality is completely wasted on me. It became intolerable. So I stopped tolerating it.
I wanted a more privacy-oriented analytics solution, preferably one that I could run on my own server. After all, if I was going to replace Google Analytics, I didn’t want to simply swap in another third-party tool that had access to, or control over, my data.
Replacing GA took a while to cross off my to-do list, because I anticipated it being a difficult and involved project.
I needn’t have worried.
I considered several options: Ghostboard, Simple Analytics, Fathom, Matomo, and Plausible.
All tout themselves as “privacy-friendly,” “cookie-free,” and GDPR-, CCPA-, or PECR-compliant. All offer a hosted solution: Simple Analytics has a (limited) free option, with paid options starting at $15/month; Fathom also starts at $15/month; Matomo is $26/month; and Plausible and GhostBoard each start at $9/month. Plausible, Matomo, and GhostBoard are also open source, but only Matomo and Plausible have fully operational installs.
The headline, of course, already spoiled my selection: I went with Plausible—more accurately, Plausible Community Edition—in part because it’s an open-source project I could install on my own servers. (I considered Matomo’s open-source “on premise” version, but the feature set seemed like way overkill for my needs. I also installed Go Access, which parses local log files. It works, but I really didn’t like their UI.)
(An aside on Ghostboard: it’s a Ghost-exclusive dashboard with many useful features—it should have been a slam-dunk—but its marketing left me cold. Statements like “Focus on the content with the best ROI,” “fix or improve to boost your SEO,” and “Gamify your publishing” made it clear it was targeting big publishers interested in driving engagement and clicks to “seamlessly enhance [their] content strategy,” and not creators. I just want to know how many people are reading my writing. Marketing matters.)
Being open source, I expected installing Plausible would be difficult, but it was impressively easy. Assuming you have all the necessary pieces in place (Docker, Docker Compose, a recent Linux install running on recent hardware, and a domain name), the instructions on GitHub Just Work™. If you have the technical know-how, follow that and you’re golden.
nginx
proxying section may be helpful, if you need it.I actually ended up installing Plausible twice. The first time was on an existing Digital Ocean droplet, which took under 30 minutes, about half of which was installing Docker and friends, and reconfiguring nginx
to support both Plausible and a Ghost test server. The second install, on a dedicated droplet with Docker, etc. already installed (and no need for nginx
), took under 10 minutes. Like I said: Impressive.
If you’re on Digital Ocean, here’s an overview of installing Plausible on a droplet. (If you aren’t already using Digital Ocean, use my link to get $200 in credit to try it out for up to 60 days. If you sign up later, I get a small kickback, which helps offset the costs of running this site.)
A Record
, where Host
is your domain of choice (for example, plausible.example.com
) and the IP Address
is the IP of your droplet (visible when you view your droplet in the Digital Ocean dashboard). Depending on your settings, it may take a few minutes to a few hours to percolate across the internet.BASE_URL
is the subdomain you registered in Step 2.<head>...</head>
section of your site. I suggest adding it as the first entry after your <title>…</title>
tag so it loads as early as possible.header.hbs
file). I did the latter, as I run my own custom theme.I mentioned above that I installed Plausible on a 1 GB memory system, and 2 GB is the minimum recommended amount. I can confirm: 1 GB is definitely not enough—I quickly crashed Plausible. However, I wasn’t willing to move up to a 2 GB system ($12 vs. $6/month) just for my analytics server unless it was absolutely necessary. So I did what any penny-pinching sysadmin would: I enabled swap.
That said, for the few dozen hits I get per day, it’s fine. As I mentioned before, if this site blows up, the analytics server will most certainly keel over. That’s a great problem to have.
Here’s how I set up swap on my system (all commands must be run as the root
user):
root# fallocate -l 2G /swapfile
root# chmod 600 /swapfile
root# mkswap /swapfile
root# swapon /swapfile
root# echo '/swapfile none swap sw 0 0' >> /etc/fstab
In English:
Finally, confirm swap is enabled:
root# swapon --show
You should see something like:
NAME TYPE SIZE USED PRIO
/swapfile file 2G 539.7M -2
I’ve been using my Plausible install for about a month now, and I’ve had no issues. The data is in line with Google Analytics, and is much easier to understand. The server hovers around 10% CPU utilization, with spikes up to about 35%, and memory at about 90% (with swap at about 60%). And, of course, the data is now stored on my servers, not Google’s.
There are a few additional configurations (email notifications, for example) I plan to implement, but I’ve achieved my goal of replacing the privacy-invading Google Analytics with the privacy-friendly Plausible.
Like what you just read?
Get more like it, direct to your inbox. It’s free for you and an ego boost for me. Win-win!
Free, curated, possibly habit-forming. (It’s OK, you can stop anytime.)