Mostek CRM
Gdy sesja dostaje nazwisko, nagranie trafia jako notatka przy tej osobie w Twoim CRM - przy kontakcie, który już istnieje, a nie przy nowym.
1. Co się tu dzieje, w jednym zdaniu
W chwili identyfikacji sesji szukamy osoby w Twoim CRM po identyfikatorze, który nam przesłałeś, i dodajemy notatkę z odnośnikiem do nagrania.
Tylko tyle. Żadnych nowych kontaktów, żadnych nowych szans sprzedaży, żadnych zmian w lejku. CRM, w którym przy każdej wizycie na stronie z cennikiem pojawia się duplikat, jest gorszy niż brak integracji.
Jeśli nie znajdziemy osoby, nic się nie dzieje. Utworzenie jej oznaczałoby zapisanie rekordu w Twoim CRM na podstawie sesji przeglądarki - a sesja przeglądarki nie jest wiarygodnym źródłem wiedzy o tym, kim są Twoi klienci.
2. Klucz dopasowania: po czym rozpoznajemy osobę
To ta część, której warto poświęcić dziesięć minut, bo właśnie tu integracja z CRM zwykle po cichu się psuje.
Znamy odwiedzającego pod tym, co powiedziała nam Twoja strona - MousePlayer.setUserId(), identyfikator odczytany z Twojego narzędzia analitycznego albo wywołanie identify po stronie serwera. Twój CRM też zna go pod czymś. Te dwie rzeczy muszą być tym samym.
| Szukamy po | Do zmiany | |
|---|---|---|
| HubSpot | adresie e-mail kontaktu | nie - punkt wyszukiwania jest na nim zbudowany |
| Pipedrive | osobach według frazy, e-mail w pierwszej kolejności | nie |
| Salesforce | polu, które wskazujesz, domyślnie Email | tak |
Dlaczego pyta akurat Salesforce
Instalacje Salesforce rzadko opierają się na adresie e-mail. Twoja może opierać się na Numer_Klienta__c albo na identyfikatorze zewnętrznym z systemu rozliczeń. Gdybyśmy mimo to szukali po e-mailu, nie znaleźlibyśmy nic i zgłosili sukces - najgorszy rodzaj porażki, bo integracja wygląda przy tym na działającą.
Dlatego formularz pyta: które pole kontaktu zawiera wartość, którą Ci wysyłamy? Wpisz nazwę API, razem z __c, jeśli to pole niestandardowe.
Nazwa pola jest sprawdzana ścisłym wzorcem, zanim trafi do zapytania. Nazwa pola CRM to litery, cyfry i podkreślenia - wszystko inne jest odrzucane, a nie maskowane, bo maskowanie można subtelnie zepsuć, a odrzucenie nie.
3. Kiedy działa - i kiedy świadomie nie
Przy identyfikacji: gdy Twoja strona wywołuje MousePlayer.setUserId(), gdy nasz mostek analityczny odczytuje identyfikator z PostHog, Mixpanel lub Amplitude, albo gdy Twój serwer wywołuje punkt identify.
Raz na sesję, nie raz na stronę
Ktoś, kto się loguje, a potem przegląda jedenaście stron, dostaje jedną notatkę, a nie jedenaście. Oś czasu w CRM to miejsce, które ludzie czytają.
Nie bez identyfikatora
Anonimowa sesja nie ma po czym być dopasowana. Nie zgadujemy po adresie IP i nie dołączamy nagrania do kogoś, kto ten adres przypadkiem współdzieli.
Nie, jeśli Twój CRM nie zna tej osoby
Liczy się jako wykonane, a nie jako błąd - potencjalny klient, którego nie ma jeszcze w CRM, to sytuacja normalna, a ponowna próba jutro nic by nie zmieniła.
4. Jak wygląda notatka i gdzie leżą poświadczenia
Jedna notatka na osi czasu kontaktu: wiersz o tym, że sesja została nagrana, oraz odnośnik. Twój handlowiec klika i widzi, co ta osoba naprawdę robiła, zanim się odezwała.
Poświadczenia
Przechowywane z szyfrowaniem AES-256-GCM. Po zapisaniu nigdy więcej nie pokazywane - pole pokazuje gwiazdki, a zapisanie formularza z gwiazdkami zostawia zapisaną wartość nietkniętą. Są też świadomie trzymane poza wewnętrzną kolejką, która niesie zadanie: kolejka to stan współdzielony, a stan współdzielony to złe miejsce na klucz.
Salesforce potrzebuje trzech rzeczy, pozostałe dwóch
Salesforce uwierzytelnia się przez Connected App z tokenem odświeżania, więc pyta o consumer key, secret i refresh token oraz adres Twojej instancji. HubSpot i Pipedrive przyjmują pojedynczy token API. We wszystkich trzech przypadkach aplikacja należy do Ciebie - MousePlayer nie prowadzi aplikacji w marketplace, której musiałbyś zaufać.
5. Zoho CRM i Freshsales
Dwa kolejne CRM-y, i leżą na przeciwnych końcach nakładu konfiguracji.
| Zoho CRM | Freshsales | |
|---|---|---|
| Podajesz | centrum danych, client ID, klucz tajny, token odświeżania | klucz API i swoją domenę Freshworks |
| Szukamy po | polu, które wskazujesz, domyślnie Email | polu, które wskazujesz, domyślnie email |
| Notatka trafia | przy kontakcie, jako rekord Note | przy kontakcie, jako notatka |
Zoho żyje w jednym z sześciu centrów danych
Konto jest w com, eu, in, com.au, jp albo com.cn, a nic w kluczu nie mówi, w którym. Wybierz złe, a Zoho odpowie INVALID_TOKEN - co czyta się jak zły klucz i kieruje w niewłaściwe miejsce. Właśnie dlatego to pole jest listą wyboru.
Self Client, jednorazowo
Utwórz Self Client w konsoli API Zoho, wygeneruj grant token dla ZohoCRM.modules.ALL i ZohoSearch.securesearch.READ, a potem wymień go jednorazowo na token odświeżania. Ten nie wygasa; godzinne tokeny dostępu są z niego pobierane i nigdy nie przechowywane.
Zoho odpowiada 200, gdy ma na myśli nie
Zarówno wymiana tokenu, jak i zapis rekordu mogą zwrócić HTTP 200 z błędem albo statusem per rekord w treści. My czytamy treść - mostek ufający kodowi statusu zgłaszałby sukces dla notatki, która nigdy nie powstała.
Wszystkie wymienione znaki towarowe należą do ich właścicieli. MousePlayer nie pozostaje w żadnych relacjach biznesowych z tymi dostawcami.