Détecter les signaux d’intention
Recrutements, levées de fonds, technologies et changements de poste.

Un signal, c’est un changement daté dans un compte, qui rend votre offre plus pertinente ce mois-ci que le mois dernier. Quatre familles couvrent l’essentiel des besoins en B2B : les recrutements, les levées de fonds, les technologies et les changements de poste. Ne collectez que ceux que vous savez relier à une raison d’acheter précise, stockez chacun comme un événement daté et laissez sa valeur s’éteindre avec le temps.
À ce stade, vos comptes portent un score de fit issu du chapitre sur le scoring. Le fit dit qui pourrait acheter, les signaux décident qui passe en tête de la file cette semaine. Tout au long de ce chapitre, prenons un éditeur de logiciel de paie qui vend à des PME françaises de 20 à 249 salariés. Les points, durées et volumes qui suivent sont fictifs.
Écrivez la raison d’acheter avant de collecter quoi que ce soit
Chaque signal doit tenir dans une phrase qui commence par « parce que ». Si vous n’arrivez pas à la finir, vous collectez du bruit avec une date dessus.
| Signal | Parce que | Où le voir | Durée d’utilité (point de départ) |
|---|---|---|---|
| Offre d’emploi de gestionnaire de paie ou d’assistant RH | La charge de paie augmente, ou la personne qui s’en occupe s’en va | LinkedIn Jobs, sites d’emploi, page carrières | 45 jours |
| Nouveau DRH ou DAF | Un nouveau responsable revoit ses outils dans ses premiers mois | LinkedIn, presse | 90 jours |
| Levée de fonds | Les recrutements suivent, et le nombre de bulletins avec eux | Presse, actualité de l’entreprise | 120 jours |
| Passage à la tranche d’effectif supérieure | Plus de bulletins et plus de complexité que ce pour quoi l’outil actuel a été choisi | Tranches du registre, effectif LinkedIn | 90 jours |
| Ancien client ou champion qui change d’entreprise | Quelqu’un qui connaît votre produit arrive dans un nouveau compte | Contacts du CRM, ré-enrichis | 90 jours |
| Outil RH ou comptable ajouté ou abandonné | Un besoin d’intégration, ou un projet de remplacement en cours | Détection sur le site, offres d’emploi citant l’outil | 60 jours |
C’est avec ces durées que je commencerais. Au bout d’un trimestre, les réponses que vous recevez les remplacent.
Comment collecter chaque famille
Recrutements
Les offres d’emploi sont souvent le signal le plus utile, car l’intitulé indique quelle équipe reçoit du budget.
Derrick prend cette étape en charge avec Company Hiring Signal (j’ai cofondé Derrick, gardez-le en tête en lisant). Vous lui donnez une colonne d’URL LinkedIn d’entreprises et pouvez filtrer par pays, date de publication ou mots-clés, ici « paie » et « RH » avec une publication récente. Il renvoie isHiring, openPositions, topJobTitles et jobsUrl, pour 1 crédit par entreprise vérifiée, depuis l’application web, Google Sheets, l’API ou un client MCP.
Deux limites sont à connaître. L’outil lit LinkedIn Jobs : une PME qui ne publie que sur sa page carrières ou sur un site d’emploi régional aura l’air de ne pas recruter. Et openPositions affiche « 10+ » dès que la première page est pleine, ce qui ne permet pas de mesurer une grosse vague de recrutement. Sans outil, ouvrez LinkedIn Jobs à la main pour vos meilleurs comptes, ou gardez des recherches enregistrées par mot-clé sur les sites d’emploi et rapprochez les noms d’entreprises de votre table.
Levées de fonds
Les annonces passent par la presse et l’actualité des entreprises. Dans Derrick, Google News Scraper prend une colonne de noms d’entreprises et une période de recherche, de 24 heures à 12 mois. Il renvoie l’article récent le plus pertinent pour chacune (title, url, publisher, published), à 1 crédit par actualité trouvée. Pour trier les titres, lancez Ask Claude sur la colonne des titres, à 2 crédits par ligne, avec une liste fermée de réponses :
Headline: {title}
Answer with one word from this list:
funding, acquisition, new_executive, expansion, layoffs, other.
Un seul article par entreprise, cela veut dire qu’une levée peut passer derrière un titre plus bruyant, et beaucoup de petits tours n’arrivent jamais dans la presse. La voie manuelle : des alertes sur les noms de vos comptes Tier A et une lecture hebdomadaire de la presse de votre secteur.
Technologies
Website Technologies prend une colonne d’URL et renvoie cms, technologies et urlStatus, pour 2 crédits par appel. Tout détecteur de ce type ne voit que ce que le site public charge : CMS, analytics, chat, balises marketing.
Pour notre logiciel de paie, c’est presque inutile, puisqu’un outil de paie ne laisse aucune trace sur une page d’accueil. Une offre d’emploi qui demande la maîtrise d’une suite de paie nommée vous en dira plus. Réservez la détection de site aux produits qui se branchent sur un outil que le site charge.
Un passage vous donne un état, et le signal est l’écart entre deux passages. Gardez des instantanés datés et comparez-les :
SELECT cur.account_domain, cur.technology AS added, cur.seen_at
FROM tech_snapshots cur
LEFT JOIN tech_snapshots prev
ON prev.account_domain = cur.account_domain
AND prev.technology = cur.technology
AND prev.run_id = 41
WHERE cur.run_id = 42
AND prev.technology IS NULL;
Changements de poste
Si vous avez d’anciens clients ou des champions, c’est le premier signal que je mettrais en place, car la personne sait déjà ce que fait votre produit.
Signal surveille chaque jour, en arrière-plan, une liste de leads ou de comptes et vous alerte sur les types que vous activez : changement de poste, levée de fonds, changement de stack technique, entre autres. Il coûte 1 crédit par signal déclenché, demande un plan payant et se lance aujourd’hui depuis Google Sheets. Il ne surveille que ce que vous lui donnez, et ne trouvera donc pas les comptes absents de votre liste. La version manuelle : chaque mois, relancez Enrich Leads (1 crédit par profil) sur vos champions, ou vérifiez-les à la main, et comparez l’entreprise actuelle à celle que vous aviez stockée. Cette liste contient des données personnelles et relève donc des règles du chapitre sur la maintenance.
Fixez une cadence par tier
Les vérifications périodiques se paient à chaque passage : dépensez-les là où une réponse vaut le plus. Avec 300 comptes Tier A vérifiés chaque semaine et 900 comptes Tier B vérifiés chaque mois, le contrôle des recrutements revient à environ 2 100 crédits par mois (300 × 4 + 900). Le Tier C attend de monter.
Stockez les signaux comme des événements, une ligne chacun
Gardez les signaux dans leur propre table. Écrire « recrute : oui » sur la ligne du compte efface la date, et c’est la date qui donne sa valeur au signal.
| Colonne | Exemple | Remarque |
|---|---|---|
signal_id |
18342 | Unique |
account_domain |
example-pme.fr | Même clé que la table des comptes |
signal_type |
hiring_payroll | Issu d’une liste fermée |
signal_value |
Gestionnaire de paie | La preuve brute, réutilisée dans le message |
source |
linkedin_jobs | D’où cela vient |
event_date |
2026-10-28 | Date de l’événement, ou votre meilleure estimation |
detected_at |
2026-11-02 | Date où vous l’avez vu |
used_in_campaign |
outbound_q4_b | Vide tant que personne n’a agi dessus |
Notez les signaux avec une date d’expiration
Le fit sert de filtre, le signal fixe l’ordre à l’intérieur. Un signal sur un compte hors de vos tiers reste dans la table et ne déclenche aucune action.
signal_type |
points |
useful_days |
|---|---|---|
| champion_moved | 40 | 90 |
| hiring_payroll | 30 | 45 |
| new_executive | 25 | 90 |
| headcount_band_up | 20 | 90 |
| funding | 20 | 120 |
| tech_change | 15 | 60 |
La valeur décroît en ligne droite jusqu’à zéro. Dans un tableur, avec les points en C, la date de l’événement en D et la durée d’utilité en E :
=MAX(0, C2 * (1 - (TODAY() - D2) / E2))
Dans une base de données, par compte :
SELECT s.account_domain,
ROUND(SUM(r.points * (1 - (CURRENT_DATE - s.event_date)::numeric / r.useful_days))) AS signal_score
FROM signals s
JOIN signal_rules r USING (signal_type)
WHERE CURRENT_DATE - s.event_date < r.useful_days
GROUP BY s.account_domain
ORDER BY signal_score DESC;
Le résultat est une liste classée par tier, recalculée chaque semaine. Chaque commercial commence sa semaine par le haut de cette liste, avec le signal_value prêt à citer dans la première ligne du message. Le chapitre sur les campagnes outbound explique comment construire ces séquences.
Testez chaque signal sur vos propres réponses
Un signal mérite ses points quand les comptes qui le présentent répondent plus souvent que des comptes comparables sans lui. Prenez un tier, envoyez la même offre aux deux groupes sur la même période et comparez les réponses positives.
| Signal | Comptes avec | Réponses positives | Comptes sans | Réponses positives | Décision |
|---|---|---|---|---|---|
| hiring_payroll | |||||
| funding | |||||
| champion_moved |
Attendez au moins une centaine de comptes par groupe : en dessous, vous lisez surtout du hasard. Augmentez les points de ce qui bat clairement son groupe témoin, coupez le reste et raccourcissez la durée d’utilité quand les signaux anciens ne reçoivent plus de réponses.
Votre prochaine étape : écrivez la phrase « parce que » de chaque signal envisagé, gardez les trois que vous savez défendre et lancez-en un sur vos comptes Tier A cette semaine. Consignez chaque résultat en ligne datée, puis passez au dimensionnement du marché.