clickSomo

Equips de SaaS i de producte

El teu producte sap coses que cap eina de màrqueting pot observar

Qui ha acabat l'onboarding i qui s'ha aturat al pas tres. Qui ha convidat un company. Qui ha tocat el límit dues vegades aquesta setmana. Qui no ha obert la cosa en quinze dies. Cadascun d'aquests és un activador millor que qualsevol cosa derivada d'una obertura de correu, i tots són a dues línies de codi de ser-ho.

Els esdeveniments són tota la integració

POST /v1/events amb el teu propi token: un nom que tries tu, un contacte, un payload, una clau d'idempotència. Aquesta és tota la connexió. No hi ha cap SDK que calgui mantenir al dia, cap pantalla de mapatge, i cap vocabulari nostre al qual hagis de traduir el teu producte.

Cada esdeveniment arriba al registre d'annexió del contacte, i des d'allà és tres coses alhora. Un activador, de manera que un embut s'inicia quan arriba. Un predicat, de manera que un segment pot dir «ho ha fet en els darrers catorze dies» o, més útilment, «no ho ha fet». I un objectiu, de manera que una seqüència acaba en el moment en què algú fa allò cap a què se'l va empènyer.

Aquesta tercera és la que fa que la missatgeria de cicle de vida sigui tolerable de rebre. L'empentó per acabar de configurar el compte hauria de deixar d'existir al segon en què el compte queda configurat, i a la majoria d'eines no ho fa, perquè la seqüència i el producte no es parlen.

ActivacióExecució núm. 2 118
  • ⚡Activadorapi_event — signup.completed, pla free.
  • 2Envia correuL'única cosa a fer primer. No una visita guiada per onze funcions.
  • 3Espera 2 dieswake_at a l'execució. Res a la cua, res a desfer si reescrius això demà.
  • ?CondicióHa arribat project.created? No → la branca d'ajuda. Sí → l'objectiu de sota.
  • 4Branca d'ajudaUn missatge que ofereixi el que concretament no ha fet. Després, una segona espera.
  • 5ObjectiuArriba project.created. L'execució surt. Cap correu més d'onboarding, mai, per a aquesta persona.

Els noms dels teus esdevenimentsLa teva definició d'activació

Cinc embuts

El cicle de vida, en l'ordre en què passa de debò

1 · Activació

Activador: registre. Dos o tres missatges, cadascun sobre una acció, cadascun amb un objectiu que tanca la seqüència quan passa aquesta acció. L'embut més valuós que construiràs, i el que més val la pena reescriure tres vegades.

2 · L'aturada

Activador: segment_enter — registrat, cap esdeveniment rellevant en set dies. Un missatge que pregunta en lloc d'explicar, i un que ofereixi alguna cosa concreta. Després, atura't. Un quart missatge per a algú que n'ha ignorat tres és un missatge per a ningú.

3 · El moment d'expansió

Activador: un esdeveniment que indica que hi està treient valor — arriba al límit, convida un tercer company, exporta per segona vegada. És l'únic moment en què un missatge d'upgrade és benvingut, i és un moment que el teu producte pot anomenar amb precisió.

4 · Renovació i reclamació de pagaments

Activador: date_field abans de la renovació, o un esdeveniment de pagament. Avís, recordatori i — si un pagament falla — una seqüència curta que s'atura a l'instant en què té èxit. Els nodes d'objectiu no són opcionals en la reclamació de pagaments; són la diferència entre un recordatori i una molèstia.

5 · Recuperació

Activador: segment_enter — cancel·lat o inactiu durant seixanta dies. Dos missatges, honestos, després una etiqueta i silenci. Què ha canviat des que se n'ha anat és un missatge millor que un descompte.

I el d'ús intern

notify_team avisa una persona quan un compte que val la pena que la miri una persona creua un límit. Un embut no ha d'acabar en un correu a un client; a vegades l'acció correcta és dir a algú del teu costat que agafi el telèfon.

Ningú no marxa amb intenció. Simplement deixen d'obrir-lo.

Per què una persona desenvolupadora podria agradar-li de debò

Les parts que importen quan ets tu qui fa la integració

Cap endpoint privat

Cada pantalla es pot construir amb l'API pública, perquè no n'hi ha cap altra mena. Si vols incrustar un informe de campanya al teu propi panell d'administració, res no t'ho impedeix i res no s'ha d'enginyar a l'inrevés.

Claus d'idempotència a tot arreu

A cada ruta que modifica dades. La teva lògica de reintent, la teva cua at-least-once i la teva xarxa inestable es converteixen en problema d'algú altre — concretament, d'un índex únic.

Simula abans de publicar

POST /v1/simulate fa una prova en sec d'un contacte per un embut i retorna el camí i cada missatge que enviaria. Posau-ho a CI si vols: un embut és un graf, i un graf es pot provar.

Un servidor MCP

Apunta un agent a /mcp i deixa'l crear i comprovar embuts. Les eines amb capacitat d'enviament requereixen una confirmació explícita i estan limitades per quota, així que un prompt mal entès no pot convertir-se en cinquanta mil correus.

Webhooks de sortida

Signats, amb reintents amb backoff, com a mínim un cop. El mateix vocabulari d'esdeveniments que fan servir els informes, perquè el teu magatzem de dades i el teu tauler no discrepin sobre què significa "entregat".

Una supressió que arriba de debò

Una sol·licitud d'eliminació esborra el contacte i el seu historial de missatges aquí i es propaga a tots els serveis germans que en tinguin una còpia. Una sol·licitud, un resultat, i alguna cosa a què apuntar quan te ho preguntin.

On és la frontera

ClickSomo té una llista de correu i el que aquella llista ha fet. No és la teva base de dades d'usuaris i no pretén ser-ho: un contacte mai no porta una credencial, mai no inicia sessió i mai no es converteix en un compte. Els teus usuaris viuen al teu producte; els contactes viuen aquí, i els dos s'uneixen amb una adreça de correu i els esdeveniments que decideixis enviar.

Aquesta separació és deliberada i és la raó per la qual el model de consentiment funciona. Tu ets el responsable del tractament de les dades dels teus usuaris; nosaltres processem en nom teu. Un disseny on una eina de màrqueting es converteix silenciosament en el magatzem d'identitats és un disseny que no es pot desenredar després, i és exactament el fracàs que aquest està construït per evitar.

La versió pràctica: envia els esdeveniments, envia els atributs pels quals vulguis segmentar, i deixa-ho tot el demés on és. Si et trobes empentant tot l'esquema cap aquí, el segment que intentes construir probablement és una consulta a la teva pròpia base de dades que hauria d'arribar com un únic atribut booleà.