clickSomo
Ouvrir ClickSomo

Équipes SaaS et produits

Votre produit sait des choses qu'aucun outil marketing ne peut observer

Qui a terminé l'onboarding et qui a calé à la troisième étape. Qui a invité un collègue. Qui a atteint la limite deux fois cette semaine. Qui n'a pas ouvert la chose depuis quinze jours. Chacun de ces signaux est un meilleur déclencheur que tout ce qui découle d'une ouverture d'e-mail, et tous sont à deux lignes de code d'en devenir un.

Les événements constituent toute l'intégration

POST /v1/events avec votre propre jeton : un nom que vous avez choisi, un contact, une charge utile, une clé d'idempotence. C'est toute la connexion. Aucun SDK à maintenir à jour, aucun écran de correspondance, et aucun vocabulaire à nous que vous devriez traduire votre produit pour l'adapter.

Chaque événement atterrit dans le journal en ajout seul du contact, et à partir de là, il est trois choses à la fois. Un déclencheur, pour qu'un funnel démarre dès son arrivée. Un prédicat, pour qu'un segment puisse dire « a fait ceci au cours des quatorze derniers jours » ou, plus utile, « ne l'a pas fait ». Et un objectif, pour qu'une séquence s'arrête dès que la personne fait ce qu'on lui suggérait de faire.

C'est ce troisième point qui rend les messages de cycle de vie supportables à recevoir. L'incitation à terminer la configuration de votre compte devrait cesser d'exister dès l'instant où le compte est configuré, et dans la plupart des outils, ce n'est pas le cas, parce que la séquence et le produit ne se parlent pas.

ActivationExécution nº 2 118
  • ⚡Déclencheurapi_event — signup.completed, forfait free.
  • 2Envoyer un e-mailLa seule chose à faire en premier. Pas une visite guidée de onze fonctionnalités.
  • 3Attendre 2 jourswake_at sur l'exécution. Rien en file d'attente, rien à démêler si vous réécrivez ceci demain.
  • ?Conditionproject.created est-il arrivé ? Non → la branche d'aide. Oui → l'objectif ci-dessous.
  • 4Branche d'aideUn message, proposant précisément ce qu'ils n'ont pas fait. Puis une seconde attente.
  • 5Objectifproject.created arrive. L'exécution se termine. Plus aucun e-mail d'onboarding, jamais, pour cette personne.

Vos noms d'événementsVotre définition de l'activation

Cinq funnels

Le cycle de vie, dans l'ordre où il se produit réellement

1 · Activation

Déclencheur : l'inscription. Deux ou trois messages, chacun consacré à une seule action, chacun avec un objectif qui met fin à la séquence quand cette action se produit. Le funnel le plus précieux que vous construirez, et celui qui mérite le plus d'être réécrit trois fois.

2 · Le blocage

Déclencheur : segment_enter — inscrit, aucun événement significatif depuis sept jours. Un message qui demande plutôt qu'il n'affirme, et un autre qui propose quelque chose de concret. Puis on s'arrête. Un quatrième message à quelqu'un qui en a ignoré trois est un message pour personne.

3 · Le moment d'expansion

Déclencheur : un événement qui signale qu'ils tirent de la valeur — atteinte de la limite, invitation d'un troisième collègue, deuxième export. C'est le seul moment où un message de mise à niveau est bienvenu, et c'est un moment que votre produit peut nommer avec précision.

4 · Renouvellement et relances de paiement

Déclencheur : date_field avant le renouvellement, ou un événement de paiement. Un avis, un rappel et — si un paiement échoue — une courte séquence qui s'arrête dès qu'il réussit. Les nœuds d'objectif ne sont pas facultatifs dans les relances ; ils font la différence entre un rappel et du harcèlement.

5 · Réactivation

Déclencheur : segment_enter — résilié ou inactif depuis soixante jours. Deux messages, honnêtes, puis une étiquette et le silence. Ce qui a changé depuis leur départ est un meilleur message qu'une remise.

Et celui en interne

notify_team prévient un humain quand un compte qui mérite un humain franchit un seuil. Un funnel n'a pas besoin de se terminer par un e-mail à un client ; parfois, la bonne action consiste à demander à quelqu'un de votre côté de décrocher le téléphone.

Personne ne résilie volontairement. Ils cessent simplement de l'ouvrir.

Pourquoi un développeur pourrait réellement aimer ceci

Ce qui compte quand c'est vous qui intégrez

Aucun endpoint privé

Chaque écran est constructible à partir de l'API publique, parce qu'il n'existe pas d'autre sorte. Si vous voulez intégrer un rapport de campagne dans votre propre back-office, rien ne vous en empêche et rien n'est à rétro-ingénierer.

Des clés d'idempotence partout

Sur chaque route de modification. Votre logique de réessai, votre file d'attente at-least-once et votre réseau capricieux deviennent le problème de quelqu'un d'autre — plus précisément, le problème d'un index unique.

Simuler avant de livrer

POST /v1/simulate fait passer un contact dans un funnel à blanc et renvoie le chemin ainsi que chaque message qu'il enverrait. Mettez-le dans votre CI si vous voulez : un funnel est un graphe, et un graphe peut être testé.

Un serveur MCP

Pointez un agent vers /mcp et laissez-le rédiger et vérifier des funnels. Les outils capables d'envoyer exigent une confirmation explicite et sont plafonnés par quota, si bien qu'un prompt mal interprété ne peut pas devenir cinquante mille e-mails.

Webhooks sortants

Signé, réessayé avec backoff, au moins une fois. Le même vocabulaire d'événements que celui des rapports, pour que votre entrepôt de données et votre tableau de bord ne divergent pas sur ce que signifie « livré ».

Une effacement qui atteint réellement sa cible

Une demande de suppression retire le contact et l'historique de ses messages ici et se propage à chaque service frère qui détenait une copie. Une demande, un résultat, et quelque chose à montrer si on vous le demande.

Où se situe la frontière

ClickSomo détient une liste de diffusion et ce que cette liste a fait. Ce n'est pas votre base d'utilisateurs et cela ne prétend pas l'être : un contact ne porte jamais d'identifiants, ne se connecte jamais et ne devient jamais un compte. Vos utilisateurs vivent dans votre produit ; les contacts vivent ici, et les deux sont reliés par une adresse e-mail et les événements que vous choisissez d'envoyer.

Cette séparation est délibérée et c'est la raison pour laquelle le modèle de consentement fonctionne. Vous êtes le responsable du traitement de vos utilisateurs ; nous traitons les données en votre nom. Une conception où un outil marketing devient discrètement le magasin d'identités est une conception impossible à démêler ensuite, et c'est précisément l'échec que celle-ci est conçue pour éviter.

La version pratique : envoyez les événements, envoyez les attributs sur lesquels vous voulez segmenter, et laissez tout le reste où il se trouve. Si vous vous surprenez à pousser tout votre schéma ici, le segment que vous essayez de construire est probablement une requête dans votre propre base de données, qui devrait plutôt arriver sous forme d'un seul attribut booléen.