What is Piwik and what are its top alternatives?
Top Alternatives to Piwik
Google Analytics lets you measure your advertising ROI as well as track your Flash, video, and social networking sites and applications. ...
Mixpanel helps companies build better products through data. With our powerful, self-serve product analytics solution, teams can easily analyze how and why people engage, convert, and retain to improve their user experience. ...
It is a web analytics platform designed to give you the conclusive insights with our complete range of features. You can also evaluate the full user-experience of your visitor’s behaviour with its Conversion Optimization features, including Heatmaps, Sessions Recordings, Funnels, Goals, Form Analytics and A/B Testing. ...
Open Web Analytics
It is a web analytics service used in the measurement, collection, analysis and reporting of web data for purposes of understanding and optimizing web usage. It makes hard things easy. Its AI and machine learning brings hidden opportunities and answers to everyone with the click of a button. ...
Countly is a product analytics solution and innovation enabler that helps organizations track product performance and user journey and behavior across mobile, web, and desktop applications. ...
Snowplow is a real-time event data pipeline that lets you track, contextualize, validate and model your customers’ behaviour across your entire digital estate. ...
Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack). ...
Piwik alternatives & related posts
- Easy setup926
- Data visualization886
- Real-time stats696
- Comprehensive feature set403
- Goals tracking179
- Powerful funnel conversion reporting152
- Customizable reports136
- Custom events try83
- Elastic api53
- Updated regulary13
- Interactive Documentation8
- Google play3
- Walkman music video playlist2
- Easy to integrate1
- Medium / Channel data split1
- Advanced ecommerce1
- Industry Standard1
- Financial Management Challenges -2015h1
- Confusing UX/UI7
- Super complex5
- Very hard to build out funnels3
- Poor web performance metrics2
- Time spent on page isn't accurate out of the box1
- Very easy to confuse the user of the analytics1
related Google Analytics posts
This is my stack in Application & Data
My Utilities Tools
Google Analytics Postman Elasticsearch
My Devops Tools
Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack
My Business Tools
Adopting Amplitude was one of the best decisions we've made. We didn't try any of the alternatives- the free tier was really generous so it was easy to justify trying it out (via Segment). We've had Google Analytics since inception, but just for logged out traffic. We knew we'd need some sort of #FunnelAnalysisAnalytics solution, so it came down to just a few solutions.
We had heard good things about Amplitude from friends and even had a consultant/advisor who was an Amplitude pro from using it as his company, so he kinda convinced us to splurge on the Enterprise tier for the behavioral cohorts alone. Writing the queries they provide via a few clicks in their UI would take days/weeks to craft in SQL. The behavioral cohorts allow us to create a lot of useful retention charts.
Another really useful feature is kinda minor but kinda not. When you change a saved chart, a new URL gets generated and is visible in your browser (chartURL/edit) and that URL is immediately available to share with your team. It may sound inconsequential, but in practice, it makes it really easy to share and iterate on graphs. Only complaint is that you have to explicitly tag other team members as owners of whatever chart you're creating for them to be able to edit it and save it. I can see why this is the case, but more often than not, the people I'm sharing the chart with are the ones I want to edit it 🤷🏾♂️
The Engagement Matrix feature is also really helpful (once you filter out the noisy events). Charts and dashboards are also great and make it easy for us to focus on the important metrics. We've been using Amplitude in production for about 6 months now. There's a bunch of other features we don't use regularly like Pathfinder, etc that I personally don't fully understand yet but I'm sure we'll start using them eventually.
Again, haven't tried any of the alternatives like Heap, Mixpanel, or Kissmetrics so can't speak to those, but Amplitude works great for us.
- Great visualization ui142
- Easy integration107
- Great funnel funcionality76
- A wide range of tools22
- Powerful Graph Search15
- Responsive Customer Support11
- Nice reporting1
- Messaging (notification, email) features are weak2
- Paid plans can get expensive2
related Mixpanel posts
Hi there, we are a seed-stage startup in the personal development space. I am looking at building the marketing stack tool to have an accurate view of the user experience from acquisition through to adoption and retention for our upcoming React Native Mobile app. We qualify for the startup program of Segment and Mixpanel, which seems like a good option to get rolling and scale for free to learn how our current 60K free members will interact in the new subscription-based platform. I was considering AppsFlyer for attribution, and I am now looking at an affordable yet scalable Mobile Marketing tool vs. building in-house. Braze looks great, so does Leanplum, but the price points are 30K to start, which we can't do. I looked at OneSignal, but it doesn't have user flow visualization. I am now looking into Urban Airship and Iterable. Any advice would be much appreciated!
Functionally, Amplitude and Mixpanel are incredibly similar. They both offer almost all the same functionality around tracking and visualizing user actions for analytics. You can track A/B test results in both. We ended up going with Amplitude at BaseDash because it has a more generous free tier for our uses (10 million actions per month, versus Mixpanel's 1000 monthly tracked users).
Segment isn't meant to compete with these tools, but instead acts as an API to send actions to them, and other analytics tools. If you're just sending event data to one of these tools, you probably don't need Segment. If you're using other analytics tools like Google Analytics and FullStory, Segment makes it easy to send events to all your tools at once.
related Matomo posts
related Open Web Analytics posts
related Adobe Analytics posts
- Easy setup3
- Great UI3
- Custom Dashboards2
- Extensible via plugins2
- Omni Channel2
- Custom Events1
- Advanced Segmentation1
- Push Notifications1
- Extensible Product Analytics1
- Private Cloud1
- User Profiles1
- Push Notifications1
related Countly posts
- Can track any type of digital event5
- Data quality3
- Real-time streams3
- First-party tracking3
- Completely open source3
- Redshift integration2
- Snowflake integration2
- BigQuery integration2
related Snowplow posts
- Powerful api320
- Great search engine310
- Open source230
- Near real-time search200
- Search everything83
- Easy to get started54
- Fast search6
- More than a search engine5
- Awesome, great tool3
- Easy to scale3
- Great docs3
- Great customer support2
- Intuitive API2
- Nosql DB2
- Great piece of software2
- Document Store2
- Easy setup2
- Highly Available2
- Not stable1
- Actively developing1
- Responsive maintainers on GitHub1
- Easy to get hot data0
- Diffecult to get started6
- Resource hungry5
- Hard to keep stable at large scale3
related Elasticsearch posts
We've been using PostgreSQL since the very early days of Zulip, but we actually didn't use it from the beginning. Zulip started out as a MySQL project back in 2012, because we'd heard it was a good choice for a startup with a wide community. However, we found that even though we were using the Django ORM for most of our database access, we spent a lot of time fighting with MySQL. Issues ranged from bad collation defaults, to bad query plans which required a lot of manual query tweaks.
We ended up getting so frustrated that we tried out PostgresQL, and the results were fantastic. We didn't have to do any real customization (just some tuning settings for how big a server we had), and all of our most important queries were faster out of the box. As a result, we were able to delete a bunch of custom queries escaping the ORM that we'd written to make the MySQL query planner happy (because postgres just did the right thing automatically).
And then after that, we've just gotten a ton of value out of postgres. We use its excellent built-in full-text search, which has helped us avoid needing to bring in a tool like Elasticsearch, and we've really enjoyed features like its partial indexes, which saved us a lot of work adding unnecessary extra tables to get good performance for things like our "unread messages" and "starred messages" indexes.
I can't recommend it highly enough.
Often enough I have to explain my way of going about setting up a CI/CD pipeline with multiple deployment platforms. Since I am a bit tired of yapping the same every single time, I've decided to write it up and share with the world this way, and send people to read it instead ;). I will explain it on "live-example" of how the Rome got built, basing that current methodology exists only of readme.md and wishes of good luck (as it usually is ;)).
It always starts with an app, whatever it may be and reading the readmes available while Vagrant and VirtualBox is installing and updating. Following that is the first hurdle to go over - convert all the instruction/scripts into Ansible playbook(s), and only stopping when doing a clear
vagrant up or
vagrant reload we will have a fully working environment. As our Vagrant environment is now functional, it's time to break it! This is the moment to look for how things can be done better (too rigid/too lose versioning? Sloppy environment setup?) and replace them with the right way to do stuff, one that won't bite us in the backside. This is the point, and the best opportunity, to upcycle the existing way of doing dev environment to produce a proper, production-grade product.
I should probably digress here for a moment and explain why. I firmly believe that the way you deploy production is the same way you should deploy develop, shy of few debugging-friendly setting. This way you avoid the discrepancy between how production work vs how development works, which almost always causes major pains in the back of the neck, and with use of proper tools should mean no more work for the developers. That's why we start with Vagrant as developer boxes should be as easy as
vagrant up, but the meat of our product lies in Ansible which will do meat of the work and can be applied to almost anything: AWS, bare metal, docker, LXC, in open net, behind vpn - you name it.
We must also give proper consideration to monitoring and logging hoovering at this point. My generic answer here is to grab Elasticsearch, Kibana, and Logstash. While for different use cases there may be better solutions, this one is well battle-tested, performs reasonably and is very easy to scale both vertically (within some limits) and horizontally. Logstash rules are easy to write and are well supported in maintenance through Ansible, which as I've mentioned earlier, are at the very core of things, and creating triggers/reports and alerts based on Elastic and Kibana is generally a breeze, including some quite complex aggregations.
If we are happy with the state of the Ansible it's time to move on and put all those roles and playbooks to work. Namely, we need something to manage our CI/CD pipelines. For me, the choice is obvious: TeamCity. It's modern, robust and unlike most of the light-weight alternatives, it's transparent. What I mean by that is that it doesn't tell you how to do things, doesn't limit your ways to deploy, or test, or package for that matter. Instead, it provides a developer-friendly and rich playground for your pipelines. You can do most the same with Jenkins, but it has a quite dated look and feel to it, while also missing some key functionality that must be brought in via plugins (like quality REST API which comes built-in with TeamCity). It also comes with all the common-handy plugins like Slack or Apache Maven integration.
The exact flow between CI and CD varies too greatly from one application to another to describe, so I will outline a few rules that guide me in it: 1. Make build steps as small as possible. This way when something breaks, we know exactly where, without needing to dig and root around. 2. All security credentials besides development environment must be sources from individual Vault instances. Keys to those containers should exist only on the CI/CD box and accessible by a few people (the less the better). This is pretty self-explanatory, as anything besides dev may contain sensitive data and, at times, be public-facing. Because of that appropriate security must be present. TeamCity shines in this department with excellent secrets-management. 3. Every part of the build chain shall consume and produce artifacts. If it creates nothing, it likely shouldn't be its own build. This way if any issue shows up with any environment or version, all developer has to do it is grab appropriate artifacts to reproduce the issue locally. 4. Deployment builds should be directly tied to specific Git branches/tags. This enables much easier tracking of what caused an issue, including automated identifying and tagging the author (nothing like automated regression testing!).
Speaking of deployments, I generally try to keep it simple but also with a close eye on the wallet. Because of that, I am more than happy with AWS or another cloud provider, but also constantly peeking at the loads and do we get the value of what we are paying for. Often enough the pattern of use is not constantly erratic, but rather has a firm baseline which could be migrated away from the cloud and into bare metal boxes. That is another part where this approach strongly triumphs over the common Docker and CircleCI setup, where you are very much tied in to use cloud providers and getting out is expensive. Here to embrace bare-metal hosting all you need is a help of some container-based self-hosting software, my personal preference is with Proxmox and LXC. Following that all you must write are ansible scripts to manage hardware of Proxmox, similar way as you do for Amazon EC2 (ansible supports both greatly) and you are good to go. One does not exclude another, quite the opposite, as they can live in great synergy and cut your costs dramatically (the heavier your base load, the bigger the savings) while providing production-grade resiliency.