Cele i lejki
Konwersje, które
Twój backend poświadczy.
Cztery predefiniowane typy celów z widocznymi mianownikami, zdarzenia niestandardowe ze ścisłą schemą ze scrubbingiem, konwersje server-to-server przez endpoint z tokenem HMAC oraz wielokrokowe lejki liczone na żywo w 24-godzinnym oknie zdarzeń. Prawda o konwersjach, która przeżyje audyt — bo backend może ją podpisać.
Cele predefiniowane
Cztery typy celów, zero próżniowych wskaźników.
Cele dostają predefiniowane id — page-based, event-based, duration i scroll-depth — a każdy wskaźnik konwersji jest wysyłany z widocznym mianownikiem. Żadnego procenta bez liczby, z której wyszedł.
| Typ celu | Odpala się, gdy | Przykładowe id celu |
|---|---|---|
| Page-based | wyświetlona zostanie ścieżka (albo wzorzec ścieżki) | reach_checkout |
| Event-based | przyjdzie zdarzenie niestandardowe | plan_selected |
| Duration | czas zaangażowania przekroczy próg | engaged_3min |
| Scroll-depth | osiągnięte zostanie pasmo głębokości | scroll_75 |
| Cel | Konwersje | Mianownik | Wskaźnik |
|---|---|---|---|
| reach_checkout · page | 1,486 | 3,412 sesji | 43.6% |
| plan_selected · event | 921 | 3,412 sesji | 27.0% |
| scroll_75 · scroll-depth | 5,103 | 12,887 odsłon | 39.6% |
| engaged_3min · duration | 2,214 | 12,887 odsłon | 17.2% |
Konwersje godne zaufania
Twój backend podpisuje prawdę.
Zdarzenia z przeglądarki mogą ginąć na ad blockerach i w martwych strefach. Dlatego Observer dostarcza zdarzenia server-to-server: Twój backend wysyła konwersje POST-em na endpoint /s2s collectora z per-witrynowym tokenem HMAC, a lądują z tą samą integralnością co przeglądarkowe. Tą samą ścieżką idzie POST events publicznego API — zbuduj zapis konwersji w CI, jeśli chcesz.
Uwierzytelnianie tokenem HMAC
Jeden token per witryna, wystawiany w dashboardzie. Żądania bez ważnego podpisu collector odrzuca — brak tokenu, brak konwersji.
Potwierdzane backendem
Płatność potwierdzona, subskrypcja rozpoczęta, zamówienie wysłane — zdarzenia, których Twój serwer jest pewien, przypisane do tego samego modelu tożsamości bez cookies.
# from your backend — HMAC token, per site
POST /s2s
{ "name": "subscription_started" }
Po stronie klienta zdarzenia niestandardowe idą za ścisłą schemą: observer('event', 'signup_click', {plan:'pro'}) — co najwyżej 10 właściwości, scrubbing po stronie serwera, dozwolone tylko, gdy nazwa zdarzenia jest na liście dozwolonych witryny.
Wielokrokowe lejki
Znajdź krok, w którym odchodzą.
Buduj uporządkowane lejki z 2–8 kroków — ścieżek stron albo nazw zdarzeń niestandardowych — a Observer liczy je na żywo w 24-godzinnym oknie zdarzeń: sesje na każdym kroku, konwersję od startu i % odpadu na każdym etapie, renderowane jako słupki lejka, których szerokość to wolumen, czerwone powyżej 50% spadu.
Liczone na żywo
Sesje są liczone na każdym kroku z 24-godzinnego horyzontu zdarzeń — konwersja od startu i odpad na każdym etapie, a nie nieświeży nocny batch.
Ścieżki albo zdarzenia
Mieszaj ścieżki stron i nazwy zdarzeń dowolnie: wizyta na /pricing, odpalenie plan_selected, dojście do /signup — lejek to dowolna kolejność, w jakiej naprawdę biegnie Twoja konwersja.
Kto dotyka lejków
Każda zmiana, na zapisie.
Lejki żyją w control plane pod dostępem opartym o role: analitycy budują, ownerzy i adminowie usuwają — a każda mutacja trafia do append-only dziennika audytu, więc „kto co zmienił i kiedy” zawsze ma odpowiedź.
| Akcja | Minimalna rola | Ślad |
|---|---|---|
| Utworzenie lejka | analityk i wyżej | zapis w dzienniku audytu |
| Podgląd wyników lejka | każda rola dashboardu | tylko odczyt |
| Usunięcie lejka | owner albo admin | zapis w dzienniku audytu |
| Zmiany poziomu i polityki | wyłącznie owner | zapis w dzienniku audytu |
Kontrole ról działają serwerowo przy każdym żądaniu z per-zapytaniowym scope'owaniem tenanta — UI ukrywa to, na co Twoja rola nie ma prawa, a API odmawia tego niezależnie od tego, co pokazuje UI.
Licz, co ważne,
z mianownikiem na widoku.
Cele, zdarzenia niestandardowe i lejki wchodzą w tryb domyślny — bez banera zgody. Dostęp po podpisaniu NDA; wdrażamy razem z Twoim zespołem DevOps, więc ścieżka s2s jest wpięta w Twój backend, a nie doklejona z boku.