Website analytics have become essential for understanding user behavior and making data-driven decisions. While the market is dominated by enterprise solutions and privacy-focused alternatives, finding the right balance between functionality, ease of use, and data accuracy remains challenging.
This comprehensive review examines Rybbit Analytics after 2 weeks of real-world usage, evaluating everything from initial setup to data quality and advanced features. Whether you're migrating from an existing solution or choosing your first analytics platform, this guide will help you understand what Rybbit offers and how it performs where it matters most.
In order to make this overview and comparison I have installed multiple web analytics tools to collect data over the same time period. Of course, these tools have different ways to measure traffic, session, users and events, but there are some details that still put one tool above the other in terms of ease of use, setup, features and data quality. Here's a list of tools that take I am comparing:
- Rybbit Analytics
- Google Analytics 4
- Umami
- Plausible
Rybbit Analytics is The Open Source Google Analytics Alternative. It is a next-gen, open source, lightweight, cookieless web & product analytics for everyone. The tool is build using Next.js, it uses ClickHouse for data storage and Postgres for configuration storage. Rybbit Analytics has outstanding documentation on setup, integrations, tracking custom events, self-hosting and more.
Loading...
Rybbit Analytics: Main Dashboard
KINALY
to get 25% off the subscription fee.- Very generous free plan (10 000 events/month)
- Straightforward setup that takes seconds to complete
- Many advanced features for power-users: custom events, funnels, goal tracking, session replays and more
- Outstanding documentation on every feature and detail of the tool
- Active and growing community on Discord (385 members as of writing this post)
- Self-hosted version is not feature-limited
- Multiple options to self-host and well-documented self-hosting guide
- Open-source with AGPL-3.0 license
Loading...
Rybbit Analytics: Session replays
In my opinion Rybbit Analytics is a perfect tool for both beginners with a small website/blog as well as for production-ready web app with thousands of active users. Rybbit's interface makes it easy to understand collected data while also enabling deep-dives into specific reports. Rybbit is a perfect web analytics tool to understand your audience, analyze data, draw conclusions, and see your website grow.
docker-compose
. Both options are viable and work flawlessly.<script>
tag that need to be added to the <head>
of your website.After that's done, you should see first page views showing on your Rybbit Analytics dashboard in realtime!
Immediately you can see how nice Rybbit's dashboard is. At a glance you are able to check metrics for breakdowns like:
- per user's device
- per page
- per source, referrers or UTM parameters
- per country and regions
There are lots of Data Filtering and Segmentation options. You can filter per literally any dimension, for example:
- date range
- page path / page title
- hostname
- event name
- source / referral
- entry / exit page
- country / region
- much more
All these predefined reports and advanced filters work fast and smoothly, which makes it very easy to dive deep into data analysis.
Right on the dashboard homepage you can also see custom events and weekly trends. More about custom events in a second.
One of the coolest-looking reports in Rybbit is Realtime report and Map report. You can see the entire globe and where your users are from.
Loading...
Rybbit Analytics: Globe feature
One of the most valuable features in any analytics platform is the ability to track custom events beyond basic pageviews.
Every website is different, that's why measuring custom events is so important. Rybbit Analytics allows you to track custom events and their properties in 3 ways:
Option 1. Using data attributes, for example:
<button data-rybbit-event="purchase_click" data-rybbit-prop-product="premium" data-rybbit-prop-price="49.99">
Buy Now
</button>
Option 2. Using javascript
// Track a custom event with properties
window.rybbit.event("Item Added To Cart", {
itemId: "PROD123",
price: 49.99,
category: "Clothing"
});
// Track a pageview
window.rybbit.pageview();
Option 3. Server-side
import { Rybbit } from "@rybbit/node";
const rybbit = new Rybbit({
analyticsHost: "https://api.rybbit.io/api",
siteId: "1",
apiKey: "your-secret-api-key",
});
await rybbit.pageview({
hostname: req.hostname,
pathname: `/products/${req.params.productId}`,
page_title: `Product - ${product.name}`,
ip_address: req.ip
});
As you can see, tracking events, event properties and metadata with Rybbit is a breeze.
This is a total game changer for web applications that have user authentication (signup and login). Using Rybbit's available function you can assign userId to associate user from your database with user from Rybbit's database.
// Identify a user when they log in
window.rybbit.identify("user_12345");
Once user is identified, you will be able to see all the pageviews or events for this specific user. This brings product analytics to a whole new level and allows you to draw proper conclusions from very high-quality data.
Of course, no analytics tool is perfect. Rybbit is no exception. Here are some things that you might find lacking:
- No Custom Report Builder. Although pre-built reports cover most use cases, having custom reports builder would be nice. Note that you can still export all the data from ClickHouse database and/or write custom queries to get data from it.
- No data export. While you can access Rybbit's data by connecting to ClickHouse database directly, simple exports are not yet possible.
Analytics are only useful if the data is accurate and complete. This section compares Rybbit's reported metrics against other analytics tools.
Data was collected during the same days, so all these tools were collecting and processing same exact traffic. Now, let's see what data do we get from each of these tools.
metric | ga4 | umami | plausible | rybbit |
---|---|---|---|---|
page views | 242 | 491 | 306 | 795 |
sessions | 236 | 393 | 241 | 365 |
users | 166 | 347 | 230 | 287 |
session duration (s) | 175 | 49 | 29 | 100 |
bounce rate | 53% | 89% | 88% | 13% |
views per session | 1.0 | 1.2 | 1.3 | 2.2 |
sessions per user | 1.4 | 1.1 | 1.0 | 1.3 |
Page path | ga4 | umami | plausible | rybbit |
---|---|---|---|---|
/ | 29 | 37 | 49 | 107 |
/blog | 13 | 26 | 15 | 44 |
/blog/cron-job-scheduler-with-nodejs-typescript | 11 | 12 | 13 | 19 |
/blog/google-analytics-vs-umami-vs-plausible | 71 | 132 | 80 | 242 |
/blog/how-to-add-google-tag-manager-to-nextjs | 20 | 39 | 28 | 63 |
/blog/how-to-deploy-nextjs-to-firebase-hosting | 8 | 13 | 9 | 23 |
/blog/naming-convention-for-digital-marketing-campaigns | 1 | 3 | 2 | 6 |
/blog/nextjs-self-host-google-cloud-vm | 20 | 28 | 21 | 51 |
/blog/organize-files-and-folders | 52 | 134 | 77 | 209 |
/contact | 10 | 6 | 10 | 27 |
country | ga4 | umami | plausible | rybbit |
---|---|---|---|---|
Argentina | 3 | 5 | - | 5 |
Australia | 5 | 8 | - | 5 |
Belgium | 2 | 2 | - | 3 |
Brazil | 4 | 6 | - | 6 |
Canada | 13 | 18 | - | 18 |
Denmark | 5 | 4 | - | 4 |
Finland | 1 | 3 | - | 3 |
France | 1 | 9 | - | 7 |
Germany | 12 | 22 | - | 14 |
India | 14 | 22 | - | 22 |
Indonesia | 4 | 4 | - | 6 |
Italy | 4 | 5 | - | 4 |
Japan | 3 | 4 | - | 4 |
Malaysia | 4 | 8 | - | 9 |
Mexico | 2 | 4 | - | 4 |
Philippines | 1 | 35 | - | 28 |
Poland | 18 | 15 | - | 13 |
Portugal | 2 | 6 | - | 4 |
Russia | 1 | 4 | - | 8 |
Singapore | 4 | 8 | - | 29 |
South Korea | 7 | 7 | - | 8 |
Sri Lanka | 2 | 4 | - | 4 |
Sweden | 5 | 7 | - | 4 |
Taiwan | 15 | 6 | - | 6 |
Thailand | 4 | 4 | - | 4 |
United Kingdom | 14 | 17 | - | 16 |
United States | 48 | 85 | - | 81 |
Vietnam | 4 | 5 | - | 5 |
device | ga4 | umami | plausible | rybbit |
---|---|---|---|---|
desktop | 191 | 182 | - | 307 |
mobile | 41 | 52 | - | 58 |
tablet | 4 | 136 | - | 0 |
Looking at the numbers we can definitely see some clear differences / trends:
- Plausible does not have certain metrics for chosen reports (they are simply missing)
- Rybbit consistently manages to collects more data for all report types
- First (Overview) report clearly shows:
- how well Rybbit attributes page views to long sessions
- how well Rybbit calculates bounce rate metric
Why do I think that Rybbit's bounce rate metric calculations are the best? Because other tools (except for GA4) consider long single-pageview sessions a bounce. Since my blog is mostly used to only view one page, I constantly see high bounce rate in other tools, even when visitors spend 10+ minutes on one page.
My verdict: Rybbit wins data quality comparison by a huge margin. 🏆
Especially when you consider that Rybbit also has unique features like Session replays, Performance Tracking, Error tracking and many more.