clickSomo

SaaS og produktteam

Produktet ditt veit ting ingen marknadsføringsverktøy kan observere

Kven som fullførte onboarding og kven som stoppa ved steg tre. Kven som inviterte ein kollega. Kven som traff grensa to gonger denne veka. Kven som ikkje har opna greia på to veker. Kvar og ein av desse er ein betre utløysar enn noko utleidd frå ein e-postopning, og alle er to linjer kode unna å vere det.

Hendingar er heile integrasjonen

POST /v1/events med din eigen token: eit namn du har valt, ein kontakt, ein nyttelast, ein idempotensnøkkel. Det er heile tilkoplinga. Ingen SDK å halde oppdatert, ingen mappingskjerm, og inga ordforråd frå oss du må omsetje produktet ditt til.

Kvar hending landar på den tilleggslags loggen til kontakten, og derfrå er den tre ting på ein gong. Ein utløysar, slik at ei trakt startar når den kjem. Eit vilkår, slik at eit segment kan seie «har gjort dette dei siste fjorten dagane» eller, meir nyttig, «ikkje har». Og eit mål, slik at ein sekvens endar i det augneblikket nokon gjer det den dytta dei mot.

Det er den tredje som gjer livssyklusmeldingar overkomelege å få. Dyttet om å fullføre oppsettet av kontoen din bør slutte å eksistere i det andre kontoen er sett opp, og i dei fleste verktøya gjer den ikkje det, for sekvensen og produktet pratar ikkje saman.

AktiveringKøyring #2 118
  • ⚡Utløysarapi_event — signup.completed, plan free.
  • 2Send e-postDen eine tingen du skal gjere først. Ikkje ei omvisning i elleve funksjonar.
  • 3Vent 2 dagarwake_at på køyringa. Ingenting i kø, ingenting å plukke frå om du skriv om dette i morgon.
  • ?VilkårHar project.created kome fram? Nei → hjelpgreina. Ja → målet nedanfor.
  • 4Hjelp-greinÉi melding som tilbyr det konkrete dei ikkje gjorde. Så ein ny venting.
  • 5Målproject.created kjem inn. Køyret avsluttast. Ingen meir onboarding-e-post, nokosinne, for denne personen.

Dine hendingsnamnDi definisjon av aktivert

Fem trakter

Livssyklusen, i den rekkjefølgja han faktisk skjer i

1 · Aktivering

Utløyser: registrering. To eller tre meldingar, kvar om éin handling, kvar med eit mål som avsluttar sekvensen når handlinga skjer. Den mest verdifulle traktene du vil byggje, og den det er mest verdt å skrive om tre gonger.

2 · Stansausta

Utløyser: segment_enter — registrert, ingen meningsfull hending på sju dagar. Éi melding som spør i staden for å fortelje, og éi som tilbyr noko konkret. Så stans. Ein fjerde melding til nokon som har ignorert tre, er ei melding til ingen.

3 · Utvidingsaugeblikket

Utløyser: ei hending som tyder at dei får verdi — traff grensa, inviterte ein tredje kollega, eksporterte for andre gong. Dette er den einaste stunda ein oppgraderingsmelding er velkomen, og det er eit augeblikk produktet ditt kan namngje presist.

4 · Fornyning og pemåningar

Utløyser: date_field før fornying, eller ein betalingshending. Varsel, påminning og — om ei betaling sviktar — ei kort sekvens som stansar i det ho lykkast. Målnodar er ikkje valfrie i pemåningar; dei er skilnaden mellom ei påminning og ei plaging.

5 · Vinne tilbake

Utløyser: segment_enter — kansellert eller kvilt i seksti dagar. To meldingar, ærlege, så eit merke og stillheit. Kva som har endra seg sidan dei forlét deg, er ei betre melding enn ein rabatt.

Og den interne

notify_team seier frå til eit menneske når ein konto som er verdt eit menneske kryssar ei grense. Ei trakte må ikkje ende i ein e-post til ein kunde; nokon gonger er den rette handlinga å be nokon på din side ringje.

Ingen kuttar med vilje. Dei sluttar berre å opne den.

Kvifor ein utviklar faktisk kan like dette

Delane som teller når det er du som integrerer

Ingen private endepunkt

Kvar skjerm kan byggjast frå det offentlege API-et, fordi det ikkje finst nokon annan type. Om du vil bygge inn ein kampanjerapport i din eigen admin, står ingenting i vegen og ingenting må reverserast.

Idempotensnyklar overalt

På alle muterande ruter. Gjenta-logikken din, køen din med minst-ein-gong-levering og det ustødie nettverket ditt blir alle nokon andre sitt problem — meir presist, problemet til ein unik indeks.

Simuler før du leverer

POST /v1/simulate prøvekøyrer ein kontakt gjennom ei trakte og returnerer vegen og kvar melding han ville sendt. Legg den i CI om du vil: ei trakte er ein graf, og ein graf kan testast.

Ein MCP-server

Ret ein agent mot /mcp og la han skrive og sjekke trakter. Verktøy som kan sende krev ei eksplisitt stadfesting og er avgrensa av kvote, så ein feiltolka prompt kan ikkje bli femti tusen e-postar.

Webhooks ut

Signert, prøvd på nytt med backoff, minst éin gong. Same hendingsspråket som rapportane brukar, så lagerhuset og dashbordet ditt ikkje er ueinige om kva «levert» tyder.

Sletting som faktisk når fram

Ein sletjeførespurnad fjernar kontakten og meldingshistorikken deira her, og blir spreidd til kvar syster-teneste som hadde ein kopi. Éin førespurnad, eitt resultat, og noko du kan peike på når du blir spurt.

Kor grensa går

ClickSomo held ei postliste og det lista gjorde. Det er ikkje brukardatabasen din, og det prøver ikkje å vere det: ein kontakt ber aldri ein innloggingsopplysning, loggar aldri inn, og blir aldri ein konto. Brukarane dine bur i produktet ditt; kontaktar bur her, og dei to blir knytte saman av ei e-postadresse og hendingane du vel å sende.

Det skiljet er med vilje, og det er grunnen til at samtykkjemodellen verkar. Du er personvernansvarleg for brukarane dine; vi behandlar på vegne av deg. Eit design der eit marknadsføringsverktøy stille blir identitetslageret, er eit som ikkje kan reddast opp i seinare — og det er nøyaktig den feilen dette er bygd for å unngå.

Den praktiske versjonen: send hendingane, send attributta du vil segmentere på, og lat alt anna bli der det er. Om du finn deg selv å presse heile skjemaet ditt inn hit, er segmentet du prøver å byggje truleg ein spørjing i din eigen database som heller burde kome fram som eitt boolsk attributt.