PostHog — analityka, która pokazuje, co użytkownicy naprawdę robią

17.09.2026 | Autor: Marcin Wiercioch

Google Analytics odpowie Ci na pytanie, ilu użytkowników odwiedziło stronę i skąd przyszli. Ale gdy zapytasz, dlaczego połowa z nich porzuca formularz na trzecim polu albo co dokładnie zrobił użytkownik przed zgłoszeniem błędu — zapada niezręczna cisza. Właśnie tę lukę wypełnia PostHog: otwartoźródłowa platforma analityki produktowej, która łączy w jednym narzędziu analizę zdarzeń, nagrania sesji, mapy cieplne, feature flagi, testy A/B i ankiety. W tym artykule pokazujemy, jak ją wdrożyć i które funkcje dają najwięcej wartości od pierwszego dnia.

Czym PostHog różni się od GA4?

To narzędzia z różnych światów, które częściowo się pokrywają. GA4 wyrósł z marketingu: kampanie, źródła ruchu, konwersje reklamowe. PostHog wyrósł z produktu: co użytkownicy robią wewnątrz aplikacji czy sklepu i gdzie ich tracimy. Najważniejsze różnice z naszej praktyki:

  • Surowe zdarzenia zamiast agregatów — każdy event można obejrzeć, przefiltrować i połączyć w lejek czy analizę retencji; bez samplingu i bez czekania dobę na przetworzenie danych,
  • nagrania sesji (session replay) — odtwarzasz film z wizyty użytkownika: ruchy myszy, kliknięcia, błędy konsoli; bezcenne przy debugowaniu i badaniu UX,
  • feature flagi i eksperymenty w tym samym narzędziu — od razu widać, jak włączona funkcja wpływa na metryki,
  • kontrola nad danymi — chmura z serwerami w UE (region eu.posthog.com) albo pełny self-hosting na własnej infrastrukturze; przy RODO to zupełnie inna rozmowa niż z GA,
  • autocapture — kliknięcia, submity i nawigacja zbierają się same, bez oznaczania każdego przycisku z osobna.

Czy PostHog zastępuje GA4? W wielu projektach tak, ale oba narzędzia potrafią też spokojnie żyć obok siebie: GA4 dla marketingu i mediów, PostHog dla zespołu produktowego i deweloperów.

Wdrożenie w 10 minut

Zakładamy konto (wybierając region UE), a następnie wklejamy snippet przed zamknięciem </head> — albo instalujemy bibliotekę z npm:

npm install posthog-js
import posthog from "posthog-js";

posthog.init("phc_TwojKluczProjektu", {
  api_host: "https://eu.i.posthog.com",
  defaults: "2025-05-24",
  capture_exceptions: true
});

Od tego momentu autocapture rejestruje odsłony, kliknięcia i wysyłki formularzy. W WordPressie snippet najwygodniej dodać przez własną wtyczkę lub w motywie — a jeśli korzystacie z naszej opieki technicznej, robimy to za Was wraz z konfiguracją zgód cookie.

Własne zdarzenia i tożsamość użytkownika

Autocapture to start, ale prawdziwa siła zaczyna się od zdarzeń domenowych — nazwanych tak, jak mówi Wasz biznes:

posthog.capture("add_to_cart", {
  product_id: "SKU-1234",
  price: 249.99,
  currency: "PLN"
});

// po zalogowaniu łączymy anonimową historię z kontem
posthog.identify("user_8721", {
  plan: "premium",
  city: "Wroclaw"
});

Dzięki identify wcześniejsza anonimowa aktywność użytkownika zostaje przypięta do jego konta — lejek „wejście → rejestracja → pierwszy zakup” nagle staje się kompletny. Zdarzenia można też wysyłać z backendu (biblioteki dla PHP, Pythona, Node) — np. o opłaceniu zamówienia, co uniezależnia kluczowe metryki od adblocków.

Session replay: zobacz, co widział użytkownik

Nagrania sesji włącza się jednym przełącznikiem w ustawieniach projektu. Dwie rzeczy, o które trzeba zadbać:

  • maskowanie danych — PostHog domyślnie maskuje pola formularzy; warto dodać klasę ph-no-capture na elementach z danymi wrażliwymi (adresy, numery zamówień), aby w nagraniach były zamazane,
  • zgody — replay uruchamiamy dopiero po zgodzie użytkownika, spinając go z bannerem cookie (PostHog ma tryb opt-in: opt_out_capturing_by_default plus wywołanie posthog.opt_in_capturing() po akceptacji).

W praktyce nagrania najczęściej oglądamy z filtrem „sesje z błędem konsoli” albo „sesje z rage-clickiem” — to najkrótsza droga od zgłoszenia „coś nie działa” do konkretnej linijki, która nie działa.

Feature flagi i testy A/B

Flaga w PostHogu to przełącznik, którym można objąć procent ruchu albo konkretną grupę użytkowników:

if (posthog.isFeatureEnabled("new-cart")) {
  renderNewCart();
} else {
  renderOldCart();
}

Eksperyment to ta sama flaga plus metryka celu: PostHog sam dzieli ruch, zlicza konwersje w obu wariantach i mówi, kiedy wynik jest istotny statystycznie. Dla sklepów to naturalne narzędzie do testowania układu karty produktu, treści przycisków czy kroków checkoutu — bez zewnętrznych narzędzi i bez migotania strony.

Ile to kosztuje?

Model jest oparty o zużycie, z hojnym darmowym progiem co miesiąc: 1 milion zdarzeń, kilka tysięcy nagrań sesji i milion sprawdzeń flag. Mniejsze i średnie strony często nie wychodzą poza darmowy próg w ogóle. Powyżej — płaci się za faktycznie zebrane dane, a limity wydatków (billing limits) chronią przed niespodziankami. Dla organizacji z twardymi wymogami compliance zostaje opcja self-hostingu (obraz Dockera, wersja hobby) — dane w 100% na własnym serwerze, kosztem samodzielnego utrzymania.

Pułapki, których warto uniknąć

  • autocapture bez planu nazewnictwa zdarzeń kończy się chaosem — ustalcie słownik zdarzeń domenowych na początku,
  • wysyłanie danych osobowych w propertiesach zdarzeń to proszenie się o problem — trzymajcie tam identyfikatory, nie e-maile,
  • replay na stronach z danymi medycznymi czy finansowymi wymaga szczególnie starannego maskowania,
  • przy dużym ruchu warto ograniczyć nagrania do próbki sesji — 10% zwykle wystarcza do wniosków.

Podsumowanie

PostHog skraca dystans między pytaniem „dlaczego użytkownicy odpadają?” a odpowiedzią popartą danymi — i robi to w jednym narzędziu zamiast pięciu osobnych abonamentów. W połączeniu z europejskim regionem danych jest też po prostu łatwiejszy do obronienia prawnie niż amerykańskie alternatywy. Wdrażamy go u klientów razem z konfiguracją zgód i słownikiem zdarzeń — napisz do nas, jeśli chcesz wreszcie widzieć, co naprawdę dzieje się w Twoim sklepie. Za dwa tygodnie ostatni artykuł serii: Cloudflare Turnstile, czyli jak pożegnać męczące CAPTCHA bez otwierania drzwi botom.

Marcin Wiercioch Marcin Wiercioch

programista, full stack developer

Współzałożyciel Okinet, programista PHP, Full stack developer, administrator linux i pasjonat technologii z 20 letnim stażem. Ostatnimi czasy szczególnie rozwijam umięjętności związane z optymalizacją i automatyzacją środowisk developerskich dzięki czemu budowane przez nas aplikacje internetowe są wydajne, bezpieczne i rozwijalne.

Wszystkie artykuły autora

Udostępnij

Oceń artykuł

Porozmawiaj z nami
o swoim projekcie

+48 506 160 480
[email protected]

lub napisz