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.

You will need a Business plan to set up a custom domain.

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.

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.

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