Détecter les signaux d’intention

Recrutements, levées de fonds, technologies et changements de poste.

Grand radiotélescope sous un ciel d’orage

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.

Antenne parabolique en silhouette au crépuscule

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
Radiotélescopes au coucher du soleil

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é.