SaaS i zespoły produktowe
Twój produkt wie rzeczy,których żadne narzędzie marketingowe nie zaobserwuje.
Kto skończył onboarding, a kto utknął na trzecim kroku. Kto zaprosił kolegę. Kto dwa razy w tym tygodniu uderzył w limit. Kto nie otworzył tego od dwóch tygodni. Każde z tych zdarzeń jest lepszym wyzwalaczem niż cokolwiek wyliczonego z otwarcia maila, a od bycia wyzwalaczem dzielą je dwie linijki kodu.
Zdarzenia to cała integracja.
POST /v1/events własnym tokenem: nazwa, którą wybrałeś, kontakt, ładunek, klucz idempotencji. To całe połączenie. Nie ma SDK do utrzymywania, ekranu mapowania ani naszego słownictwa, na które musisz przetłumaczyć swój produkt.
Każde zdarzenie ląduje w dopisywanym dzienniku kontaktu, a stamtąd jest trzema rzeczami naraz. Wyzwalaczem, więc lejek startuje, gdy przyjdzie. Predykatem, więc segment może powiedzieć „zrobił to w ostatnich czternastu dniach” albo, co użyteczniejsze, „nie zrobił”. I celem, więc sekwencja kończy się w chwili, gdy człowiek zrobi to, do czego go zachęcała.
To trzecie sprawia, że komunikacja cyklu życia jest znośna w odbiorze. Zachęta do dokończenia konfiguracji konta powinna przestać istnieć w sekundzie, w której konto jest skonfigurowane — a w większości narzędzi nie przestaje, bo sekwencja i produkt ze sobą nie rozmawiają.
- ⚡Wyzwalacz
api_event—signup.completed, planfree. - 2Wyślij e-mailJedna rzecz do zrobienia na początek. Nie wycieczka po jedenastu funkcjach.
- 3Czekaj 2 dni
wake_atna przebiegu. Nic w kolejce, nic do rozplątywania, jeśli jutro to przepiszesz. - ?WarunekCzy przyszło
project.created? Nie → gałąź pomocowa. Tak → cel poniżej. - 4Gałąź pomocowaJedna wiadomość, oferująca konkretnie to, czego nie zrobili. Potem drugie oczekiwanie.
- 5CelPrzychodzi
project.created. Przebieg się kończy. Ta osoba nie dostanie już nigdy poczty onboardingowej.
Twoje nazwy zdarzeńTwoja definicja aktywacji
Pięć lejków
Cykl życia w kolejności,
w jakiej faktycznie zachodzi.
1 · Aktywacja
Wyzwalacz: rejestracja. Dwie albo trzy wiadomości, każda o jednym działaniu, każda z celem kończącym sekwencję, gdy to działanie nastąpi. Najcenniejszy lejek, jaki zbudujesz, i ten, który najbardziej warto przepisać trzy razy.
2 · Utknięcie
Wyzwalacz: segment_enter — zarejestrowany, brak sensownego zdarzenia od siedmiu dni. Jedna wiadomość, która pyta zamiast pouczać, i jedna, która oferuje konkret. Potem koniec. Czwarta wiadomość do kogoś, kto zignorował trzy, to wiadomość do nikogo.
3 · Moment na rozszerzenie
Wyzwalacz: zdarzenie oznaczające, że czerpią wartość — uderzyli w limit, zaprosili trzeciego współpracownika, wyeksportowali dane po raz drugi. To jedyny moment, w którym wiadomość o wyższym planie jest mile widziana, i moment, który Twój produkt potrafi wskazać dokładnie.
4 · Odnowienie i windykacja
Wyzwalacz: date_field przed odnowieniem albo zdarzenie płatności. Powiadomienie, przypomnienie i — jeśli płatność się nie uda — krótka sekwencja kończąca się w chwili, gdy się powiedzie. Węzły celu nie są tu opcjonalne; to różnica między przypomnieniem a nękaniem.
5 · Odzyskanie
Wyzwalacz: segment_enter — zrezygnowali albo są uśpieni od sześćdziesięciu dni. Dwie wiadomości, uczciwe, potem tag i cisza. To, co zmieniło się od ich odejścia, jest lepszą wiadomością niż rabat.
I ten wewnętrzny
notify_team mówi człowiekowi, kiedy konto warte człowieka przekracza pewną granicę. Lejek nie musi kończyć się mailem do klienta; czasem właściwym działaniem jest powiedzenie komuś u Ciebie, żeby podniósł słuchawkę.
Nikt nie rezygnuje specjalnie.
Po prostu przestaje otwierać.
Dlaczego programista może to polubić
Rzeczy, które mają znaczenie,
gdy to Ty integrujesz.
Bez prywatnych endpointów
Każdy ekran da się zbudować z publicznego API, bo innego nie ma. Jeśli chcesz osadzić raport kampanii we własnym panelu, nic Ci nie stoi na drodze i niczego nie trzeba rozgryzać wstecz.
Klucze idempotencji wszędzie
Na każdej trasie zmieniającej dane. Twoja logika ponowień, kolejka „co najmniej raz” i kapryśna sieć stają się problemem kogoś innego — konkretnie unikalnego indeksu.
Symuluj przed wdrożeniem
POST /v1/simulate przepuszcza kontakt przez lejek na sucho i zwraca ścieżkę oraz każdą wiadomość, która by poszła. Wrzuć to do CI, jeśli chcesz: lejek jest grafem, a graf da się testować.
Serwer MCP
Skieruj agenta na /mcp i pozwól mu tworzyć i sprawdzać lejki. Narzędzia zdolne do wysyłki wymagają wyraźnego potwierdzenia i mieszczą się w limicie, więc źle zrozumiane polecenie nie zamieni się w pięćdziesiąt tysięcy maili.
Webhooki na zewnątrz
Podpisane, ponawiane z wycofaniem, dostarczane co najmniej raz. Ten sam słownik zdarzeń, którego używają raporty, więc Twoja hurtownia i Twój pulpit nie kłócą się o to, co znaczy „dostarczone”.
Usunięcie, które naprawdę dociera
Żądanie usunięcia kasuje kontakt i historię jego wiadomości tutaj i rozchodzi się do każdej siostrzanej usługi, która miała kopię. Jedno żądanie, jeden skutek i coś, na co można wskazać, gdy ktoś zapyta.
Gdzie przebiega granica.
ClickSomo trzyma listę mailingową i to, co ta lista zrobiła. Nie jest Twoją bazą użytkowników i nie próbuje nią być: kontakt nigdy nie ma poświadczeń, nigdy się nie loguje i nigdy nie staje się kontem. Twoi użytkownicy mieszkają w Twoim produkcie; kontakty mieszkają tutaj, a łączy je adres e-mail i zdarzenia, które postanowisz wysłać.
To rozdzielenie jest celowe i to dzięki niemu działa model zgód. Ty jesteś administratorem danych swoich użytkowników; my przetwarzamy je w Twoim imieniu. Projekt, w którym narzędzie marketingowe po cichu staje się magazynem tożsamości, jest projektem nie do rozplątania później i dokładnie tą awarią, której ten ma unikać.
Wersja praktyczna: wysyłaj zdarzenia i te atrybuty, po których chcesz segmentować, a całą resztę zostaw tam, gdzie jest. Jeśli łapiesz się na wpychaniu tu całego schematu, segment, który próbujesz zbudować, jest prawdopodobnie zapytaniem w Twojej własnej bazie, które powinno przyjść tu jako jeden atrybut logiczny.
Napisz, co dziś wysyłasz i do ilu osób.
Pokażemy, jak to wygląda tutaj — zwykle z narysowanym lejkiem, bo to szybsze niż akapit o nim.
Otwórz ClickSomo Porozmawiaj z człowiekiem