12 ms·
Show HN: Plausible – Self-Hosted Google Analytics alternative
- captn3m0 6y agoSomewhat related, I have a list of privacy friendly Google-Analytics alternatives at https://workflowy.com/s/analytics-software/0yDQ899MfOsE2WAO https://workflowy.com/s/analytics-software/0yDQ899MfOsE2WAO
- markosaric 6y agothanks for including Plausible on that list!
- Deukhoofd 6y agoAny solution you'd recommend for non-web analytics?
- captn3m0 6y agoI’ve used Mixpanel and found it had nice APIs. I’ll update the list for the ones that support it.
- markosaric 6y agoHello HN! We started developing Plausible early last year, launched our SaaS business and you can now self-host Plausible on your server too! The project is battle-tested running on more than 5,000 sites and we’ve counted 180 million page views in the last three months. Plausible is a standard Elixir/Phoenix application backed by a PostgreSQL database for general data and a Clickhouse database for stats. On the frontend we use TailwindCSS for styling and React to make the dashboard interactive. The script is lightweight at 0.7 KB. Cookies are not used and no personal data is collected. There’s no cross-site or cross-device tracking either. We build everything in the open with a public roadmap so would love to hear your feedback and feature requests. Thank you!
- bishalb 6y agoHow do you track sessions without cookies? IP address?
- markosaric 6y agoWe generate a daily changing identifier using the visitor’s IP address and User Agent. To anonymize these datapoints, we run them through a hash function with a rotating salt. hash(daily_salt + website_domain + ip_address + user_agent) This generates a random string of letters and numbers that is used to calculate unique visitor numbers for the day. Old salts are deleted to avoid the possibility of linking visitor information from one day to the next. See full details here: https://plausible.io/data-policy https://plausible.io/data-policy
- benbro 6y agoIs it possible to track users over a week or month? Often the same user return to our website several times before buying and it's important to learn about this behavior.
- markosaric 6y agono. that's the decision we made in order to be as privacy focused as possible. there's no way to know whether the same person comes back to a site the day after or later. they will always be counted as a new visitor after the first day.
- propogandist 6y agothis will limit your solution from many deployments. Knowing returning visitors from first time visitors is quite important and helps to asssess if viewership, audience and customer base is growing over time. For startups the "how many unique visitors do you get in a month" may be an important KPI and you're saying your solution cannot answer this question, so another solution will be needed to be deployed. Unique visitor data's also needed to assess effectiveness of campaigns and run e-commerce operations. There's often campaigns to bring back a user who previously didn't buy (email, ads etc). It's important to measure the effectiveness of these investments separately in web analytics given the campaigns will be different for new and recurring visitors.
- blakesterz 6y agoThere was an interview on Changelog earlier this year with these guys, it was pretty interesting to hear how they work and got started, etc... https://changelog.com/podcast/396 https://changelog.com/podcast/396
- markosaric 6y agothanks! Changelog guys were good to us and helped give us a push earlier this year. they invited us on the show after one of our posts was shared on HN!
- martin_a 6y agoAny way to run this on a shared hosting with PHP/MySQL? If that works out somehow I would give this a try over Matomo, which is just "too big" for my use case.
- ukutaht 6y agoMain contributor here. As long as you have Docker installed on the host, you're good to go. If you don't have it, you can install as follows: https://docs.docker.com/get-docker/ https://docs.docker.com/get-docker/
- sneak 6y agoShared hosting doesn’t give you docker or root. You have a webroot that usually only supports PHP or static files.
- XCSme 6y agoIf you want something smaller than Matomo that works on any shared hosting you can check out the platform that I'm building[0], it does have some extra features compared to the lighter Plausible, but you can disable those if you want to keep it simple. [0]: https://usertrack.net https://usertrack.net
- aembleton 6y agoIs there anyway to compare visits from today to yesterday, or today to last week? I was thinking that it could be a filter on a segment, but it doesn't look possible when I tried the demo. Otherwise, I really like the look of usertrack.
- XCSme 6y agoThanks! There is no way to compare two date intervals in the UI yet, but the code is actually there, I only have to add some UI for it. I was thinking to just add a checkbox to enable "compare with last interval", so whatever segments you have selected, when the checkbox is enabled you would also see graphs of the previous period. Eg. You have chosen "last 2 weeks", it would comapre "last 2 weeks" with "minus 4 weeks, minus 2 weeks".
- preslavrachev 6y agoPlausible is a gulp of fresh air in the sea of products and services that try to sell one's identity in exchange for a free service. I have started using it for one of my sites, then recently migrated another, and planning to do the same with the rest of my projects. Moreover, Plausible being an open-source product, it gives anyone a chance to contribute to it and make it even better. As soon as I realised that it was written in Elixir/Phoenix, I just couldn't wait but find ways to help. Although my contributions to the project have been small until now, the guys were really kind and addressed the changes I pointed out almost immediately. Great work!
- markosaric 6y agothank you! our Self-Hosted version was possible thanks to several contributors on our GitHub https://github.com/plausible/analytics/issues https://github.com/plausible/analytics/issues One contributor from HN helped us reduce our script down to 0.7 KB from 1.4 KB or so earlier this year too... all contributions are very welcome!
- nattaylor 6y agoI was curious what sort of Javasript wizardy was used to accomplish this. It appears to be lots of deleted code. Still, good for the contributor! Here is the PR https://github.com/plausible/analytics/pull/68/files https://github.com/plausible/analytics/pull/68/files
- edoceo 6y agoHard to trace because we have a code change and file renames in the same merge. I don't like that. Renames and white-space changes should be their own commits.
- ekianjo 6y ago> https://docs.plausible.io/self-hosting https://docs.plausible.io/self-hosting Is there any way to self-host without using Docker?
- eeZah7Ux 6y agohttps://goaccess.io/ https://goaccess.io/ does the same analytics and does not require exposing a dedicated service
- markosaric 6y agoserver logs are good but unfortunately not very accurate for most site owners thanks to all the bots. with javascript analytics, it's easy to block those logs. i did a study here comparing the numbers between the server and client side analytics: https://plausible.io/blog/server-log-analysis https://plausible.io/blog/server-log-analysis
- eeZah7Ux 6y agoYour analysis is quite incorrect. Bots and browsers produce fairly different logs in terms of file access pattern, timing, user agent and known source networks. Filtering users from bots can be done on the server side. Identifying users that block javascript trackers cannot be done using javascript trackers.
- joshyi 6y agoI think server logs are more accurate, it will tell you exactly what's going on, but like you said, bots will show up as well. On the other hand, a bunch of folks (+600M) block JS analytics/trackers so it will deflate the actual number of visitors, thus less accurate.
- tiffanyh 6y agoDoes anyone know if they are using a stock theme? I really like the design (and structure) of their website. Or was the design self-made?
- krishan711 6y agoI think this is tailwind-ui (https://tailwindui.com/ https://tailwindui.com/)
- ukutaht 6y agoHey, I use TailwindUI (https://tailwindui.com/components https://tailwindui.com/components) and a lot of it is custom as well.
- benbro 6y agoIs there info about what pages a user viewed and the browser version? I don't see it on the demo.
- markosaric 6y agowe have the "top pages" report which includes all the pages users have viewed. you can click on any page to see the full drill down too. we only show browsers at this time but there's been a request to add browser versions too. we plan to do it but cannot promise anything in terms of timeline for when it will be done. See https://github.com/plausible/analytics/issues/151 https://github.com/plausible/analytics/issues/151
- crazypython 6y agoI wish there were an ethical, FOSS analytics with cross-site interest tracking. As a Games as a Service developer, I need to be able to know my audience characteristics (such as age) that help me understand where to further develop the product. It could give the user the choice of what information to share and use diffe
- ocdtrekkie 6y agoWhy not... ask your users about their interests and demographics? I think the problem is the analytics mindset. That you're entitled to have that information without a user actually providing it to you. Ask people. No, not all of them will answer, and that's okay.
- jamesponddotco 6y agoCompletely agree. As a user, if you try to gather information about me without my consent I will do everything in my power to stop you, but if you ask me instead, I will help you out — probably with a smile on my face.
- goddamnsteve 6y agoPlausible is the best thing that has happened to us at https://hellonext.co https://hellonext.co. Such a beautiful product, and has helped us get more customers from the EU as well, since they know that we are not really in the business of helping other companies track them and push ads down their browsers.
- _Understated_ 6y agoGenuine question here... do your users care that much about privacy? The reason I ask is that I know only two people in my life that care enough about privacy to take steps to protect themselves either online or in the real world, for example I know many people with Alexa's and Google Nests, Android phones (I have one myself) etc. I'm just curious if people are coming to you BECAUSE of this or if it's just a coincidence. Edit: spelling and grammar
- goddamnsteve 6y agoActually, yes. Especially the enterprise customers. Their legal used to give us a tough time to understand what trackers we use, this increased especially after the GDPR came into existence. I wouldn’t say we are closing ‘BECAUSE’ of this. But it has been a contributing factor to convince the customers to trust us and literally prove a point that we are not these data-hungry people.
- markosaric 6y agothat's good to hear! thank you!
- corobo 6y agoMany people don't outwardly care about privacy because they've never had it violated (or never knew it happened) Ask them their credit card number. They care.
- Nextgrid 6y agoPeople may not care 100%, but all other things equal I think most people would prefer the privacy-friendly service rather than the creepy one. Furthermore regardless of user's opinions, the GDPR forces you to ask for consent before stalking the user, so even if the privacy aspect itself isn't the problem, the user experience is (as in the user needs to click accept before your can track them and most people wouldn't unless you make it obnoxious, but then making it obnoxious also breaches the GDPR).
- ancymon 6y agoIt would be nice to see how it compares to other products. Lately I've been noticing quite a few GA alternatives, would be nice to know which one is really worth looking into.
- markosaric 6y agowe have a live demo here where you can see exactly what we offer with our own website stats: https://plausible.io/plausible.io https://plausible.io/plausible.io otherwise i've published a comparison with Google Analytics: https://plausible.io/vs-google-analytics https://plausible.io/vs-google-analytics and a comparison with Matomo: https://plausible.io/vs-matomo https://plausible.io/vs-matomo
- sradman 6y agoPlausible Analytics [1] is an MIT Licensed alternative to Google Analytics. It is hosted at plausible.io but can also be self-hosted. The app server is written in Phoenix/Elixir. The self-hosted version is distributed as a Docker image. It is configured [2] with a PostgreSQL server for user data, a Clickhouse server for analytics data, and an SMTP server for transactional email. EDIT: according to markosaric, the data policy restricts the granularity of Active Users [3] to daily statistics for privacy reasons so the common Monthly Active Users (MAU) stat is not available. [1] https://github.com/plausible/analytics https://github.com/plausible/analytics [2] https://docs.plausible.io/self-hosting-configuration https://docs.plausible.io/self-hosting-configuration [3] https://en.wikipedia.org/wiki/Active_users https://en.wikipedia.org/wiki/Active_users
- nicbou 6y agoPlausible is not a Google Analytics alternative. Yes, it shows you traffic on pages, but it does not support some essential features, like proper events/goals with metadata. https://github.com/plausible/analytics/issues/134 https://github.com/plausible/analytics/issues/134
- cloverich 6y agoKudos for linking that issue, which makes your criticism quite constructive. The maintainers have responded in the thread, which I think is relevant: > We do need some more info on the use cases for this in order to come up with the best solution possible so any feedback is appreciated. Here's what I'm getting from previous posts... Its great when you can contribute to open source by merely explaining your use cases.
- markosaric 6y agoPlausible was not built to be a clone or a full on feature by feature replacement. It is an alternative that works for many people who think GA is complicated, slow, privacy intrusive and so on. We do try to add what we believe are 20% of GA features that 80% of GA users need without adding too much complexity. We already do support event / goal tracking and we have metadata for goals as the next big feature on our public roadmap: https://github.com/plausible/analytics/projects/1 https://github.com/plausible/analytics/projects/1
- nicbou 6y agoI'm waiting for it to switch. I liked the interface and your general way of doing business, but being unable to track outbound links or conversions was a deal breaker.
- aloukissas 6y agoNotice to the authors: it looks like you've built this using taulwindui components (which are great!). I don't think though that their license allows them to be used in open source projects.
- cosrnos 6y agoTailwind UI License allows for components to be used in open source projects, as long as the project's primary purpose isn't to distribute those components :) Edit: License link for anyone interested https://www.notion.so/Tailwind-UI-License-644418bb34ad4fa29aac9b82e956a867 https://www.notion.so/Tailwind-UI-License-644418bb34ad4fa29a...
- aloukissas 6y agoHm - I remember asking the same question on their Discord channel and at that time (IIRC) the project maintainers told me otherwise. That's good to know!
- CivBase 6y ago> Can I use Tailwind UI in open source projects? > Yep! As long as what you're building is some sort of actual website and not a derivative component library, theme builder, or other product where the primary purpose is clearly to repackage and redistribute our components, it's totally okay for that project to be open source. https://tailwindui.com/pricing https://tailwindui.com/pricing
- dragonwriter 6y ago> Yep! As long as what you're building is some sort of actual website and not a derivative component library The license itself doesn't seem to have clear relicensing/sublicensing terms, so it's not clear at all how it works for either open source or proprietary products. If it actually does allow downstream open source licensing, then while it prevents the direct licensee from creating a component library, it doesn't prevent a downstream licensee of the open source product from doing so; if it's usage restrictions (which on their own would prevent a project from being open source) continue to apply to downstream users, then it cannot be used on open source projects.
- say_it_as_it_is 6y agoWhy use Plausible rather than Snowplow?
- dewey 6y agoUsing Snowplow for simple visitor stats is like hosting your static website in Kubernetes. It's a different use case and level of complexity.
- enginaar 6y agoI'm really wondering how can it identify returning visitor without using cookies. Local storage?
- markosaric 6y agothere was another question about this that i responded to in this thread. no local storage is used. We generate a daily changing identifier using the visitor’s IP address and User Agent. To anonymize these datapoints, we run them through a hash function with a rotating salt. hash(daily_salt + website_domain + ip_address + user_agent) This generates a random string of letters and numbers that is used to calculate unique visitor numbers for the day. Old salts are deleted to avoid the possibility of linking visitor information from one day to the next. See full details here: https://plausible.io/data-policy https://plausible.io/data-policy
- enginaar 6y agocool thanks. sorry, still can't see the other question even after you made me aware of its existence.
- markosaric 6y agohere is my answer: https://news.ycombinator.com/item?id=24696768 https://news.ycombinator.com/item?id=24696768
- marvinblum 6y agoFingerprinting. I'm working on a competing product which is also open-source. This is how I do it: https://github.com/emvi/pirsch/blob/master/fingerprint.go https://github.com/emvi/pirsch/blob/master/fingerprint.go And I think that is what most privacy-focused solutions do at the moment.
- seniorbrusko 6y agoBeen using Plausible since I started working on https://btfy.io https://btfy.io. I actually copied their algorithm to detect unique visitors for Btfy also. Really great work. Will be open-sourcing mine too soon.
- markosaric 6y agothank you! happy to hear about that :)
- dustinmoris 6y agoI have lost count of all the Google Analytics alternatives. It seems there is a new one popping up every week. This is not criticism, but I'm wondering why there are so many people developing their own alternative product. For me an attractive GA alternative has to be: - 100% self hosted via Docker containers in Kubernetes - Able to configure a connection string to a datastore outside my kubes cluster - One deployment for the data gathering service - Second deployment for an Admin tool/dashboard - Provide at least basic metrics around acquisition, user device and location data Nice to have: - Open source so people can scrutinise the code before deploying and feed back bug fixes/feature requests, etc. Can anyone recommend a GA alternative which ticks these boxes?
- baobabKoodaa 6y agoSounds to me like we need one more Google Analytics alternative. But this will surely be the last one, after that we are feature-complete!
- iKlsR 6y agoAgreed! https://xkcd.com/927/ https://xkcd.com/927/
- markosaric 6y ago:)
- mcao 6y agohttps://umami.is/ https://umami.is/
- thirdsun 6y ago> This is not criticism, but I'm wondering why there are so many people developing their own alternative product. Recent privacy laws introduced requirements which Google Analytics can't meet out of the box - at the very least there's is lots of uncertainty. Website owners like to avoid having to annoy their users with consent banners. Of course it's hard to get a definitive answer but it seems using Google Analytics without a consent banner doesn't comply with local regulation in Germany and/or Europe.
- eben-ezer 6y agoExcited to see support for hash-based routes got added recently! That was the major deterrent for me last time I saw this posted, time to give it another shot I think.
- markosaric 6y agoyep, we've added that. instructions are here: https://docs.plausible.io/hash-based-routing/ https://docs.plausible.io/hash-based-routing/
- random_savv 6y agoI would love to hear this compares to Posthog! I just switched from Google Analytics (by way of firebase) to Posthog, which seems very comparable. I liked Posthog because it has a react native library.
- markosaric 6y agofrom what i know, Posthog is focused more on app/product analytics while we're focused on web analytics.
- bamazizi 6y agoThis comes very close to GA alternative, it's nice and fat free. The daily salt reset is a deal breaker. (basically means people visiting the site are considered unique everyday which breaks monthly/weekly unique stats and conversion tracking spanning more than 24 hours) Our current pipeline for one app has a 14-20 days conversion and we rely on this data to optimize. Also have an marketplace app where conversions periods spans several days depending on the product and promotions. With the daily anonymization algorithm reset, every conversion will seem it took less than 24 hours. The hunt for a GA alternative continues. BTW does anyone know/recommend a great self hosted alternative to Mixpanel?
- markosaric 6y agothanks! from our experience and testing, most website visitors say no to give tracking consent / storing cookies (up to 90+%) so this was a good balance between making something that's compliant with regulations and that's providing useful data for many use cases.
- cj 6y agoMy guess is giving up conversion tracking is the #1 hurdle for adopting alternate privacy-friendly (aka. no conversion tracking) analytics solutions. It means that people using a privacy-friendly conversion tracking solution literally cannot track conversions accurately. If you can't track conversions, it also means you can't run advertising campaigns effectively because so much of advertising relies on conversion tracking to know whether ad spend is having an ROI or just burning money. Then again, perhaps the target users of a privacy friendly analytics solution aren't in the same category of people who are running paid ad campaigns on Adwords, etc.
- markosaric 6y agoyeah all the privacy regulations make it difficult to do all the tracking that some businesses are used to. it's clear from testing that if they actually enforced things such as GDPR and asked for consent, majority of visitors will say no which would make their current strategy difficult. Plausible was built with all these regulations in mind so we're more a solution for businesses that want to comply with the regulations but still get some useful data.
- marban 6y ago+1 from a two-months user. Haven't had the time to mess around with Umami so I jumped on it. UI needs some polish, otherwise a solid alternative.
- markosaric 6y agothank you! what would you like improved in the UI?
- wdb 6y agoAnyone else getting an error in Safari when trying to visit the site? "Safari can't open the page 'https://plausible.io/self-hsted-web-analytics https://plausible.io/self-hsted-web-analytics" because Safari can't establish a secure connection to the server 'plausible.io'.
- markosaric 6y agohmm that's weird! just checked and seems to work all fine. no HN hug of death today :) do you perhaps run any adblocker or something like that? the link is: https://plausible.io/self-hosted-web-analytics https://plausible.io/self-hosted-web-analytics
- corobo 6y agoThey're listed in your pihole or whatever you use to block trackers most likely. Same thing here, had to override the block
- fizixer 6y agoAs an outsider of web-backends, is Google Analytics used as a web-service api for doing analytics on your own website? and now with Plausible you can install an analytics engine on your own website/webserver and use it "natively" instead of relying on a big-tech service api? Is that what's going on? if yes, are big-tech service-api's so popular that indie web-backend engineers use them all over the place? My impression was that most of the backend stuff you do is on the webserver, and part of the work is to survey github open-source projects and install the ones you like (and the ones that are popular) on your webserver. Wasn't the community shift from php to node.js/npm (or ruby, or python, take your pick) touted as some kind of a mini-revolution, something that'll make your life easier as a backend-dev? Turns out you guys still prefer someone else (in this case, 4-eyes big-tech) does the serious work for you? I'm really not sure I understand the landscape.
- markosaric 6y agodepends on what study you look at, Google Analytics is installed on everywhere from 50% to 85% of all websites on the web. that may not be a big issue if Google wasn't also the largest advertising company on the web. a blog post that helped "launch" Plausible earlier this year was "Why you should stop using Google Analytics on your website" https://plausible.io/blog/remove-google-analytics https://plausible.io/blog/remove-google-analytics
- fizixer 6y agoYeah but I fail to understand when that happened in the past? Google Analytics appeared in 2005, and as far as I know as a tech person, they never marketed it aggressively. How did we go from sometime in 2003, when analytics packages (no matter how basic) were downloaded from sourceforge or gnu or whatever and installed on your website ... to sometime in 2015 when you're working for a small/indie tech company, your website is mostly working and you're thinking of doing analytics on your website and someone suggests to you "you should just use Google Analytics, everyone does it, it's what you do, why would you use something else or write your own" ... ??? Also if Google Analytics is so popular among web-backends, there must be other service-apis that backend-devs use without even a second thought?
- PStamatiou 6y agoAt first glance the design of this feels very close to fathom, another privacy-focused analytics tool https://usefathom.com/ https://usefathom.com/
- deleted 6y ago[deleted]
- dt3ft 6y agoLink to free, self-hosted version: https://plausible.io/self-hosted-web-analytics https://plausible.io/self-hosted-web-analytics
- markosaric 6y agothat's the one that's linked to in this post :)
- chrshawkes 6y agoNice product but the fact you can't tell new from old customers is a non-starter for most businesses.
- nreece 6y agoI wanted to support and use Plausible, mainly for the drill-down feature, which Fathom doesn't have yet. But, I had two main concerns about this product from my trial: 1) Slow response time (~300ms) of the script when using a custom domain. 2) I liked its simple design and features, but looks like it's already starting to bloat up with trivial things like UTM tracking. Some small UI bugs (like time range buttons not working) also need ironing out. Waiting for Cloudflare Web Analytics to compare.
- anderspitman 6y agoIt would be nice if projects like this had a page explaining why you would choose them over the 20 other[0] open source analytics options. [0]: https://github.com/awesome-selfhosted/awesome-selfhosted#analytics https://github.com/awesome-selfhosted/awesome-selfhosted#ana...
- gnabgib 6y agoThis seems to have the same issue as Pirsch[0] in that (i) a mobile user will have multiple IPs during a day as they roam between wifi networks and mobile networks - which will incorrectly over-report unique visitors and (ii) NAT gateways with similar devices behind (a home with 4 iPhones, a workplace with 5000 identically imaged desktops, all similar devices at a starbucks, an entire lab of computers at a school) will incorrectly under-report unique users. An IPv4 address is an unreliable way to count "a visitor". At best it represents "at least one network (~building) of 1-n visitors". You could argue 0-n visitors (some sort of automation/crawler). It could also represent more than one network (a temporary IP obtained for less than a day, a IP obtained for a day that changes during your definition of a day). User-agent reduces the scope, but doesn't eliminate (between recommended evergreen updates and identically imaged/uncustomized use of devices). [0]: https://news.ycombinator.com/item?id=23668212 https://news.ycombinator.com/item?id=23668212
- marvinblum 6y agoThank you for mentioning our lib! :) I mostly agree with your comment. It's really hard to solve these issues without violating the visitors privacy and saving state on the client device. I think the approach is "good enough" if you want to know how well your website performs or to detect trends, but you will definitely need more invasive methods to gain more insight.