SaaS dhe ekipe produktesh
Produkti juaj di gjëra që asnjë mjet marketingu nuk mund t'i vërejë
Kush e përfundoi onboarding-un dhe ku u ndal në hapin e tretë. Kush ftoi një koleg. Kushi e goditi kufirin dy herë këtë javë. Kushi nuk e ka hapur gjënë prej dy javësh. Secili prej tyre është trigger më i mirë se çfarëdo që rrjedh nga hapja e një e-poste, dhe të gjithë janë dy rreshta kodi larg nga të qenit kështu.
Eventet janë e gjithë integrimi
POST /v1/events me token-in tuaj: një emër që zgjodhët, një kontakt, një ngarkesë, një çelës idempotencie. Kjo është e gjithë lidhja. Nuk ka SDK për ta mbajtur të përditësuar, as ekran ndërtimi, dhe as fjalor tonin që duhet ta përktheni produktin tuaj në të.
Secili event regjistrohet në regjistrin vetëm-shtues të kontaktit, dhe prej andej është tri gjëra njëkohësisht. Një trigger, që funeli të nisë kur arrin. Një predikat, që një segment të mund të thotë "e ka bërë këtë në dyzetë ditët e fundit" ose, më dobishëm, "nuk e ka bërë". Dhe një qëllim, që sekuencia të përfundojë në momentin që dikush e bën gjënë drejt së cilës po i shtyhej.
E treta është ajo që e bën mesazhimin e ciklit të jetës të durueshëm për t'u marrë. Shtysa për ta përfunduar konfigurimin e llogarisë duhet të pushojë së ekzistuari në sekondën që llogaria konfigurohet, dhe në shumicën e mjeteve nuk e bën, sepse sekuencia dhe produkti nuk flasin me njëri-tjetrin.
- ⚡Shkaktar
api_event—signup.completed, planifree. - 2Dërgo e-mailGjëja e vetme për të bërë fillimisht. Jo një turne i njëmbëdhjetë funksioneve.
- 3Prisni 2 ditë
wake_atnë ekzekutim. Asgjë në radhë, asgjë për të zhbërë nëse e rishkruani nesër. - ?KushtA ka mbërritur
project.created? Jo → dega e ndihmës. Po → objektivi më poshtë. - 4Dega e ndihmësNjë mesazh, që ofron gjëjen konkrete që nuk e bënë. Pastaj një pritje e dytë.
- 5Objektivi
project.createdmbërrin. Ekzekutimi përfundon. Asnjë postë onboarding tjetër, kurrë, për këtë person.
Emrat tuaj të ngjarjevePërkufizimi juaj i aktivizimit
Pesë funnele
Cikli i jetës, në rendin se si ndodh në të vërtetë
1 · Aktivizimi
Shkaktuesi: regjistrimi. Dy ose tri mesazhe, secili për një veprim, secili me një objektiv që e përfundon sekuencën kur ndodh ai veprim. Funneli më i vlefshëm që do të ndërtoni, dhe ai që ia vlen më shumë ta rishkruani tri herë.
2 · Ndalesa
Shkaktuesi: segment_enter — është regjistruar, asnjë ngjarje domethënëse për shtatë ditë. Një mesazh që pyet në vend që të tregojë, dhe një tjetër që ofron diçka konkrete. Pastaj ndaloni. Një mesazh i katërt për dikë që ka injoruar tre, është një mesazh për askënd.
3 · Momenti i zgjerimit
Shkaktuesi: një ngjarje që do të thotë se po marrin vlerë — e kanë arritur kufirin, kanë ftuar kolegun e tretë, kanë eksportuar për herë të dytë. Ky është i vetmi moment kur një mesazh përmirësimi është i mirëseardhur, dhe është një moment që produkti juaj e emërton me saktësi.
4 · Rinovimi dhe dunning
Shkaktuesi: date_field para rinovimit, ose një ngjarje pagese. Njoftim, kujtesë dhe — nëse një pagesë dështon — një sekuencë e shkurtër që ndalon në çastin kur ajo suksesson. Nyjet e objektivave nuk janë opsionale në dunning; ato janë diferenca mes një kujtese dhe një shqetësimi.
5 · Rikthimi i klientëve
Shkaktuesi: segment_enter — anuluar ose joaktiv për gjashtëdhjetë ditë. Dy mesazhe, të sinqerta, pastaj një etiketë dhe heshtje. Çfarë ka ndryshuar që nga largimi i tyre është një mesazh më i mirë se një zbritje.
Dhe ai i brendshëm
notify_team njofton një njeri kur një llogari që ia vlen një njeriu kalon një kufi. Një funnel nuk duhet domosdoshmërisht të përfundojë me një e-mail për një klient; ndonjëherë veprimi i duhur është t'i thuash dikujt nga ana juaj të marrë telefonin.

Askush nuk braktis me qëllim. Thjesht ndalojnë s'e hapin atë.
Pse një zhvillues mund ta pëlqejë vërtet këtë
Pjesët që kanë rëndësi kur ju jeni ai që e integron
Asnjë endpoint privat
Çdo ekran është i ndërtueshëm nga API-ja publike, sepse nuk ekziston lloj tjetër. Nëse doni të futni një raport fushate në admin-in tuaj, asgjë nuk ju ndalon dhe asgjë nuk duhet të zbulohet me inxhinieri të kundërt.
Çelësa idempotencie kudo
Në çdo rrugë që modifikon. Logjika juaj e riprovave, radha juaj at-least-once dhe rrjeti juaj i paqëndrueshëm të gjithë bëhen problem i dikujt tjetër — konkretisht, problem i një indeksi unik.
Simuloni përpara se ta publikoni
POST /v1/simulate e kalon një kontakt nëpër një funnel në modalitet dry-run dhe kthen rrugën dhe çdo mesazh që do të dërgonte. Vendoseni në CI nëse doni: një funnel është një graf, dhe një graf mund të testohet.
Një server MCP
Drejtojeni një agjent drejt /mcp dhe lëreni të krijojë dhe të kontrollojë funnele. Mjetet me aftësi dërgimi kërkojnë një konfirmim të qartë dhe janë të kufizuara nga kuota, kështu që një prompt i keqkuptuar nuk mund të bëhet pesëdhjetë mijë e-mail-e.
Webhooks dalëse
Të nënshkruar, të riprovuar me backoff, të paktën një herë. I njëjti fjalor ngjarjesh që përdorin raportet, kështu që magazina juaj e të dhënave dhe paneli juaj nuk bien dakord për kuptimin e "delivered".
Fshirje që arrin vërtet
Një kërkesë fshirjeje heq kontaktin dhe historinë e mesazheve të tij këtu dhe shpërndahet në çdo shërbim motër që mbante një kopje. Një kërkesë, një rezultat, dhe diçka që mund ta tregoni kur ju pyesin.
Ku qëndron kufiri
ClickSomo mban një listë postimi dhe atë që bëri ajo listë. Nuk është baza juaj e të dhënave të përdoruesve dhe nuk përpiqet të jetë: një kontakt nuk mban kredenciale kurrë, nuk hyn kurrë dhe nuk bëhet kurrë një llogari. Përdoruesit tuaj jetojnë në produktin tuaj; kontaktet jetojnë këtu, dhe të dy lidhen nga një adresë e-mail dhe nga ngjarjet që zgjidhni të dërgoni.
Kjo ndarje është e qëllimshme dhe është arsyeja pse modeli i pëlqimit funksionon. Ju jeni kontrolluesi i të dhënave për përdoruesit tuaj; ne përpunojmë në emër tuaj. Një dizajn ku një mjet marketingu bëhet në heshtje depo identiteti është një që nuk mund të çlirohet më vonë, dhe është pikërisht dështimi që ky dizajn është ndërtuar për ta shmangur.
Versioni praktik: dërgoni ngjarjet, dërgoni atributet sipas të cilave doni të segmentoni, dhe mbajini gjithë të tjerat aty ku janë. Nëse e gjeni veten duke e futur gjithë skemën tuaj këtu, segmenti që po përpiqeni të ndërtoni është ndoshta një query në bazën tuaj të të dhënave që duhet të mbërrijë si një atribut boolean i vetëm.