1. 45
    1. 8

      Thanks Ben for a nice overview of some of the issues with Google and GA, and also thanks very much for a great review of Plausible Analytics (I’m working on it with Uku). We’re trying to make more site owners aware of these issues and have at least some of them consider removing GA.

      We released the beta of our self-hosted solution (exact same product as our cloud solution) last week so are having some beta testers currently before releasing the first stable version for those who prefer to manage it themselves.

    2. 8

      Interesting read, happy to see @arp242’s work being recognised.

      Also, for those interested in the topic: do have a look at https://offen.dev … another awesome new option that is fully free and open source.

      1. 6

        I’m aware of offen, mostly because both offen and GoatCounter have a grant from NLnet NGI0. When I looked at it back in January it seemed in very early stages, but haven’t kept up. I’ve been planning to get in touch to discus some thoughts/approaches and see what we can learn from each other, but haven’t gotten around to that yet 😅

        At any rate, Ben emailed me a few days ago asking for comments on his draft (which was published pretty much as-is), and here are some comments I sent back, which may be of interest here as well:


        it’s a little less slick-looking than some

        Yeah, this is a Work-In-Progress thing… I looked at a lot of options and eventually settled on d3.js. I have some prototype code, and I’ll finish it at some point. Just a matter of time/priorities.

        My original plan was to make it work fully without JavaScript, but I’ve since let that go for various reasons. This is why it uses flexboxes for the charts, which works without JS and actually works surprisingly well.

        The biggest downside is that it looks a bit meh and that the large DOM size doesn’t perform too well in some cases.

        The tool supports all the basic analytics

        One of the big future goals of GoatCounter is to go beyond that and offer more advanced statistics useful for more serious business use. e.g. there’s a PR for bounce rates already (which works, but first want to refactor some stuff). This was one of my frustrations with e.g. Fathom and SimpleAnalytics which were already around, but seemed “stuck” in “too simple” analytics.

        But it’s not there yet… Turns out doing stuff on your own chews up a lot of time 😅 Turns out the biggest challenges here is UI design rather than the code. I think I spent more time trying to find a good way to display the bounce rates than actually implementing it.

        The self-hosted version is also straight-forward to set up using the Linux binaries or by building from source =E2=80=94 it took me less than 10 minutes to build from source and set it up locally with the default SQLite database configuration. In contrast to Plausible (discussed below), it was much lighter to install, it didn’t download anything, and it started up almost instantly.

        One (AFAIK somewhat unique) aspect of GoatCounter is that it’s completely self-contained: you never need anything other than GoatCounter to run it if you don’t want to, other than a SQLite DB file or PostgreSQL connection (no way around that).

        This is intentional and a property I rather like, as running a lot of self-hosted software can be a bit of a mission (e.g. setting up WordPress for writing the GoatCounter plugin took some time, even with the Docker container).

        In many ways, GoatCounter is an open source project designed to be self-hosted first, and a “business” second.

      2. 1

        Would Offen be able to run in Google Cloud Run (serverless containers)? This would make it a lot more affordable than a Heroku dyno.

        Also it would be great if it could use a database like say DynamoDB, Firestore, or Fauna which would reduce operation costs even further.

        1. 2

          Hi, one of the Offen authors here.

          We’re far from being GCP experts, but if I understand Cloud Run correctly, you should be able to run our offen/offen image there if you configure it to be “horizontally scaling”. Unfortunately, we’re also not too knowledgeable on serverless databases, so I can’t tell you if the ones you mention would work, but Offen can connect to anything that speaks MySQL or PostgreSQL right now, so for example Google Cloud SQL should work fine. Our code has the hooks in place to cater for non-relational datastores too, but it’s not really on our near future roadmap to implement this ourselves.

          That being said, if you are looking for a cost-effective way of hosting Offen, you can definitely find “traditional” options that are cheaper than Heroku. For example, we are running our own instance on a single free tier t2.micro on AWS, but we have also tested it running on a t3.nano (which is USD 3.90 a month), and which worked perfectly fine under load and will give you a database (either SQLite or local Postgres / MySQL), free self-renewing SSL and basically everything else you need out of the box. In case you are interested this is the setup we use: https://github.com/offen/deployment. We also maintain a DigitalOcean image which I think would start at USD 5 a month.

          1. 2

            Thanks for the detailed response.

            Vultr (similar to DO) has VPSs as low as $2.5 per month. Do you think it could work there?

            https://www.vultr.com/products/cloud-compute/

            1. 3

              Vultr come quite highly recommended; if it fits on a t3.nano, it’ll run fine (though you’ll want e.g. a free cloudflare account in front of it to speak ip4; the really cheap instances are ip6 only).

            2. 2

              I don’t know about all of the implications of that IPv6 limitation that is mentioned, but other than that I can’t see a reason why you couldn’t host it on such an instance. The specs should be enough for any lower traffic scenario. Looks like the IPv4 version of such an instance is $3.5 only too.

    3. 2

      I self-host a Fathom instance, works pretty well. https://usefathom.com/

    4. 2

      Surprisingly, to replace the giant Google Analytics, the article introduces two very new software, and doesn’t mention comparable ones like Matomo (https://matomo.org/). These new ones are worth a look though.

      1. 2

        Yeah, we’ll be covering “heavier” tools like Matomo next week. This article was “lightweight” ones (though even then there are others, but we chose the two open source ones that seemed to rise to the top).

    5. 2

      Shameless plug: there’s also nemea which I wrote and use for all my stuff.

    6. 2

      I’ve been looking for a GA alternative for a while. But here is somethiing that I don’t get, so please help me out: Why not just count at the request layer? All I want to know is some total number of visits, and which page was visited. Maybe knowing total vs unique visitors would be nice too.

      I know Netlify has this as an additional service, but where are the easy to install solutions for self-hosted sites? Or is there some downside I am not seeing?

    7. 1

      Personally I wrote a program that analyses web server logs on the fly and shows me an online dashboard. It looks like this https://stats.0x46.net/ and isn’t intrusive in any way to the viewers of my website.

      An already existing program that does exactly this (and in fact more) is https://goaccess.io/.

    8. 1

      I recently tried Netlify Analytics and was very disappointed.

      I liked the idea of having server side analytics ( Webalizer anyone? :D ) but for the price of $9 per month the service is extremely overpriced.

      For my low traffic blog I think Goat counter is the best option.