arp242

arp242/goatcounter

Go No license Web Dev License not recognized by GitHub

Easy web analytics. No tracking of personal data.

5.8k stars
266 forks
active
GitHub +15 / week

5.8k

Stars

266

Forks

41

Open issues

30

Contributors

v2.7.0 15 Dec 2025

AI Analysis

GoatCounter is a privacy-focused web analytics platform designed as a lightweight alternative to Google Analytics and Matomo, available both as a hosted service and self-hosted open-source software. It serves website owners and developers who prioritize user privacy and simplicity over feature complexity, offering tracking without personal data collection or GDPR consent requirements. This is not suitable for those needing advanced segmentation or the full feature set of enterprise analytics ...

Web Dev Application Discovery value: 5/10
Documentation 8/10
Activity 9/10
Community 8/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

privacy-analytics self-hosted lightweight gdpr-compliant open-source
Actively maintained Well documented Niche/specialized use case Popular Beginner friendly Production ready
Deep Analysis · Based on README and public signals
2w ago

GoatCounter: Lightweight, privacy-first web analytics for self-hosters who want simplicity over feature bloat

GoatCounter is a web analytics tool built for developers and site owners who want basic traffic statistics without collecting personal data or requiring GDPR consent banners. It operates as either a hosted SaaS (goatcounter.com) or a self-hosted Go binary with SQLite or PostgreSQL. The value proposition is deliberate simplicity: page views, referrers, browser info, and location — nothing more. It is primarily adopted by individual developers, bloggers, and small teams who find Matomo or Google Analytics excessive for their needs and who prioritize privacy compliance by design.

Origin

Created in May 2019 by Martin Tournoij (arp242) as a solo-maintained project. It predates much of the privacy-analytics wave but grew alongside it as GDPR enforcement increased and demand for cookieless analytics rose.

Growth

Growth has been steady but slow — 5,772 stars over seven years with only 14 gained in the last 7 days signals a mature, stable niche product rather than a fast-growing one. Early traction likely came from Hacker News and developer communities seeking Google Analytics alternatives post-GDPR. The hosted service (goatcounter.com) provides an ongoing revenue and visibility channel, though the project is primarily solo-maintained and growth appears organic rather than driven by marketing.

In production

The hosted service goatcounter.com provides direct evidence of real-world usage, though user counts are not publicly disclosed. A live public demo exists at stats.arp242.net. The project's own site uses it. Self-hosted deployment evidence is distributed across individual developer blogs and open source project pages — adoption is real but not centrally documented or quantified at scale.

Code analysis
Architecture

Appears to be a monolithic Go application with a single statically compiled binary. Likely embeds assets and templates. Supports SQLite (default, suitable for small sites) and PostgreSQL (for higher load). Includes built-in TLS with ACME certificate generation, suggesting it is designed to run standalone without a reverse proxy if needed. Multiple ingestion paths exist: JavaScript snippet, REST API, and log file import. Architecture appears intentionally minimal.

Tests

Not documented in README

Maintenance

Last push was 2026-06-21, four days before the evaluation date — the project is actively maintained. With 263 forks and 5,772 stars, it has a small but engaged community. Solo maintenance by a single developer is a known long-term risk, but the author has sustained the project for over seven years, suggesting genuine commitment.

Honest verdict

ADOPT IF: you need simple page-view analytics on a personal site, blog, or small project and want zero GDPR friction, minimal server resources, and a single binary deployment. AVOID IF: you need advanced analytics (funnels, user journeys, A/B testing, e-commerce tracking) or require a commercially backed SLA and multi-developer support. MONITOR IF: you are considering it for a medium-sized production site — watch for PostgreSQL performance benchmarks at your scale and assess whether solo maintainership risk is acceptable.

Independent dimensions

Mainstream potential

3/10

Technical importance

6/10

Adoption evidence

4/10

Risks
  • Solo maintainer dependency: the entire project rests on one developer; a sustained absence could halt development or leave security issues unaddressed.
  • Limited feature ceiling: the project's deliberate simplicity means it will never support advanced analytics use cases, which may cause users to outgrow it as their needs evolve.
  • Commercial sustainability unclear: the hosted service pricing and user base are not publicly disclosed, making it hard to assess whether goatcounter.com is financially viable long-term.
  • SQLite scalability boundary: sites with millions of pageviews across many unique pages may hit documented performance limits; PostgreSQL migration adds operational complexity.
  • License noted as NOASSERTION in metadata: the actual license terms should be verified before enterprise or commercial self-hosting deployments.
Prediction

GoatCounter will likely remain a healthy niche tool with stable but modest growth, serving developers and small-site operators who prioritize simplicity and privacy. Unlikely to challenge Plausible at scale but well-positioned to retain its existing audience.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Go
72.1%
JavaScript
12.7%
Go Template
10.6%
CSS
3.5%
HTML
1%
Dockerfile
0.1%
PLpgSQL
0%

Information

Language
Go
License
NOASSERTION
Last updated
1d ago
Created
87mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

electerious

electerious/Ackee

Ackee is a self-hosted, privacy-focused analytics platform built on Node.js and...

4.7k JavaScript Web Dev
WebGoat

WebGoat/WebGoat

WebGoat is a deliberately insecure web application maintained by OWASP that...

9.2k JavaScript Security
matomo-org

matomo-org/matomo

Matomo is a self-hosted, open-source analytics platform that serves as a...

21.7k PHP Data
usefathom

usefathom/fathom

Fathom Lite is a self-hosted, privacy-focused website analytics platform...

8k Go Data
Open-Web-Analytics

Open-Web-Analytics/Open-Web-Analytics

Open Web Analytics is a self-hosted, open-source web analytics platform that...

2.7k PHP Web Dev
vs. alternatives
Plausible Analytics

Plausible is the dominant privacy-friendly analytics SaaS with 27k+ stars and a significantly larger commercial user base. GoatCounter is simpler, self-hosts more easily as a single binary, and is free for self-hosting with no per-site pricing. Plausible has more polish and a stronger team; GoatCounter has lower operational overhead and a permissive self-hosting model.

Fathom Analytics

Fathom (open source version) is similar in philosophy. Fathom's commercial product has diverged from its OSS roots. GoatCounter is more actively maintained as an open source project and offers more self-hosting flexibility. Fathom targets less technical users; GoatCounter skews toward developers.

Matomo

Matomo is far more feature-complete, supporting funnels, heatmaps, e-commerce tracking, and more. GoatCounter is intentionally simpler. Matomo requires more server resources and configuration. GoatCounter is a better fit when you only need basic traffic stats and want zero setup complexity.

GoAccess

GoAccess is a log-file analyzer, not a real-time web app. GoatCounter offers a web dashboard and hosted option. GoAccess requires no tracking script. GoatCounter supports log import too, bridging both approaches. They serve overlapping but distinct use cases.

Google Analytics

Google Analytics is free, deeply integrated into the broader Google ecosystem, and far more capable. GoatCounter's entire design premise is to be a privacy-respecting alternative — it does not attempt feature parity and cannot compete on ecosystem integration, but avoids all consent and data-sharing concerns.