Mostek PostHog, Mixpanel i Amplitude

Twoje narzędzie analityki produktowej mówi, co się wydarzyło. MousePlayer pokazuje, dlaczego. Ten mostek łączy oba w dwie strony — od porzucenia w lejku do nagrania, które je wyjaśnia, dzieli Cię jedno kliknięcie.

1. Problem: liczby bez twarzy

Analityka produktowa daje Ci lejek: 1000 użytkowników dotarło do kasy, 620 ją porzuciło. To precyzyjny pomiar problemu, którego wciąż nie widzisz. Obejrzenie kilku z tych 620 nagrań zwykle odpowiada na pytanie w kilka minut — ale tylko wtedy, gdy da się przejść z wykresu do właściwych sesji bez eksportowania identyfikatorów i ręcznego szukania.

Mostek analityki produktowej zamyka tę lukę. Działa wewnątrz mp.js i łączy oba systemy automatycznie:

  • W stronę narzędzia: każde zdarzenie zapisane przez Twoją analitykę niesie właściwość mouseplayer_session_url. Otwierasz zdarzenie, klikasz link, oglądasz sesję.
  • W stronę MousePlayera: distinct_id odwiedzającego jest odczytywane i zapisywane przy sesji. Nagrania stają się wyszukiwalne po tej samej tożsamości, której już używasz w PostHogu, Mixpanelu czy Amplitude.

Bez pisania kodu. Mostek sam wykrywa SDK analityki. Nie wywołujesz żadnej funkcji MousePlayera i nie zmieniasz sposobu, w jaki śledzisz zdarzenia.

2. Aktywacja

Sposób A: panel (bez kodu)

  1. Otwórz projekt i przejdź do zakładki Integrations.
  2. Przełącz PostHog, Mixpanel & Amplitude Bridge na WŁ.
  3. Wybierz używaną platformę. Zmiany zapisują się automatycznie.

Ustawienie zadziała przy kolejnym wczytaniu Twojej strony. Trwające sesje nie są zmieniane wstecz.

Sposób B: ręczna konfiguracja skryptu

Jeśli wolisz wpisać to na sztywno, ustaw dwie wartości w window.mp_config:

<!-- SDK MousePlayera z wlaczonym mostkiem analityki --> <script> window.mp_config = { channel: 'TWOJE_CHANNEL_ID', analytics_bridge_active: true, analytics_provider: 'posthog' // 'posthog', 'mixpanel' lub 'amplitude' }; </script>

3. Co dzieje się na każdej platformie

Każda platforma udostępnia inne API, więc mostek używa wywołania typowego dla danego narzędzia. Nie musisz tego konfigurować — wynika z wyboru dostawcy.

PlatformaW stronę narzędzia (URL nagrania)W stronę MousePlayera (tożsamość)
PostHog posthog.register() — rejestrowane jako super property, więc dołącza do każdego kolejnego zdarzenia posthog.get_distinct_id()
Mixpanel mixpanel.register() — to samo zachowanie super property mixpanel.get_distinct_id()
Amplitude setUserProperties() — ustawiane jako user property getDeviceId(), z odwrotem do getInstance().options.deviceId w starszym SDK

Super property a user property: w PostHogu i Mixpanelu URL nagrania dołącza do zdarzeń od momentu inicjalizacji. Znajdziesz go więc przy każdym zdarzeniu po starcie mostka — ale nie przy tych wysłanych wcześniej, na początku wczytywania strony.

4. Tożsamość: od distinct_id do nazwanej sesji

Kierunek powrotny jest tym, który większość zespołów niedocenia. Bez niego sesje w MousePlayerze są anonimowe: możesz je oglądać, ale nie odpowiesz na pytanie „pokaż mi nagrania konta, które zrezygnowało w zeszłym tygodniu".

Po włączeniu mostka distinct_id z Twojej analityki trafia do pola custom_user_id sesji — tego samego, które wypełnia ręczne wywołanie SDK:

// Reczny odpowiednik - przy wlaczonym mostku NIE jest potrzebny mp('set', { user_id: 'twoje-wewnetrzne-id' });

Jeśli już wywołujesz mp('set') samodzielnie, rób to dalej. Tożsamość podana wprost jest pewniejsza, bo jest Twoim własnym kluczem głównym, a nie identyfikatorem analityki przypisanym do przeglądarki.

Uwaga o prywatności: przekazywany jest wyłącznie identyfikator, który Twoje narzędzie analityczne i tak już nadało. Z SDK nie są odczytywane adresy e-mail, imiona ani inne dane osobowe. Zadbaj o to, by Twoja polityka prywatności obejmowała to przetwarzanie, i osadź skrypt śledzący za swoim narzędziem zgód, jeśli opierasz się na zgodzie jako podstawie prawnej.

5. Zachowanie techniczne

SDK analityczne ładują się zwykle asynchronicznie, często już po starcie mp.js. Pojedyncza próba przy uruchomieniu zawiodłaby więc na większości prawdziwych stron.

  • Mostek ponawia próbę co 1,5 sekundy, maksymalnie dziesięć razy, i kończy, gdy oba kierunki są załatwione.
  • Każdy kierunek finalizuje się niezależnie, więc URL nagrania nie jest wysyłany dwa razy w oczekiwaniu na tożsamość.
  • Jeśli SDK nigdy się nie pojawi, mostek po około 15 sekundach cicho odpuszcza. Nic nie trafia do konsoli, a nagrywanie sesji działa dalej bez zmian.
  • Identyfikatory dłuższe niż 128 znaków są pomijane, a nie przycinane — połowa identyfikatora i tak nigdy by się z niczym nie zgadzała.

6. Sprawdzenie, czy działa

  1. Otwórz swoją stronę w zwykłej karcie przeglądarki i chwilę na niej poklikaj.
  2. W narzędziu analitycznym otwórz najnowsze zdarzenie i poszukaj właściwości mouseplayer_session_url. Kliknięcie powinno prowadzić prosto do nagrania.
  3. W MousePlayerze otwórz User Explorer. Sesje z tożsamością pokazują ją zamiast wygenerowanego pseudonimu odwiedzającego.

Gdy nic się nie pojawia

  • Właściwości brakuje przy wszystkich zdarzeniach: sprawdź, czy SDK analityki faktycznie ładuje się na stronie i czy wybrałeś właściwą platformę. Wybór PostHoga nie odczyta Mixpanela.
  • Właściwość pojawia się dopiero przy późniejszych zdarzeniach: tak ma być, patrz uwaga w sekcji 3.
  • URL jest, tożsamości nie ma: Twoje SDK nie nadało jeszcze distinct_id. To normalne, dopóki użytkownik nie został zidentyfikowany — zostanie pobrane przy kolejnym wczytaniu strony.
  • Testujesz jako zalogowany administrator: część konfiguracji wyklucza ruch wewnętrzny. Spróbuj w oknie prywatnym.

Wszystkie wymienione znaki towarowe należą do ich właścicieli. MousePlayer nie pozostaje w żadnych relacjach biznesowych z tymi dostawcami.