Cykl życia (po stronie serwera)
Przekazuj link do nagrania z naszego serwera do ActiveCampaign, Mailchimp, Iterable albo Klaviyo - w chwili, gdy sesja otrzyma Twój własny identyfikator klienta.
1. Dlaczego istnieje obok mostu przeglądarkowego
MousePlayer ma już most cyklu życia, który zapisuje do SDK działającego na Twojej stronie - Klaviyo, Braze, Customer.io i sześć innych. Ten robi to samo z naszego serwera, a istnieje dlatego, że dla dwóch największych platform droga przez przeglądarkę po prostu nie istnieje:
- ActiveCampaign w ogóle nie ma przeglądarkowego API do zdarzeń. Jego
vgo()potrafi ustawić konto i adres e-mail oraz uruchomić śledzenie - wysłać zdarzenia nie potrafi. Zdarzenia idą przez Event Tracking API z osobnym kluczem, wyłącznie po stronie serwera. - Mailchimp ma je, ale z zamkniętym słownikiem. Jego piksel przyjmuje
PAGE_VIEWED,PRODUCT_VIEWED,PURCHASEDi garść innych z góry ustalonych nazw. Na własne zdarzenie nie ma miejsca, a wciśnięcie naszych danych wPAGE_VIEWEDbyłoby kłamstwem w Twoim własnym modelu danych.
Przy Iterable i Klaviyo droga serwerowa jest po prostu pewniejsza: żadnego blokera reklam, żadnego SDK, które mogło się załadować albo nie, żadnej karty zamkniętej za wcześnie.
2. Czego wymaga
Trzy pola, a które z nich wypełniasz, zależy od platformy.
| Platforma | Pole konta | Klucz |
|---|---|---|
| ActiveCampaign | actid | Website → Site Tracking, obok klucza zdarzeń |
| Mailchimp | Identyfikator odbiorców | Klucz API - zachowaj końcówkę w rodzaju -us14, z niej odczytujemy centrum danych |
| Iterable | niepotrzebne - zostaw puste | Klucz z uprawnieniem "Allow event track calls" |
| Klaviyo | niepotrzebne - zostaw puste | Klucz API prywatny |
Trzecie pole to nazwa zdarzenia, pod którą pojawi się to po drugiej stronie. Trzymaj ją krótko: najwyżej 32 znaki. To ograniczenie API, nie nasze, a skracamy je przy zapisie, nie przy wysyłce - inaczej formularz pokazywałby coś innego, niż faktycznie dociera.
Mailchimp: zachowaj końcówkę klucza API. Część po ostatnim myślniku (-us14) wskazuje centrum danych Twojego konta i z niej budowany jest adres. Klucz bez niej zostaje odrzucony z czytelnym komunikatem, zamiast zawieść tam, gdzie tego nie widzisz.
3. Kiedy działa - a kiedy nie
W chwili, gdy sesja zostaje zidentyfikowana: gdy Twoja strona wywoła MousePlayer.setUserId(), gdy nasz most analityczny odczyta identyfikator, albo gdy Twój serwer wywoła punkt identify. Wcześniej nie wiemy, do kogo należy nagranie.
Tylko z adresem e-mail
Wszystkie cztery platformy adresują kontakt po jego e-mailu. Jeśli Twój identyfikator klienta to numer umowy, nic nie wysyłamy - kolejkowanie zadania, które może się tylko nie udać, jedynie zapełniłoby Twój dziennik.
Kontakt musi już istnieć. Żadna z tych platform nie zakłada go na podstawie zdarzenia; ActiveCampaign odrzuca zdarzenie w całości, jeśli nie zna adresu. Ten most wzbogaca Twoje istniejące kontakty - nie buduje Twojej listy.
Każde zdarzenie niesie identyfikator
Dzięki temu ta sama sesja nie policzy się dwa razy, nawet jeśli zadanie zostanie powtórzone.
4. Co dociera po drugiej stronie
Jedno zdarzenie, niosące link do nagrania jako właściwość mouseplayer_session_url. Jedno kliknięcie i jesteś w nagraniu dokładnie tej sesji.
Wszystko dalsze to logika Twojej platformy: zdarzenie jako wyzwalacz automatyzacji, jako warunek segmentu albo po prostu jako droga dla Twojego zespołu, żeby otworzyć nagranie z poziomu kontaktu.
Klucz nie opuszcza naszego serwera
Jest zapisywany z szyfrowaniem AES-256-GCM, po zapisaniu nigdy więcej nie pokazywany i celowo nie trafia do wewnętrznej kolejki, która niesie zadanie - worker pobiera go sam z bazy.
HTTP 200 nie znaczy doręczone
ActiveCampaign odpowiada statusem 200 i {"success":0}, gdy odrzuca zdarzenie. Czytamy treść odpowiedzi, a nie tylko status - odrzucenie pojawia się więc w dzienniku doręczeń jako niepowodzenie, a nie jako cichy sukces.
5. Braze, Customer.io i Brevo
Trzy kolejne platformy na drodze serwerowej. Dwie z nich potrzebują czegoś, czego pozostałe nie: miejsca.
| Podajesz | Rozpoznawany po | |
|---|---|---|
| Braze | punkt końcowy REST i klucz API | adresie e-mail |
| Customer.io | site ID, klucz API i Twój region | Twoim własnym identyfikatorze klienta |
| Brevo | klucz trackera, nic więcej | adresie e-mail |
Dwie z nich mieszkają w konkretnym miejscu
Braze prowadzi punkty końcowe REST przypisane do instancji, Customer.io dwa osobne regiony z różnymi hostami. Żadnego z nich nie da się wywieść z klucza, a zły wybór odpowiada 401 - co każe szukać przy kluczu. Wyłącznie dlatego istnieją oba pola.
Customer.io jako jedyne nie potrzebuje e-maila
Zna swoich ludzi pod tym samym identyfikatorem, który im nadajesz; wymóg adresu e-mail byłby tam wymyśloną przeszkodą. Pozostała szóstka dopasowuje po e-mailu, i dla nich sesja zidentyfikowana numerem umowy nie daje nic - i słusznie.
Żadnych nowych profili
Wywołanie Braze niesie _update_existing_only. Ta sama decyzja co przy mostku CRM: sesja przeglądarki nie jest wiarygodną informacją o tym, kim są Twoi klienci, a platforma cyklu życia, w której przybywa profil na każdego anonimowego odwiedzającego, jest gorsza niż brak integracji.
Brevo odpowiada 204, Braze 201 z haczykiem
Brevo w ogóle nie zwraca treści - tam 2xx naprawdę jest całą prawdą. Braze zwraca "message": "success" i może obok tego nieść tablicę errors: rzeczy krytyczne stoją w message, tolerowane straty pól tylko w errors. Kto czyta tylko jedno z dwóch, myli się w jedną albo w drugą stronę.
Wszystkie wymienione znaki towarowe należą do ich właścicieli. MousePlayer nie pozostaje w żadnych relacjach biznesowych z tymi dostawcami.