GoatCounter

Easy web analytics. No tracking of personal data.

GoatCounter is an open source web analytics platform available as a hosted service (free for non-commercial use) or self-hosted app. It aims to offer easy to use and meaningful privacy-friendly web analytics as an alternative to Google Analytics or Matomo.
Why I made GoatCounter

Sign up

Already have an account? Sign in at yourcode.goatcounter.com. Forgot?

Live demo

The main dashboard
Additional information
The “text view”, and filtering of paths

Features

Privacy-aware; doesn’t track users with unique identifiers and doesn't need a GDPR notice. Fine-grained control over which data is collected. Also see the privacy policy and GDPR consent notices.

Lightweight and fast; adds just ~3.5KB of extra data to your site. Also has JavaScript-free "tracking pixel" option, or you can use it from your application's middleware or import from logfiles.

Identify unique visits without cookies or persistently storing any personal data (technical details).

Keeps useful statistics such as browser information, location, and screen size. Keep track of referring sites and campaigns.

Easy; if you've been confused by the myriad of options and flexibility of Google Analytics and Matomo that you don't need then GoatCounter will be a breath of fresh air.

Accessibility is a high-priority feature, and the interface works well with assistive technology such as screen readers.

100% committed to open source; you can see exactly what the code does and make improvements, or self-host it for any purpose. See the GitHub page.

Own your data; you can always export all data and cancel at any time.

Integrate on your site with just a single script tag:
<script data-goatcounter="https://yoursite.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>

The JavaScript integration is a good option for most, but you can also use a no-JavaScript image-based tracker, integrate in your backend middleware, or parse log files.

Documents

Some documents about GoatCounter that don’t fit the documentation page:

Pricing

Free

  • Free; donation recommended
  • Non-commercial use
  • Unlimited sites
  • 100k pageviews/month
  • 2.4M maximum pageviews
  •  
  •  

Starter

  • €5/month
  • Commercial use
  • Unlimited sites
  • 100k pageviews/month
  • 4.8M maximum pageviews
  • Custom domain
  •  

Business

  • €15/month
  • Commercial use
  • Unlimited sites
  • 500k pageviews/month
  • 24M maximum pageviews
  • Custom domain
  •  

Business Plus

  • €30/month
  • Commercial use
  • Unlimited sites
  • 1M pageviews/month
  • Unlimited total pageviews
  • Custom domain
  • Phone support
Additional pageviews can be added for €0.20 per 10k pageviews, charged based on actual usage.

Pricing FAQ

What happens if I go over the monthly pageviews? §
I’ll be in touch if you consistently go over the number over pageviews; there is no automated process to shut down accounts. It’s not a problem if you go over the pageviews in a single spike of traffic because you wrote something that got shared a lot. It’s a flexible limit within the bounds of reason.
How does “maximum pageviews” work? §
It’s the total amount of pageviews that can be stored for your site. The oldest pageviews will be deleted if you try to store more. There is no timelimit on pageviews: just a maximum total.

If you’ve reached the maximum amount of pageviews you will get an email where you can make a choice:
  1. I’m okay with this, just delete older pageviews and stop bothering me.
  2. Update your plan.
  3. Manually delete older pageviews, which might be useful if you have a lot of “junk” data that’s not really needed.

It will keep sending you this email every week until you make a decision. If you haven’t done anything after a month then it will assume option 1.

New pageviews will never be rejected if you go over your limit.

The limits are calibrated as such:
  • Free plan: two years at maximum pageviews.
  • Starter and business plans: four years at maximum pageviews.

Many sites will never reach these limits, as they send far fewer than the maximum pageviews.
How does purchasing extra pageviews work? §
Additional pageviews can be added for €0.20 per 10k pageviews, so 100k pageviews would be €2, 1 million pageviews €20, and 10 million pageviews €200. This can be added to every plan excluding the free one. For example if you want ~200k pageviews on the Starter plan then you’ll be charged €5 + €2.

This is charged based on actual usage, rounded to the nearest 10k. So for example for the Starter plan you’ll be charged €5 + €0.20 × 10 = €7 if you have 200k pageviews.

This does not affect the maximum pageview limit; this remains the same. You need to update your plan if you want a higher limit for this.

Extra charges will only be made if you set it up on the billing page, where you can also set a maximum. I’ll be in touch if you don’t set this up or set the maximum too low. Pageviews will never be rejected if you go over a limit. I generally use a bit of a “grace margin” for this as getting in touch over a few thousand pageviews is a bit silly, and I’m not a big fan of automating these kind of things as I feel takes away some humanity of the company/customer relationship.

Going over the allotted amount of pageviews for only 1 or 2 months is fine; sometimes websites get shared a lot for a short period of time and calm back down afterwards. It makes no sense to upgrade your plan for just this. Skirting the pageviews is fine too; if you have 950k one month and 1050k the next then that’s fine; as long as it roughly averages out to the limit.
What is “Commercial Use”? §
A website is considered “commercial” if the primary goal is to sell or advertise paid products or services.

There is a large amount of grey area between strictly ‘personal’ and ‘commercial’; for example selling a service as a side-project which provides just a little bit of pocket money is ‘commercial’, but also ‘personal’. As a rule, things like “pocket-money side-projects” are considered personal, especially if they’re open source. Just get in touch if you’re unsure and I’ll tell you if it’s considered personal.
What is the advantage of a custom domain? §
It’s just intended as a nice “vanity domain”; other than that there are no real technical advantages. It will not prevent adblockers from recognizing GoatCounter and this was never the intended use case. See How do adblockers deal with GoatCounter? for more details.
Is there any discount for charities, non-profit organisations, startups, etc? §
The short answer is ”not really”. The longer answer is that it depends on the individual case.

To give an example, Amnesty International is undoubtedly a charity doing great work, and I’d be honoured to facilitate that. But they also have a ~€300 million/year income and asking them for €30/month so I can make a living seems reasonable to me, regardless of their charitable work. After all, people employed by Amnesty are getting paid too, and I also need to pay my rent, food, etc. 😅

Most charities don’t have the kind of endowment Amnesty has, so if you’re running a small charity, non-profit, or one-person startup where GoatCounter’s costs would be prohibitive then feel free to get in touch and we’ll see what we can arrange. Generally I’m pretty flexible.

I’ll be happy to revisit this policy once GoatCounter starts becoming financially sustainable, but right now it’s still quite far from that.
Sign up