Tekst: Kristijan Sekereš
Rybbit Analytics: alternatywa dla Google Analytics bez plików cookie, na własnym serwerze

Czym jest Rybbit, jak działa i jak go skonfigurować?
Rybbit to narzędzie open source do analityki internetowej, które liczy odwiedzających bez ustawiania plików cookie. To młody projekt. Wersja 1.0 ukazała się 30 maja 2025, 2.0 w październiku 2025, a według stanu na 15 października 2026 najnowsze wydanie to 2.9.1, oznaczone tagiem 12 września 2026. Kod jest dostępny na GitHubie na licencji AGPL-3.0. Tomato.gg LLC, amerykańska firma, która za nim stoi, sprzedaje też wersję hostowaną.
U nas działa na c9group.dev, na naszych własnych serwerach, podobnie jak Mautic. Kiedy chcemy wiedzieć, co odwiedzający faktycznie robili na stronie, w pierwszej kolejności sięgamy właśnie po niego. Ten przewodnik opisuje, w czym jest dobry, gdzie ma braki i jak go skonfigurować.
Jak to działa: niewielki skrypt, script.js, ładuje się z Twojego serwera Rybbit i wysyła do niego odsłony oraz zdarzenia. Zdarzenia trafiają do ClickHouse, kolumnowej bazy danych zbudowanej właśnie do takiego zliczania. Konta, witryny i ustawienia są przechowywane w Postgresie. Panel to aplikacja Next.js, a API pod nim to serwer Node.js.
Jakie korzyści daje Rybbit?
Bez plików cookie
Rybbit nie ustawia żadnych plików cookie. Serwer rozpoznaje powracającego odwiedzającego po hashu jego adresu IP i user agenta przeglądarki, a od wersji 2.8 traktuje też jako jedną osobę kogoś, komu adres IP zmienia się w trakcie wizyty, dopasowując cechy jego przeglądarki. GA4 natomiast ustawia pliki cookie i czeka na zgodę, więc w jego raportach brakuje każdego odwiedzającego, który zignoruje baner albo go odrzuci (tryb uzyskiwania zgody Google, czyli Consent Mode, część z nich odtwarza modelowaniem).
Brak plików cookie nie oznacza, że pytanie o zgodę znika. Skrypt śledzący w wersji 2.9 przy każdej wizycie zapisuje w pamięci lokalnej przeglądarki (local storage) losowy identyfikator odwiedzającego, niezależnie od Twoich ustawień; na serwer trafia on tylko wtedy, gdy korzystasz z flag funkcji (feature flags) Rybbita. Wymóg zgody z dyrektywy ePrivacy (art. 5 ust. 3) obejmuje wszelkie informacje przechowywane na urządzeniu odwiedzającego, nie tylko pliki cookie, a Wytyczne 2/2023 Europejskiej Rady Ochrony Danych interpretują go szeroko. Zastosowanie ma również RODO: adres IP nadal trafia na Twój serwer, a dokumentacja samego Rybbita zaznacza, że domyślny zahaszowany identyfikator „może zostać uznany za przechowywanie danych umożliwiających identyfikację osoby w rozumieniu RODO”.
Dlatego to, czy Rybbit może działać, zanim odwiedzający odpowie na baner, musi rozstrzygnąć osoba odpowiedzialna za Twoją politykę prywatności. Samo słowo „cookieless” tego nie przesądza. Ustawienia, które ograniczają zakres zbieranych danych, opisujemy niżej, w części „Ustawienia prywatności”.
Szczegóły sesji, na podstawie których można działać
Każda sesja zawiera źródło ruchu, parametry UTM, kanał, czas trwania i odsłony. Po włączeniu autocapture (automatycznego przechwytywania) Rybbit liczy też kliknięcia przycisków, wysłane formularze, zmiany w polach, skopiowany tekst i kliknięcia w linki wychodzące. Na pytanie „Czy się zaangażowali?” odpowiada wtedy liczba, a nie przeczucie.
Jeśli płacisz za ruch, zanim podniesiesz budżet, właśnie tu zobaczysz, czy ci odwiedzający przeczytali stronę, czy wyszli w ciągu sekundy.
Odtwarzanie sesji, lejki i ścieżki w darmowej wersji
Wersja instalowana na własnym serwerze obejmuje odtwarzanie sesji, lejki, ścieżki użytkowników, retencję, cele, śledzenie błędów i Web Vitals. Tym Rybbit najbardziej różni się od alternatyw. Matomo sprzedaje mapy cieplne i nagrania sesji jako płatne wtyczki do instalacji na własnych serwerach. Plausible nie ma lejków ani ścieżek użytkowników w swojej darmowej wersji Community Edition.
Lekki w utrzymaniu
Rybbit potrzebuje serwera z co najmniej 2 GB RAM. Cały stos mieści się na jednym VPS-ie, a według jego własnej dokumentacji instalacja na własnym serwerze zajmuje od 30 do 120 minut.
API i serwer MCP
Wszystko, co widać w panelu, jest dostępne przez REST API z osobistym kluczem API. Rybbit udostępnia też serwer MCP, dzięki któremu asystent AI, taki jak Claude Code czy Cursor, może bezpośrednio odpytywać Twoje statystyki. Jedno i drugie działa także z instancją na własnym serwerze.
Jak skonfigurować Rybbit
Rybbit Cloud
Najszybsza droga: zakładasz konto, dodajesz domenę, wklejasz jeden tag skryptu. Chmura przechowuje dane analityczne na serwerach Hetznera w Niemczech i Finlandii. Plany i ceny opisujemy niżej, w części „Koszty”.
WordPress
Oficjalnej wtyczki nie ma i nie jest potrzebna. Według przewodnika Rybbita dla WordPressa tag skryptu dodaje się przez wtyczkę taką jak WPCode albo w pliku functions.php lub header.php motywu potomnego. Na WordPress.com wymaga to planu Business lub wyższego.
Na własnym serwerze z Dockerem
Mała skala: startupy i małe witryny
Czego potrzebujesz:
- VPS z co najmniej 2 GB RAM. Rybbit jest testowany na Ubuntu 24 LTS na x86_64; serwer ARM musi mieć architekturę ARMv8.2-A lub nowszą, bo wymaga tego ClickHouse.
- Docker Engine i Git.
- Subdomena, na przykład
analytics.example.com, z rekordem A wskazującym na serwer. HTTPS jest konieczny, ponieważ przeglądarki blokują skrypt śledzący serwowany przez zwykłe HTTP. Jeśli domena jest w Cloudflare, ustaw rekord na DNS only albo tryb SSL na Full lub Full (strict).
Następnie:
git clone https://github.com/rybbit-io/rybbit.git
cd rybbit
chmod +x *.sh
./setup.sh analytics.example.com
Skrypt zapisuje plik .env i uruchamia kontenery: ClickHouse, Postgres, Redis, backend, panel oraz Caddy, który pobiera certyfikat TLS. Otwórz https://analytics.example.com/signup i załóż pierwsze konto.
Potem zamknij za sobą drzwi. Dodaj DISABLE_SIGNUP=true do .env i uruchom ./restart.sh, żeby obcy nie mogli zakładać kont na Twoim serwerze.
Jeśli na serwerze działa już reverse proxy, takie jak Traefik czy Nginx, uruchom ./setup.sh analytics.example.com --no-webserver. Caddy zostaje pominięty, a TLS terminuje Twoje proxy.
Aktualizacja: git pull, a potem ./update.sh.
Duża skala: duże witryny i agencje
Backend odczytuje CLICKHOUSE_HOST, POSTGRES_HOST i REDIS_HOST ze zmiennych środowiskowych, więc każdą bazę danych można przenieść na osobny serwer bez zmian w aplikacji. Rośnie przede wszystkim ClickHouse: przechowuje każde zdarzenie i, jeśli nagrywasz sesje, każde nagranie. To jemu w pierwszej kolejności daj osobną maszynę z szybkim dyskiem SSD.
Na AWS obrazy backendu i panelu działają na ECS Fargate jak każdy inny kontener, ClickHouse na instancji EC2, a Postgres na RDS. Nagrania sesji są domyślnie przechowywane przez 30 dni dzięki TTL na dwóch tabelach ClickHouse, który możesz skrócić.
Jeśli wolisz nie utrzymywać niczego z tego samodzielnie, plan Enterprise Rybbita oferuje dedykowaną instancję albo instalację on-premise.
Skrypt śledzący
<script src="https://analytics.example.com/api/script.js?siteId=YOUR_SITE_ID" async></script>
Identyfikator witryny przekaż w adresie URL. Starszy atrybut data-site-id nadal działa, ale wtyczki optymalizacyjne, takie jak WP Rocket, przebudowują tagi skryptów i usuwają atrybuty data-.
Aplikacje jednostronicowe (SPA) nie wymagają niczego dodatkowego. Skrypt śledzi nawigację przez History API i zapisuje każdą zmianę trasy jako odsłonę, po 500 ms opóźnienia (debounce). Śledzone są też trasy w hashu, które zaczynają się od #/.
Własne zdarzenia:
window.rybbit.event('quote_requested', { plan: 'pro' });
Nazwy zdarzeń mogą mieć do 256 znaków, a właściwości (ciągi znaków i liczby) do 2 KB.
Kluczowe funkcje Rybbita
Analityka
- Sesje, unikalni użytkownicy, odsłony, współczynnik odrzuceń i czas trwania sesji
- Panel czasu rzeczywistego z globusem na żywo
- Lokalizacja z dokładnością do kraju, regionu i miasta
- Filtrowanie według ponad 15 wymiarów i zapisane segmenty
- Własne zdarzenia z właściwościami
- Cele, lejki, ścieżki użytkowników i retencja
- Śledzenie nieprzechwyconych błędów JavaScript
- Web Vitals
- Wykrywanie i filtrowanie botów
Zachowanie użytkowników
- Odtwarzanie sesji, w którym każda wpisana wartość jest domyślnie zamaskowana
- Autocapture kliknięć, wysłanych formularzy, kopiowania i linków wychodzących
- Profile użytkowników, z nazwami i cechami, gdy wywołasz
rybbit.identify()dla zalogowanych użytkowników
Udostępnianie i integracje
- Nieograniczona liczba witryn i organizacji z zespołami
- Publiczne panele i widżety do osadzania
- REST API i serwer MCP
- Integracja z Google Search Console (na własnym serwerze wymaga danych uwierzytelniających Google OAuth)
- Import z Plausible, Umami i Simple Analytics
Ustawienia prywatności
- User ID Salting: codziennie zmienia hash odwiedzającego, więc po 24 godzinach Rybbit zapomina, kim ktoś jest. Ma to realną cenę: liczba unikalnych użytkowników w dłuższych okresach jest zawyżona, a raport retencji traci sens. Zdecyduj przed startem, bo późniejsza zmiana przerywa ciągłość trendów.
- Track IP Address: wyłączone, chyba że je włączysz. Dokumentacja Rybbita określa przechowywanie adresów IP jako „niezgodne z RODO”.
- Odtwarzanie sesji: ustawienie na poziomie witryny, które po włączeniu działa dla każdego odwiedzającego. Aby nagrywać tylko tych, którzy wyrazili zgodę, dodaj
data-replay-sample-rate="0"do tagu skryptu dla wszystkich pozostałych. - Maskowanie w nagraniach: dodaj klasę
rr-block, aby pominąć element w nagraniach, orazrr-mask, aby zastąpić jego tekst gwiazdkami. - Wykluczenia: według adresu IP lub zakresu, kraju, ścieżki, nazwy hosta i user agenta, stosowane na serwerze, zanim cokolwiek zostanie zapisane.
Dlaczego wybrać Rybbit zamiast innych rozwiązań?
vs. Google Analytics 4
- Pokrycie: tam, gdzie wolno Ci załadować go przed zgodą, liczy odwiedzających, którzy nigdy nie odpowiadają na baner (zob. „Bez plików cookie” wyżej)
- Lokalizacja danych: na Twoim serwerze albo w chmurze Rybbita hostowanej w UE
- Szczegóły zachowań: odtwarzanie sesji, którego GA4 nie ma, i czytelny zapis każdej sesji
- Gdzie wygrywa GA4: integracja z Google Ads, grupy odbiorców do remarketingu i atrybucja oparta na danych
vs. Matomo
Wdrażamy oba narzędzia; zobacz nasz przewodnik po Matomo.
- Matomo jest starsze i bardziej rozbudowane: raporty e-commerce, menedżer tagów, duża biblioteka wtyczek i importer historii z Google Analytics. Działa na PHP i MySQL, które obsługuje niemal każdy hosting.
- Rybbit daje więcej za darmo: odtwarzanie sesji i lejki bez płatnych wtyczek oraz prostszy panel.
- Pliki cookie: Rybbit nie ustawia żadnych. Matomo domyślnie używa plików cookie pierwszej strony, ale można je skonfigurować tak, by działało bez nich.
- Historia: Rybbit nie potrafi zaimportować danych z Google Analytics ani z Matomo.
Jeśli sprzedajesz online albo potrzebujesz historii z GA, wybierz Matomo. Jeśli chcesz widzieć, co robią odwiedzający, bez żadnych plików cookie, wybierz Rybbit.
vs. Plausible
- Żadne z nich nie ustawia plików cookie i oba są na licencji AGPL.
- Darmowa wersja Community Edition Plausible nie obejmuje lejków, ścieżek użytkowników, celów przychodowych e-commerce, SSO ani Sites API, a nowe wydania ukazują się dwa razy w roku.
- Plausible nie ma odtwarzania sesji.
- Plausible to prostsze z tych dwóch narzędzi. Jeśli wystarczy Ci jedna strona najważniejszych liczb, przemawia to na jego korzyść.
Gdzie Rybbit ma braki
- Jest młody. Wersja 1.0 ukazała się w maju 2025, a nowe wydania pojawiają się często. Przed każdą aktualizacją przeczytaj informacje o wydaniu.
- Nie raportuje konwersji. Rybbit mierzy zachowanie na stronie. Google Ads i Meta nadal potrzebują własnego śledzenia konwersji, a liczby z Rybbita nigdy nie należy traktować jako konwersji.
- Autocapture nazywa przycisk jego tekstem. Na wielojęzycznej stronie ten sam przycisk trafia jako osobne zdarzenie w każdym języku, więc witryna w 19 językach dostaje 19 wersji jednego kliknięcia. Zamiast tego wysyłaj nazwane własne zdarzenie dla każdego kroku lejka.
- Wersja na własny serwer nie wysyła raportów e-mailem. Wersja w chmurze tak.
- Obowiązki wynikające z AGPL. Jeśli zmodyfikujesz kod Rybbita i pozwolisz innym korzystać z niego przez sieć, musisz opublikować swoje zmiany.
Wymagania techniczne
Na dzień 15 października 2026 najnowsze wydanie to 2.9.1.
Wymagania minimalne
- 2 GB RAM
- x86_64 albo ARMv8.2-A lub nowszy
- Docker Engine i Git
- Domena lub subdomena z HTTPS
Zalecane w środowisku produkcyjnym
- 4 GB RAM lub więcej, bo najwięcej pamięci zużywa ClickHouse
- Dysk SSD
- Zaplanowane kopie zapasowe wolumenów zarówno ClickHouse, jak i Postgresa
- Rejestracja wyłączona po założeniu pierwszego konta
Koszty
Na własnym serwerze
- Oprogramowanie: bezpłatne, na licencji AGPL-3.0
- Serwer: na początek jeden mały VPS
- Utrzymanie: Twój czas na aktualizacje i kopie zapasowe
Rybbit Cloud
Ceny na dzień 15 października 2026, przy rozliczeniu rocznym, z 7-dniowym bezpłatnym okresem próbnym:
- Standard: od 13 USD miesięcznie za 100 000 odsłon miesięcznie. Do 5 witryn i 3 członków zespołu, 3 lata przechowywania danych, bez odtwarzania sesji.
- Pro: od 26 USD miesięcznie. Bez limitu witryn i członków zespołu, odtwarzanie sesji, 5 lat przechowywania danych.
- Enterprise: wycena na zapytanie, w tym instancja dedykowana lub on-premise.
Dobre praktyki
- Wyłącz rejestrację, gdy tylko założysz własne konto.
- Zdecyduj o User ID Salting przed startem. Późniejsza zmiana przerywa ciągłość liczby użytkowników.
- Nie licz własnego ruchu. Wyklucz
localhosti domeny podglądowe według nazwy hosta, a swoje biuro według adresu IP. - Zezwól na skrypt w Content Security Policy. Domena Rybbita musi się znaleźć zarówno w
script-src, jak i wconnect-src, inaczej przeglądarka go zablokuje, a dlaczego, powie Ci tylko konsola. - Sam nazywaj zdarzenia lejka na stronie wielojęzycznej, zamiast polegać na autocapture.
- Maskuj, zanim zaczniesz nagrywać. Dodaj
rr-blockdo wszystkiego, co pokazuje dane klientów, na przykład do potwierdzenia zamówienia, zanim włączysz odtwarzanie sesji. - Twórz kopie zapasowe obu baz danych. ClickHouse przechowuje zdarzenia, Postgres konta i ustawienia.
- Wymień Rybbit w polityce prywatności, podając, co zbiera, wpis w pamięci lokalnej, nagrania sesji, jeśli je rejestrujesz, oraz okres przechowywania danych.
Typowe zastosowania
- Strony marketingowe: sprawdź, czy płatny ruch naprawdę czyta stronę, zanim podniesiesz budżet
- Produkty SaaS: lejki, retencja i profile zalogowanych użytkowników
- Agencje: nieograniczona liczba witryn, zespoły i publiczne panele dla klientów
- Firmy europejskie: dane analityczne na własnych serwerach albo w chmurze hostowanej w UE
- Debugowanie: śledzenie błędów i nagranie sesji, w której coś poszło nie tak
Potrzebujesz pomocy w konfiguracji Rybbita?
Sami używamy Rybbita produkcyjnie. Niezależnie od tego, czy potrzebujesz:
- Instalacji na własnym serwerze za istniejącym reverse proxy
- Przejścia z Google Analytics albo z Plausible lub Umami razem z historią danych
- Własnych zdarzeń i lejków, które przetrwają tłumaczenie strony
- Ustawień prywatności i maskowania nagrań sprawdzonych pod kątem Twojej polityki prywatności
- Rybbita obok Mautica, od anonimowej wizyty do zidentyfikowanego leada
Skontaktuj się z nami pod adresem office@c9group.dev po bezpłatną konsultację i wycenę.
Opublikowano: 15 października 2026 Kategorie: Analityka, Open Source, Prywatność
Analityka
Nowe poradniki i zmiany przepisów e-mailem
Gdy zmienia się przepis, przesuwa się termin albo publikujemy nowy poradnik, wysyłamy go e-mailem.