Developer filters AI scrapers from blog analytics using GoatCounter
A blogger replaces logging with privacy-friendly analytics to cut false visitor counts from 2,000 to 200 per day.
What to know
- AI scrapers masquerading as users inflated blog visitor counts 10-fold; GoatCounter with interaction-based filtering reduced false positives from 2,000 to under 200 daily visitors.
- Bernat implemented a local proxy across five global servers to buffer analytics during downtime, solving reliability without server-side acceptance from GoatCounter maintainers.
- Privacy-friendly analytics still face ad-blocker blocking; Bernat's workaround of hosting on his own domain raises debate about respecting reader choice vs. tracking necessity.
The dispute Whether evading ad blockers with privacy-friendly analytics respects reader choice or violates it. · positions read across 9 posts and comments
Analytics are useful and privacy-friendly implementations like GoatCounter are worthwhile.
-
“I like that you have considered the user. I like goatcounter as a project.”
benoliver999 · Lobsters ↗
Analytics are unnecessary; running a blog without them is simpler and provides no real loss.
-
“I had a blog for 10 years, with analytics. Now I have a new one that's been running for 12 years without, and I don't miss the numbers.”
benoliver999 · Lobsters ↗
Ad-blocker workarounds undermine reader autonomy regardless of analytics privacy claims.
-
“Even if you obfuscate the tracker, the fact that people submit it for inclusion means they don't want it. It will, in other words, get submitted and blocked again.”
DustyFuzzy · Lobsters ↗
Vincent Bernat Blog author and developer
How it unfolded 2 developments, newest first · click a bar or a number to jump postscomments
-
2
Community questions value of analytics and discusses alternatives
Lobsters commenters debated whether analytics are necessary at all, with one noting a 12-year blog without analytics, while others discussed NixOS module details and systemd isolation approaches.
“I had a blog for 10 years, with analytics. Now I have a new one that's been running for 12 years without, and I don't miss the numbers.”
— benoliver999 -
Flooded by AI scrapers masquerading as regular users.
2 more of the top 3 · 8 posts in this stretch
-
I like that you have considered the user. I like goatcounter as a project. I would ask, have you considered no analytics at all? I had a blog for 10 years, with analytics. Now I have a new one that's been running for 12 years without, and I don't miss the numbers.
-
I didn't have analytics for quite some time after Google Analytics, but when I focused a bit more on writing a couple years after, I tried to get it back with server logs. I was OK with the information I got from that, it's just that today, it does not work anymore.
-
-
1
Bernat addresses ad-blocker circumvention and privacy tradeoffs
In a Lobsters comment, the author acknowledged that exposing the analytics endpoint on his domain to evade ad blockers may not respect reader choice, but argued GoatCounter's privacy-friendly approach justifies it.
“I expose the endpoint for the proxy on the domain of this website to evade ad blockers. This sounds like I don't respect the reader's choice, but as GoatCounter is privacy-friendly, I find it acceptable.”
— Vincent Bernat -
> I expose the endpoint for the proxy on the domain of this website to evade ad blockers. This sounds like I don’t respect the reader’s choice, but as GoatCounter is privacy-friendly, I find it acceptable. Author here. I am using UBO, but as a user, I don't really care about this kind of privacy-friendly analytics. GoatCounter hosted version is…
-
-
background
Bernat documents GoatCounter deployment with bot-filtering strategy — Bernat published detailed blog post explaining his migration to GoatCounter with custom JavaScript replacement, interaction-based bot filtering (requiring user clicks), and a local proxy system across five servers to handle downtime.
-
background
AI scrapers degrade server log accuracy — Despite filtering attempts, AI scrapers masquerading as regular users inflated daily visitor counts to around 2,000, making server log analysis unreliable.
-
background
Blogger removes Google Analytics from site — Vincent Bernat removed Google Analytics to avoid contributing to data harvesting and switched to analyzing server logs.
What people are saying 5 voices from 1 site · best of 9 · verbatim
- Sep 21
-
No shade taken. Great post, I might just steal couple of ideas in there. Thanks!
-
About the NixOS module, I didn't mean it negatively! Small is not bad. Thanks for your work. As for systemd isolation vs containers, containers are an easier concept for me. Maybe `ProtectSystem=strict` would provide the same isolation, but I'll need to investigate.
-
... why don't server logs work any more?
-
Even if you obfuscate the tracker, the fact that people submit it for inclusion means they don't want it. It will, in other words, get submitted and blocked again. I'd just let it be.
-
Hey! I'm the one who originally added that anemic NixOS module for goatcounter to Nixpkgs. It was (still is) good enough for my need. Other people have since improved it, but it is still quite basic as far as I see. That said, I'm curious why you chose yo wrap the whole thing in a container and not use a systems service directly? IIUC systems…