5 ms·
I have my own self-hosted Matomo instance [1]. Via Docker & docker-compose it's quite easy to install and keep up to date and Matomo is open source, well maint
by bad_user 6y ago
I have my own self-hosted Matomo instance [1].
Via Docker & docker-compose it's quite easy to install and keep up to date and Matomo is open source, well maintained, very well behaved and pretty hands off.
And I configured it on my websites with cookies turned off [2] and with IP anonymization [3]. In such an instance you don't need consent, or even a cookie banner, because you're not dropping cookies, or collecting personal info. Profiling visitors is no longer possible, but you still get valuable data on visits.
Note that if you want to self-host Matomo, you don't need more than a VPS with 1 GB of RAM (even less but let's assume significant traffic) so it's cheap to self host too.
And I disagree with another commenter here saying Analytics is just for vanity. That's not true — even for a personal blog analytics are useful to see which articles are still being visited and thus need to be kept up to date, or in case content is deprecated, the least you could do is to put up a warning.
And if you write that blog with a purpose (e.g. promoting yourself or your projects) then you need to get a sense of how well your articles are received. You can't do marketing without a feedback loop.
[1] https://matomo.org/ https://matomo.org/
[2] https://matomo.org/faq/general/faq_157/ https://matomo.org/faq/general/faq_157/
[3] https://matomo.org/docs/privacy/ https://matomo.org/docs/privacy/
- Carpetsmoker 6y ago> And I disagree with another commenter here saying Analytics is just for vanity. That's not true — even for a personal blog analytics are useful to see which articles are still being visited and thus need to be kept up to date, or in case content is deprecated, the least you could do is to put up a warning. Some examples: I maintained a Vim ChangeLog for a while (which is quite some work), and turned out no one was reading that, so ... why bother? In another case, I wrote an article about "how to detect automatically generated emails" and I thought it wasn't actually that interesting and no one read it so considered archiving it, but turned out quite a few people end up there through Google searches etc. and I ended up updating it instead of archiving it, as it was clearly useful to people.
- berkes 6y agoThree times I found out that a blog post of mine was on the HN frontpage, because my matomo was going bonkers. This might count as "vanity metrics", but it taught me, above all, how valuable "being here" is. It has a clear and undeniable "inkstain" effect: where other blogs, news outlets and so on follow HN. HN goes hand-in-hand with reddit, for my niche, though. My wife as several e-commerce and our weekly "walking through the matomo screens over a glass of wine" has learned us that there are important niches. And what those niches are (vegan smartphone covers, Fairphone flip-cases, fairtrade and environmental-friendly mouthmasks). Sure, you also need customer interviews and old-fashioned market-research, but your webapp and website is telling you a lot about your users. And sure, often, you don't need any metrics. But just like Carpetsmoker above, I see a lot of value in metrics. Just don't fall in the trap to collect "you-never-know" metrics: that is privacy-invading, a liability and requires a scale beyond anything you really need. You don't need data-lake, distributed ETL processes and whatnot to find out that there are products in your webshop selling better than others because you are doing well on natural searches for that product.
- mritchie712 6y agoOur SaaS runs on Google App Engine and sending the logs to BigQuery only takes a couple clicks[1]. From there you can write SQL to summarize the data by referrer, page viewed, etc. Here[0] is a starting point, though you'll need update the `WHERE` clause so it works for your use case. You get IP and user agent in those logs if you want to roughly track visit to conversion metrics. 0 - https://gist.github.com/mike-seekwell/83ac75c82a943e287a7abe6b73b73f02 https://gist.github.com/mike-seekwell/83ac75c82a943e287a7abe... 1 - https://cloud.google.com/appengine/docs/standard/python/logs https://cloud.google.com/appengine/docs/standard/python/logs
- chrismorgan 6y agoI self-hosted Matomo for a year and a half (and took over the AUR package for it and improved it in the process). It was no trouble to run, but I ended up uninstalling it late last year, for a few reasons: its interface is painfully slow (and that’s nothing to do with my 1GB/1 vCPU VPS—I’ve interacted with a decent-sized instance at innocraft.cloud and it was similar), and I seldom looked at it, and I couldn’t think of any way in which anything I found in the analytics would change my behaviour, and server-side analytics are good enough (better on some ways, worse in others), and I value speed. So all up, I figured: why am I slowing all my users down with this 50KB of JavaScript (of which I frankly need less than 1KB), and why am I keeping this software going? So now I pull out GoAccess (which reads the server logs) from time to time. I find that my Atom feed is the vast majority of traffic to my site, which Matomo couldn’t tell me. I should implement pagination on the feed and see if that helps. (Or limit the number of items in the feed, but conceptually I rather like everything being accessible from the feed. Wonder how many feed readers support pagination?)
- the_gipsy 6y agoExact same reasoning here. I was burdening my users with slower load times, for something that didn't ever impact my "product" decisions. For any meaningful analysis, I always pulled up server side logs of things. So I changed to GoAccess too. I don't check it too often, just when I want to see the impact of some spam/publicity posting around.
- forgotmypw17 6y agoIs pagination supported in feeds? It would be very useful. Like you said, it's nice when everything is accessible from the feed.
- chrismorgan 6y ago<link rel="next" href="…"/> Deliberate semantics were defined for this as part of AtomPub, https://tools.ietf.org/html/rfc5023#section-10.1 https://tools.ietf.org/html/rfc5023#section-10.1 (before that, it made sense that it would mean this because of the relations registry, but nothing had been defined). It’s clearly applicable to Atom syndication in general, but it’s definitely more useful to AtomPub. I have no idea how wide client support is.
- thomasahle 6y ago> And I configured it on my websites with cookies turned off [2] and with IP anonymization [3]. Do you have a way to filter out your own visits in this case? On small pages I find that my own clicks and events during testing contaminates the statistics.
- boromi 6y agoHow do you actually host this? Do I need a VPS or is more of like a Heroki thing?
- johnchristopher 6y agoYou can easily set it up on a VPS with docker, check github for instructions.
- boromi 6y agoRight, I found the official docker image https://github.com/matomo-org/docker https://github.com/matomo-org/docker But I was hoping for a simple DIY guide for setting everything up? I mean with Google Analytics a dummy can set it up very quickly. I know it'll take more work with matomo, but I need a little more details then just "use docker". I know I need a VPS, something like Digital Ocean. I know I need the matomo docker image.
- XCSme 6y agoI am not familiar with matomo, but aren't those instructions enough? You go to DO, create new droplet from that image, and done? I assume once you have it installed you will get more info on how to add the tracker on your site from their interface ?
- snuxoll 6y agoMatomo needs a database server (MySQL) and a way to execute cronjobs - that’s about it. There’s some gotchas if you’re running in a HA setup or if the database runs on a separate server. I have a full deployment of Matomo in Kubernetes on gitlab [1] if anyone would find it useful (includes correct settings for running in multiple pods). 1: https://gitlab.com/pcgamingwiki/webanalytics/-/tree/master/ https://gitlab.com/pcgamingwiki/webanalytics/-/tree/master/
- xorcist 6y agoI haven't used the docker image, but Matomo is PHP in its simplest form. You unzip it. Click through a setup wizard. Done. (I also run in readonly noexec in an fpm chroot but that's not necessary.) I set it up for a couple of clients since the Piwik days and it's been pretty much set and forget, apart from the occasional upgrades. There are plenty of advanced functionality which probably few people understand and use. For my personal projects I am fine with log analytics which I mostly use goaccess for.
- GordonS 6y ago> And I configured it on my websites with cookies turned off [2] and with IP anonymization [3]. In such an instance you don't need consent, or even a cookie banner, because you're not dropping cookies, or collecting personal info. Profiling visitors is no longer possible, but you still get valuable data on visits. Does this mean each page hit cannot linked to be any other? For example, can I see that a visitor viewed a particular sequence of pages?
- isiahl 6y agoJust spitballing here but could you use the Referrer header to track sequences of pages
- Carpetsmoker 6y agoSimpleAnalytics does this.
- bscphil 6y ago> And I disagree with another commenter here saying Analytics is just for vanity. That's not true — even for a personal blog analytics are useful to see which articles are still being visited and thus need to be kept up to date, or in case content is deprecated, the least you could do is to put up a warning. I mean, I'm not making the argument that analytics are useless, but this seems like the worst possible example. You can do this trivially with a script to analyze your server (e.g. Apache) logs. And you don't need "a VPS with 1 GB of RAM" for that - which is four times the RAM of the VPS my personal website has run on for the last half decade. This approach also uses no client-side javascript to collect data, so you wouldn't have to alarm users with potential privacy threats, because nothing is stored other than what's in the HTTP headers.
- nightowl_games 6y agoMy blog is hosted on GitHub pages, so I have no direct access to server logs.
- hombre_fatal 6y agoFor a lot or maybe even most people, all of that entails some mix of: possibly having to set up server logs in the first place, redirecting them somewhere for analysis and possibly archival, having access to a server in the first place, hooking up the analytics apparatus to consume the logs yet also be able to serve a dashboard, setup yet another moving part, finally get around to that "TODO: setup real logging instead of println()" issue, etc. There's lots of take for granted there. It's no wonder copy and pasting a <script> one-liner caught on.
- Carpetsmoker 6y agoThere may actually quite a lot of PII in the HTTP headers: IP address, Accept-Language, and User-Agent being the most obvious (especially mobile browsers often send a ridiculous amount of PII in the User-Agent header). There's also some very useful information that's hard to get from HTTP headers, screen size being the most obvious one. I don't think it's fundamentally more privacy-friendly. The real problem with JavaScript trackers from GA and ad networks is that they'll try to profile you with tricks like font metrics, audio API, set cross-domain cookies, and whatnot. But that doesn't apply to either Plausible or GoatCounter (and in the case of GoatCounter, the count.js script is intentionally unminified so it's very easy to see what exactly it does if you care to do so). GoatCounter runs fine on constrained environments; it has a RES memory size of about 30M, and for the first few months goatcounter.com ran on a $5/month VPS which was mostly just sitting idle.