clickSomo

SaaS en produkspanne

Jou produk weet dinge wat geen bemarkingsinstrument kan waarnem nie

Wie aanboording voltooi het en wie by stap drie vasgeval het. Wie 'n kollega genooi het. Wie die limiet twee keer hierdie week getref het. Wie die ding al 'n fortnig nie oopgemaak het nie. Elkeen daarvan is 'n beter sneller as enigiets afgelei van 'n e-posoopening, en almal is twee reëls kode daarvandaan om een te wees.

Gebeurtenisse is die hele integrasie

POST /v1/events met jou eie token: 'n naam wat jy gekies het, 'n kontak, 'n data-lading, 'n idempotensiesleutel. Dit is die hele verbinding. Daar is geen SDK om op datum te hou nie, geen karteringskerm nie, en geen woordeskat van ons waarin jy jou produk moet vertaal nie.

Elke gebeurtenis kom op die kontak se aanhangslogboek, en van daar af is dit drie dinge gelyktydig. 'n Sneller, sodat 'n tregter begin wanneer dit aankom. 'n Predikaat, sodat 'n segment kan sê "het dit in die laaste veertien dae gedoen" of, meer nuttig, "het nie". En 'n Doel, sodat 'n reeks eindig die oomblik toe iemand die ding doen waarheen dit hulle gestoot het.

Daardie derde een is wat lewensiklus-boodskappe draaglik maak om te ontvang. Die stoot om jou rekening op te stel behoort te verdwyn die sekonde wat die rekening opgestel is, en in die meeste instrumente doen dit nie, want die reeks en die produk praat nie met mekaar nie.

AktiveringLopie #2 118
  • ⚡Snellerapi_event — signup.completed, plan free.
  • 2Stuur e-posDie een ding om eers te doen. Nie 'n toer deur elf funksies nie.
  • 3Wag 2 daewake_at op die lopie. Niks in die tou nie, niks om te ontwar as jy dit môre herskryf nie.
  • ?VoorwaardeHet project.created aangekom? Nee → die hulptak. Ja → die doel hieronder.
  • 4HulptakEen boodskap wat die spesifieke ding aanbied wat hulle nie gedoen het nie. Dan 'n tweede wagtyd.
  • 5Doelwitproject.created kom binne. Die reeks eindig. Nooit weer 'n aanboodskap-pos vir hierdie persoon nie.

Jou gebeurtenisnameJou definisie van geaktiveer

Vyf trechterte

Die lewensiklus, in die volgorde waarin dit werklik gebeur

1 · Aktivering

Sneller: registrasie. Twee of drie boodskappe, elk oor een aksie, elk met 'n doel wat die reeks beëindig wanneer daardie aksie gebeur. Die waardevolste trechter wat jy sal bou, en die een wat die meeste werd is om drie keer te herskryf.

2 · Die stilstand

Sneller: segment_enter — geregistreer, geen betekenisvolle gebeurtenis in sewe dae nie. Een boodskap wat vra eerder as vertel, en een wat 'n spesifieke ding aanbied. Stop dan. 'n Vierde boodskap aan iemand wat drie geïgnoreer het, is 'n boodskap aan niemand.

3 · Die uitbreidingsmoment

Sneller: 'n gebeurtenis wat beteken hulle kry waarde — tref die limiet, nooi 'n derde kollega uit, voer vir die tweede keer uit. Dit is die enigste moment waarop 'n opgradeerboodskap welkom is, en dit is 'n moment wat jou produk presies kan benoem.

4 · Hernuwing en invordering

Sneller: date_field voor hernuwing, of 'n betaalgebeurtenis. Kennisgewing, herinnering en — as 'n betaling misluk — 'n kort reeks wat stop op die oomblik dat dit slaag. Doelnodes is nie opsioneel in invordering nie; hulle is die verskil tussen 'n herinnering en teistering.

5 · Terugwen

Sneller: segment_enter — gekanselleer of slapende vir sestig dae. Twee boodskappe, eerlike, dan 'n etiket en stilte. Wat verander het sedert hulle vertrek het, is 'n beter boodskap as 'n afslag.

En die interne een

notify_team laat 'n mens weet wanneer 'n reeks wat 'n mens werd is 'n grens oorsteek. 'n Trechter hoef nie te eindig in 'n e-pos aan 'n klant nie; soms is die regte aksie om iemand aan jou kant te vertel om die telefoon op te neem.

Niemand beëindig met opset nie. Hulle hou net op om dit oop te maak.

Hoekom 'n ontwikkelaar dit werklik sou waardeer

Die dele wat saakmaak wanneer jy die een is wat integreer

Geen privaat eindpunte nie

Elke skerm is boubaar vanaf die publieke API, want daar is geen ander soort nie. As jy 'n veldtogverslag in jou eie administrasie wil insluit, staan niks in jou pad nie en niks hoef terugontwerp te word nie.

Idempotensiesleutels oral

Op elke muterende roete. Jou hertoetslogika, jou minstens-een-keer-wagtou en jou wankelrige netwerk word almal iemand anders se probleem — spesifiek, 'n unieke indeks se probleem.

Simuleer voordat jy stuur

POST /v1/simulate loop 'n kontak deur 'n trechter en gee die pad terug plus elke boodskap wat dit sou stuur. Sit dit in jou CI as jy wil: 'n trechter is 'n grafiek, en 'n grafiek kan getoets word.

'n MCP-bediener

Rig 'n agent op /mcp en laat dit trechters skryf en nagaan. Stuurvermoënde gereedskap benodig 'n eksplisiete bevestiging en word deur kwota beperk, sodat 'n verkeerd gelese opdrag nie vyftigduisend e-posse kan word nie.

Webhake uit

Onderteken, herhaal met terugloop, minstens een keer. Dieselfde gebeurteniswoordeskat wat die verslae gebruik, sodat jou pakhuis en jou dashbord nie verskil oor wat "afgelewer" beteken nie.

Uitwissing wat werklik uitkom

'n Verwyderingsversoek verwyder die kontak en hul boodskapgeskiedenis hier en versprei na elke susterdiens wat 'n kopie gehou het. Een versoek, een uitkoms, en iets waarna jy kan wys as gevra word.

Waar die grens lê

ClickSomo hou 'n poslys en wat daardie lys gedoen het. Dit is nie jou gebruikersdatabasis nie en probeer nie een wees nie: 'n kontak dra nooit 'n geloofsbrief nie, teken nooit aan nie en word nooit 'n rekening nie. Jou gebruikers woon in jou produk; kontakte woon hier, en die twee word verbind deur 'n e-posadres en die gebeurtenisse wat jy kies om te stuur.

Daardie skeiding is doelbewus en dit is die rede waarom die toestemmingsmodel werk. Jy is die dataregeerder vir jou gebruikers; ons verwerk namens jou. 'n Ontwerp waar 'n bemarkingsinstrument stilletjies die identiteitsbewaarplek word, is een wat later nie ontwar kan word nie, en dit is presies die mislukking wat hierdie een gebou is om te vermy.

Die praktiese weergawe: stuur die gebeurtenisse, stuur die eienskappe waarop jy wil segmenteer, en hou alles anders waar dit is. As jy jouself vind dat jy jou hele skema hierin druk, is die segment wat jy probeer bou waarskynlik 'n navraag in jou eie databasis wat eerder as een boolse eienskap behoort aan te kom.