Ditching Google Analytics Before It Ditches Me

Ditching Google Analytics Before It Ditches Me

Tutorials analytics google-analytics privacy self-hosting umami

Was scrolling Twitter last night waiting for a page to build and noticed the bird was gone. Just... gone. Replaced with that Shiba Inu doge meme, the one from about a decade ago. Dogecoin apparently jumped something like 20-30% within the hour because of course it did. I have no idea what Musk is doing over there most days and at this point I've stopped trying to guess. Anyway, not what this post is about, I just needed to mention it because it made me laugh out loud alone in my kitchen at 11pm like an idiot.

What I actually want to write about is Google Analytics, because I finally did the thing I've been putting off since basically last summer.

The UA sunset nobody wants to deal with

If you run any kind of website you've probably gotten the emails. Universal Analytics stops processing new data on July 1st this year, full stop, no more historical UA reports after that either eventually. Google wants everyone on GA4 and has wanted that for a while now. I kept snoozing the migration because every time I opened the GA4 interface to poke around it felt like someone redesigned my car's dashboard to be a spreadsheet. Realtime reports buried three clicks deep, event-based tracking that makes simple "how many people read this post" questions weirdly hard to answer. I don't think GA4 is bad exactly, I just think it's built for people running actual marketing funnels, not someone who wants to know if anybody read their post about, I dont know, replacing a laptop fan.

So instead of migrating to GA4 like a sensible person, I spent Tuesday evening self-hosting Umami instead.

What I actually did

Spun up the cheapest DigitalOcean droplet, the $6/month one with 1GB of RAM, which is plenty for this. Used their one-click Docker install, then pulled Umami's docker-compose file and pointed it at a Postgres container. Took about 40 minutes total, and probably 15 of those minutes were me realizing I'd typo'd the database URL in the .env file and staring at a blank white screen wondering why nothing loaded.

Once it was running, adding it to the blog was one line, a script tag with my site ID dropped right before the closing head tag. That's it. No consent banner needed either, which is honestly the part I like most: Umami doesn't use cookies and doesn't store anything that counts as personal data under GDPR, so there's nothing to ask permission for. I'd been dreading adding one of those cookie popups to this blog for years and now I just don't have to.

I priced out Plausible too before landing on Umami. Plausible's hosted version wanted $9 a month at my traffic tier, which honestly isn't a lot of money, but I already had a droplet doing basically nothing and Umami is free if you're willing to run it yourself. Given that this blog has survived on a total budget of "whatever a cheap VPS costs" since 2011, free won.

The dashboard itself is refreshingly plain. Page views, top pages, referrers, countries, a little bar chart of visits over time. No funnels, no audiences, no machine-learning insight cards telling me things I didn't ask about. It looks almost exactly like the old Google Analytics did around 2012, which I mean as a genuine compliment.

Early numbers look weird, which is normal

Right now the data looks a little sparse because it's only been collecting for two days, and I keep refreshing it like it's going to tell me something dramatic. It won't. It's going to say 47 people read this and 40 of them left within 10 seconds, same as always. I still have my old UA property running in parallel for now so I can compare the two once there's enough overlap to be useful, though I'm not holding my breath that the numbers will match up closely, they never really do between analytics tools.

I'll probably check back in on this in a month once there's actual data worth looking at, or, more realistically, I'll forget about it the way I forget to check analytics on this blog in general, remember I have Umami running when the droplet bill shows up, and be pleasantly surprised it's still working.