I don’t see my pageviews? §
For reasons of efficiency the statistics are updated once every 10 seconds.

What does (no data) mean in the referrers list? §
No Referer was sent; this can mean that the user directly accessed the URL (e.g. from their bookmarks or typing it), that they disabled sending the Referer header, or that the link they clicked on disabled the Referer header with rel=“noreferer”.

How are bots and crawlers counted? §
They’re not; all bots and crawlers that identify themselves as such are ignored.

It’s easy for a malicious script to disguise itself as Firefox or Chrome, and it’s hard to reliably detect this. In practice it’s unlikely that 100% of all bots are ignored (this is a general problem with analytics, and not specific to GoatCounter).

How is the Do-Not-Track header handled? §
It’s ignored for several reasons: it’s effectively abandoned with a low adoption rate, mostly intended for persistent cross-site tracking (which GoatCounter doesn’t do), and I feel there are some fundamental concerns with the approach. See Why GoatCounter ignores Do Not Track for a more in-depth explanation.

You can still implement it yourself by putting this at the start of the GoatCounter script:

window.goatcounter = {
    no_onload: (‘doNotTrack’ in navigator && navigator.doNotTrack === ‘1’),
<script data-goatcounter=“[..]”
    async src=“//gc.zgo.at/count.js”></script>

What about GDPR consent notices? §
You probably don’t need them. The the GDPR page goes in to some detail about this.

How do I set up a custom domain? §
Add a CNAME record pointing to your GoatCounter subdomain:
stats   IN CNAME    mine.goatcounter.com.

Then update the GoatCounter settings with your custom domain. It might take a few hours for everything to work. mine.goatcounter.com will continue to work.

Note that Custom domains will not prevent adblockers from recognizing GoatCounter; it’s only intended as a “vanity domain”.

How do adblockers deal with GoatCounter? §
Most of them block goatcounter.com; there’s not much that can be done about that, and there’s also not much I want to do about this. If people decide they want to block GoatCounter then they’re free to do so.

By my estimate about a third of pageviews are missed due to adblockers; but this can vary greatly on the type of site and audience.

That said, there are some options:

  1. Self-host GoatCounter; when self-hosting GoatCounter nothing is served from goatcounter.com or associated domains, and adblockers will not block it.
  2. Import pageviews from logfiles; GoatCounter can import pageviews from web server logfiles; you can send this data to goatcounter.com. See the documentation for details.

Is there any way to record HTTP status codes? §
Not directly, but if you include the status code in your error page’s title you can filter by it. Also see issue #3.

Can I use GoatCounter to track if someone opened an email? §
Kind of but not really. You can include the tracking pixel in the email as an image as described here.

But this doesn’t really work because almost all email clients block external images by default exactly to prevent this sort of thing from working. All email trackers “work” like this and none of them really work.

And in my personal opinion this is also where “statistics about visitors” turns in to “invasive tracking” and “spying”, so consider if you really need and want to do this in the first place. I have no way to prevent you from doing this, but it’s also not a recommended or supported use case.

Why do I need to verify my email? §
Having some means of contact is useful in case of questions, problems, or other reasons for communicating.

For example, if you’re sending many (millions) of pageviews then I’d rather contact you to discuss options than just shut down the account. Not having any means to get in touch would leave me in an awkward position.

It’s not too uncommon that people fill in the wrong email address, and this is the only way to verify it.

Questions or problems?

Feel free to get in touch if you’ve got any questions or having any problems; a lot of times they can be resolved without too much problems.

Ways to contact me: show