Skip to content

Goat Counter

Easy web statistics without tracking of personal data.

Self-hostedNot yet verified
Demo online
MIT★ 5877

Open the official app on www.goatcounter.com

This tool is hosted by its maintainers. Click below to open www.goatcounter.com in a new tab — it's their official demo.

Browse developer tools →

What's next with Goat Counter?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is Goat Counter?

GoatCounter is an open-source web analytics tool designed to provide privacy-focused website tracking without collecting personal user data. It serves as an alternative to proprietary analytics platforms like Google Analytics and Matomo, emphasizing data minimization and user privacy. Developers, small businesses, and privacy-conscious website owners use GoatCounter to monitor traffic patterns, referral sources, and basic user behavior while avoiding the pitfalls of traditional tracking methods. The tool addresses the growing demand for transparency in data collection by eliminating persistent identifiers, reducing data storage, and offering granular control over what metrics are recorded. Its lightweight design and optional non-JavaScript tracking options make it accessible for projects with strict privacy requirements or technical constraints.

How it works

GoatCounter is a hosted or self-hosted analytics platform that prioritizes privacy by avoiding the collection of personal identifiers. It enables website owners to track metrics such as visit counts, referral sources, and browser details without storing cookies or user-specific data. The tool is particularly suited for users seeking to comply with GDPR and other privacy regulations. By default, it does not require a GDPR notice, though optional consent mechanisms are available. Its lightweight footprint—adding approximately 3.5KB of data to tracked pages—makes it ideal for sites with bandwidth or performance limitations. GoatCounter collects basic metrics like unique visits, browser information, location data, and screen resolution. It supports filtering by URL paths and tracking campaigns or referral sources. The platform allows users to opt out of data collection entirely, with an optional tracking pixel for JavaScript-free integration.

How to use it

  1. 1Register at yourcode.goatcounter.com to create a tracking instance. 2. Install the GoatCounter app via Docker, package manager, or download the source code for self-hosting. 3. Add the tracking script to your website’s HTML or use the tracking pixel for non-JavaScript environments. 4. Configure settings through the dashboard to define data collection preferences and access controls. For advanced use, integrate tracking via middleware in frameworks like Flask or Node.js, or import log files for server-side analysis. The dashboard provides filtering options to analyze specific URL paths or campaign parameters.

What it can do

  • Utility

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/goatcounter
  • license: EUPL-1.2 — free to use
  • privacy: Opens an external demo

Limitations

  • Lacks real-time data visualization compared to Google Analytics
  • Limited customization options for advanced segmentation
  • Requires manual setup for self-hosting, which may deter non-technical users
  • No built-in dashboard for non-hosted users; relies on external interfaces
  • Limited third-party integration compared to Matomo or Google Analytics

Understanding the result

Easy web statistics without tracking of personal data.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by goatcounter (MIT).
Built with
goatcounter (https://github.com/goatcounter)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Text
Output
Output
Open-source source & license

Built with https://github.com/goatcounter. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
goatcounter
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

What data does GoatCounter collect?

GoatCounter collects basic metrics such as unique visits, browser information, location data, and screen resolution. It does not store personal identifiers, cookies, or persistent user data by default. Users can configure which data points are tracked through the dashboard settings.

How does GoatCounter track users without cookies?

GoatCounter uses a temporary session identifier for each visit, which is discarded after the session ends. It also offers a tracking pixel option that functions without JavaScript, relying on HTTP requests to log data. This approach avoids storing cookies or IP addresses permanently, aligning with privacy-focused standards.

How do I add GoatCounter to my website?

Sign up at yourcode.goatcounter.com to obtain a tracking code. Paste the provided script snippet into your HTML file’s header section. For non-JavaScript environments, use the tracking pixel by embedding the generated image URL in your page. Alternatively, integrate tracking via middleware in server-side applications.

How does GoatCounter compare to Google Analytics and Matomo?

Unlike Google Analytics, GoatCounter does not track personal identifiers or require a GDPR notice. Compared to Matomo, it offers simpler configuration and smaller resource usage but lacks advanced segmentation and customizable dashboards. GoatCounter is ideal for users prioritizing privacy over extensive customization.

What should I do if my analytics data is missing?

Verify that the tracking code is correctly implemented and matches your GoatCounter instance’s identifier. Check server logs for failed requests if using the tracking pixel. Ensure your website’s firewall allows traffic to GoatCounter’s endpoints. If using middleware, confirm that the integration is properly configured to send data.

Spotted something wrong with Goat Counter, or want to maintain it? See how to help.