clickSomo
Hapni ClickSomo

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.

AktivimiEkzekutimi #2 118
  • ⚡Shkaktarapi_event — signup.completed, plani free.
  • 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_at në 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ë.
  • 5Objektiviproject.created mbë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.