CaptainData — Outbound Growth

Déroulement et apprentissages de mon intervention comme growth engineer et head of growth chez CaptainData avec Bulldozer.

J’ai réalisé cette mission avec d’autres freelances, en tant que membres de Bulldozer. C’était un travail d’équipe dont CaptainData fut le premier contributeur.

Ce que vous allez apprendre :

  • à quel point le tandem CaptainData-Make est puissant pour orchestrer son outbound at scale

  • que de vendre un logiciel initialement conçu comme un SaaS (la mode des 10 dernières années) en OEM est une voie de croissance prometteuse

  • que “l’essence” et le “moteur” sont tout aussi important l’un que l’autre (cf. Emily Kramer)

  • comment prioriser les campagnes outbound à lancer, grâce à un scoring ICE (Impact, Ease, Confidence) amélioré, directement dans Notion

  • qu’il faut accepter qu’un modèle (de scoring) est intrinsèquement faux — il faut trouver le bon compromis entre pouvoir de prédiction et simplicité d’utilisation

  • comment préparer une campagne outbound, en mettant toujours face à face le persona ciblé, ses problèmes/aspirations, et notre proposition de valeur pour y répondre

  • qu’à la question “voulez-vous que je vous mente et dissimule mes intentions ?”, en théorie, tout le monde répond “non”, mais en pratique… 🙂

  • que les campagnes qui suscitent les réponses les plus enthousiastes peuvent aussi être celles qui suscitent les plus négatives — un risque à prendre pour ne pas laisser indifférent

  • que Chat GPT peut se montrer très utile pour réorienter une campagne qui tourne au vinaigre

  • qu’on peut être créatif et chercher à se différencier, mais que ce n’est pas suffisant pour performer — attention à ne pas tomber amoureux de ses idées

  • que les expressions régulières sont une des méthodes les plus efficaces pour catégoriser des job titles (e.g. pour séparer le grain de l’ivraie parmi les visiteurs de son site)

  • qu’il y a plein d’informations à recueillir dans une offre d’emploi et que, dès lors qu’on peut en scraper le contenu, c’est très simple de l’analyser avec Chat GPT (on l’a fait)

  • que, quoi qu’en disent les clients, les performances font toujours partie des objectifs de la mission — explicitement, ou non

  • que si d’aventure les performances ne sont pas au rendez-vous, les clients préfèrent toujours l’honnêteté à ça 🙃 :


I. Contexte

1. Le produit

CaptainData est une solution d’extraction et d’enrichissement de données Go-To-Market (GTM) :

  1. extraction → scraper des données de sources comme Sales Navigator, GMaps, etc.

  2. enrichissement → enrichir les données extraites (e.g. des emails Dropcontact).

À ce stade, vous vous demandez peut-être quelle est la différence avec Apollo ? PhantomBuster ? Avec la myriade de solutions qui promettent des données GTM ?

Contrairement à Apollo, CaptainData peut se targuer de fournir les données les plus à jour du marché, tout simplement parce qu’il ne s’agit pas d’une base de données mais bien d’une solution d’extraction.

Les données sont extraites “on the fly” lorsque vous lancez un workflow. Donc, par construction, lorsque vous extrayez les données de Sales Navigator (là où se trouvent les données les plus à jour du marché — pour de vrai), eh bien vous vous retrouvez… avec les données les plus à jour du marché :)

Cette comparaison est valable pour Apollo. Elle l’est pour toute autre solution de type “base de données” qui se charge de l’extraction et de l’enrichissement des données à votre place. Ces solutions ne sont pas à jeter, elles sont, de fait, plus simples à utiliser.

CaptainData est complètement API-fié et gère automatiquement les limites imposées par LinkedIn en matière de scraping — un vrai problème dont je parlais ici (j’espère que vous vous en souvenez 😌).

En fait, pour extraire les données de LinkedIn, il faut utiliser un compte LinkedIn (pas le choix). Et le risque, c’est d’extraire trop de données en trop peu de temps, que LinkedIn trouve ça suspect, et de se faire bannir.

Heureusement, CaptainData en a conscience. Leur solution en tient compte en :

  1. limitant automatiquement le rythme d’extraction des données afin qu’aucun compte LinkedIn connecté ne surpasse les limites de LinkedIn

  2. changeant de compte dans le pool de compte connecté pour laisser le temps à celui qu’on vient d’utiliser de “refroidir” — en quelque sorte.

Résultats :

  • les chances de se faire bannir de LinkedIn sont bien plus faibles

  • avec plusieurs comptes connectés, on peut sévèrement augmenter le flux d’extraction.

Bref, pour dire les choses simplement, CaptainData permet aux équipes avec plusieurs commerciaux de scaler, bien plus qu’un Phantombuster.

(PhantomBuster reste un super produit, mais pour les entreprises un peu plus early)

NB : j’ai comparé CaptainData à Apollo et PhantomBuster, non pas pour transformer mon étude de cas en publicité crasse pour CaptainData 🙃, mais pour vous aider à bien comprendre leur positionnement sur un marché déjà bien peuplé.

2. Growth

a. Leurs offres

CaptainData a deux offres adressées à deux cibles distinctes :

  1. Lead Generation

    C’est l’offre historique de CaptainData, à destination des équipes outbound, pour générer des leads. Plus spécifiquement, les prérogatives sont généralement réparties comme ceci :

    • un Head of Growth/Sales, un CMO/CRO décide d’implémenter CaptainData

    • un growth engineer/ops ou un RevOps se charge de l’implémenter et de le faire tourner

    • des BDRs/SDRs/AEs consomment les données extraites et enrichies

  2. Original Equipment Manufacturer (OEM)

    Il y a pas mal de SaaS sur le marché dont le fonctionnement repose sur une brique d’extraction et d’enrichissement de données.

    On peut prendre l’exemple d’Apollo que je décrivais plus haut : ils donnent accès à une base de données GTM.

    Donc ils doivent eux-mêmes extraire et enrichir des données avant de les mettre en base pour leurs utilisateurs.

    Mais pour ça, il n’y a que deux options :

    1. développer leur propre solution d’extraction et d’enrichissement (réinventer la roue)

    2. intégrer CaptainData à leur produit, via une espèce de SDK (software development kit)

    L’offre OEM correspond à cette deuxième option. Extraire les données de LinkedIn, Sales Nav, Google Maps, etc. est une tannée (notamment à cause des ces histoires de limites LinkedIn).

    Voilà pourquoi la plupart des solutions n’ont pas intérêt à réinventer la roue, mais plutôt à laisser CaptainData s’en charger pour eux.

    Et des solutions qui proposent de la donnée GTM, il y en a plein — en particulier aux US où CaptainData a une profondeur de marché certaine pour distribuer sa nouvelle offre.

Bien que très prometteuse (gros contrats, peu de churns, etc.), l’offre OEM était en cours d’exploration lorsque Bulldozer a commencé à son intervention. Elle a donc été exclue de notre périmètre pendant mes deux mois de missions.

b. Leur Go-to-Market

La croissance de CaptainData est principalement sales-led et plus particulièrement outbound.

Donc il faut générer des leads lancer des campagnes et laisser des sales prendre le relais lorsque les leads mordent à l’hameçon.

Et donc, ça ne vous surprendra pas quand je vous dirai que CaptainData utilise sa solution pour sa propre lead gen (on y reviendra).

Par ailleurs, non seulement parce qu’ils sont français, mais aussi parce qu’il s’agit de leur marché historique, ils se sont très bien développés en France. Il était temps de s’étendre sur le marché américain lorsque nous sommes intervenus.

c. Leur équipe

  • Guillaume Odier → le CEO qui intervient également comme Sales sur les deals les plus stratégiques pour CaptainData.

  • Marc Francis → le COO, qui, lui aussi, intervient sur les deals les plus stratégiques et reste très proche des sales.

  • Mathilde Le Pogam → la brillante RevOps qui a construit toute la machine outbound de CaptainData.

  • Olivier Darcq → le Head of Business Development qui intervenait sur les plus gros deals, le marché américain, et explorait l’OEM.

d. Leur stack technique

  • Notion : Mathilde a construit une base de données Notion qui sert “d’outbound manager”. C’est l’endroit où on prépare les campagnes, on les dimensionne (cible, taille d’audience, date de lancement, etc.) et on en suit le statut (en préparation; en cours; terminée; …).

  • Make : Mathilde y a construit une ribambelle de workflow, notamment certains qui puisent dans la base de données Notion du-dessus pour orchestrer les campagnes. Make est le marionnettiste qui tire toutes les ficelles, d’une certaine façon.

Si vous êtes en train de vous endormir, relisez les deux paragraphes précédents.

C’est la première fois que je vois ça chez un client : un outbound management system — sorte de centre névralgique où les workflows Make viennent taper.

(à tel point que je me demande s’il n’y a pas un Outbound Manager SaaS à lancer)

  • CaptainData : je le disais plus haut, l’équipe utilise évidemment son produit pour extraire et enrichir ses leads outbounds — principalement depuis Sales Navigator.

    Un peu comme dans Make, on configure aussi des workflows dans CaptainData qui, généralement, prennent une recherche SalesNavigator ainsi qu’une fréquence d’extraction en entrée.

    Encore une fois, c’est Make qui tire les ficelles : lancer les workflows CaptainData avec les bonnes données en entrée; recevoir les résultats sur l’un de ses webhooks; etc.

    Si vous êtes prêts à construire des automatisations avec ce niveau de sophistication, voici quelques vidéos explicatives tournées par Mathilde.

  • Lemlist : pour le sales engagement, que ce soit par email, sur LinkedIn ou par téléphone.

  • Pipedrive (← lien d’affiliation) : un CRM que j’aime beaucoup, vous le savez (même si cette mission n’a pas nécessité de s’y plonger).

  • Autres : il y a d’autres outils satellites, un peu plus anecdotiques, comme R!B2B ou Albacross pour capter les visites sur le site vitrine (on y reviendra aussi).

II. Enjeux

Vous avez le contexte, venons-en aux enjeux :

  • pourquoi intervenions-nous ?

  • quels étaient les objectifs ?

  • comment nos compétences respectives devaient-elles servir les besoins de CaptainData ?

1. Fuel and engine

Utilisons l’analogie d’Emily Kramer : tout canal marketing peut être représenté par une voiture avec un moteur et de l’essence.

  • Essence : le message marketing.

    Dans le cas de l’outbound, ce sont les campagnes de cold outreach (la manière dont on les rédige, le nombre d’étapes, etc.) — le message à distribuer aux leads (par mail, DM, etc.)

  • Moteur : c’est ce qui met l’essence en mouvement, la transforme (combustion), pour finalement mettre la “voiture marketing et commerciale” en mouvement.

    Dans le cas de l’outbound, ce sont l’ensemble des workflows d’extraction des données, d’enrichissement, puis de distribution du message marketing aux cibles.

    Pour CaptainData, il s’agit en fait de d. Leur stack technique que je décrivais juste au-dessus, ainsi que de tous les workflows qui en lient les différents composants.

En lisant la partie précédente, vous aurez déjà compris que CaptainData avait d’avantage besoin d’essence que d’un moteur plus performant.

Donc Bulldozer est avant tout intervenu pour remplir le moteur d’essence. Concernant le moteur, il a suffit d’assister Mathilde pour le huiler.

À cet égard, l’objectif était d’augmenter la vélocité outbound i.e. diminuer le cycle de vie d’une campagne outbound, de son inception jusqu’à sa clôture.

NB : la vélocité est généralement la métrique phare pour juger de la qualité d’une équipe growth et l’outbound n’y échappe pas.

2. Internationalisation et diversification

  • Diversification : CaptainData était en train de lancer son offre OEM sans pour autant cesser de pousser l’offre Lead Gen dont nous avions la charge.

  • Internationalisation : le marché américain est généralement plus mûr que le français, en particulier en ce qui concerne l’outbound. Naturellement, CaptainData veut s’y développer.

En clair, il y avait plus de terrain à couvrir donc il fallait plus d’essence qu’auparavant — plus de “jus créatif”. D’où la nécessité d’avoir Bulldozer en renfort.

3. Signal-led outbound

Le sujet dont on a déjà parlé 1000 fois — la mode 2024-2025 — j’ai nommé : les signaux d’intent.

Peu d’entreprises sérieuses envisagent d’envoyer des campagnes outbound qui ne soient pas motivées par la détection d’un signal d’intent (au moins).

CaptainData est une entreprise sérieuse :)

Et encore une fois, il faut bien distinguer deux choses :

  • la détection des signaux

  • l’exploitation des signaux

CaptainData n’a aucun problème à capter une variété de signaux d’intent :

Hero section de leur site vitrine.

Encore une fois, s’ils avaient besoin de Bulldozer, c’était plutôt pour tester différents signaux et voir leur impact sur les taux de conversion des campagnes. Bref, pour itérer.

III. Solution

1. Cadrage

a. Équipe Bulldozer

Pour rappel, Bulldozer est un collectif growth. Il est constitué d’une core team d’une dizaine de personnes autour de laquelle gravite 200+ freelances avec différentes spécialités.

À chaque nouvelle signature, Bulldozer pioche dans la liste des 200 freelances pour constituer une équipe sur-mesure qui réponde parfaitement aux besoins du client.

Dans le cas de CaptainData, un binôme s’est constitué avec :

  • Antoine Guiné comme spécialiste outbound

  • moi-même comme growth engineer et head of growth (un bien grand mot pour dire que j’étais le référent Bulldozer pour CaptainData et me portais garant de l’avancée de la mission)

Et voici comment nous nous sommes répartis les tâches :

  • Antoine était en charge du design des campagnes, de leur rédaction, etc.

  • j’étais en charge du suivi de la mission, assistais également Antoine sur la rédaction des campagnes (90% de la mission), et assistais occasionnellement Mathilde sur le growth engineering (vous le verrez plus bas avec deux exemples)

b. Promesse

Pour les deux premiers mois de mission, il s’agissait de faire “preuve de répondant” en maintenant élevée la cadence de lancement des campagnes et en apprenant de nos erreurs — inévitable — vous le verrez.

Par ailleurs, je le disais plus haut, il fallait que les campagnes ne partent qu’après détection d’un signal d’intent et potentiellement que nous aidions à les détecter et à les router.

2. Expériences

a. Campagnes outbound

Du 15 juillet au 20 septembre, nous avons lancé 9 campagnes outbound avec Antoine et Mathilde. Mais avant des les choisir, il a fallu les scorer.

Vous pouvez lire ce Notion succinct (mais technique, attention) pour comprendre comment.

Ici, je ne vous montrerai que trois campagnes, et uniquement celles dont j’ai été le principal rédacteur (principal ≠ unique).

Cliquez sur l’image ci-dessous puis laissez-vous guider par mes commentaires.

À la fin de cette étude de cas, je partagerai avec vous la Quarterly Performance Review que vous avons présentée à CaptainData (10 slides synthétisant ce que nous avons appris des campagnes).

b. Growth engineering

La machine construite par Mathilde est déjà tellement sophistiquée, que ma contribution au growth engineering de CaptainData n’a été qu’un bonus — rien de plus.

Il y a eu deux mini-projets de ce type :

  1. filtrage des visiteurs du site web avec des expressions régulières

  2. traitement des offres d’emploi

FILTRAGE DES VISITEURS DU SITE WEB AVEC DES EXPRESSIONS RÉGULIÈRES :

Parmi les signaux classiques se trouve le signal “visite du site web”. Malheureusement, les visiteurs d’un site sont bien souvent hors-cible.

Il faut donc séparer le grain de l’ivraie. On ne peut considérer comme signaux que les visites de personnes dans la cible de CaptainData. À cette fin, on utilisait RB2B.

L’outil retournait notamment les job titles des visiteurs du site. Ensuite, en les donnant à Chat GPT, CaptainData pouvait trier les visiteurs, voire les classifier en différentes catégories (le prompt original).

C’est pas mal, mais :

  1. c’est potentiellement cher

  2. ça manque de précision

  3. et de déterminisme i.e le même job title donné deux fois à manger au système sera classifié de la même manière les deux fois (ce n’est pas le cas avec une IA, intrinsèquement probabiliste)

J’ai donc suggéré à CaptainData que nous utilisions les expressions régulières (une de mes marottes 🌝) car elles ne crament pas de crédits OpenAI, et, surtout, elles sont déterministes.

Pour y parvenir, j’en ai utilisé plusieurs. La première pour exclure d’entrée de jeu tous les leads hors-champ (← en cliquant sur le lien, vous constaterez que l’expression régulière “matche” avec les job titles qui contiennent des mots comme “Junior”, “Student”, “Industrial”, etc.).

const stopRegex = /(junior|consultant|freelance|advisor|partner\b|student|intern|investor|logistics?|industr(y|ial)|construction|technolog(y|ies)|c[tfpo]o|finance|talent|human|hr|people|bras[\-\s]droit|right[\-\s]arm|communications?|paid|ads|seo|strategist|outsourced|temporary)\b/gim;

Ensuite, j’ai construit les 5 expressions régulières du dessous.

const regex = {

  cmoCROOrHoG: /(head|director|vp|vice[- ]president|chief)\s*(of\s*)?(growth|marketing)|cmo|chief marketing officer|C(ief )?R(evenue )?O(fficer)?\b/gmi,

  salesKdms: /(head|director|vp|vice[- ]?president|chief|manager)\s*((of|,)\s*)?(sales|business( development)?|(market|commercial) (development|expansion|opportunities|growth))|chief (sales|commercial) officer/gmi,

	ops: /rev(enue )?(op(eration)?s?)|g(?:o(?:-|\s)to(?:-|\s))?m(?:arket)?(?:\s*(?:ops|operations))?|sales\s*(ops|operations|analysts?|bi|intelligence|enablement|data|automation)|crm manager|business systems|(growth|market(ing)?)\s*(operations|ops)/gmi,

  growth: /growth|(?:acquisition|lead gen(?:eration)?|demand gen(?:eration)?|outbound|bdr|abm|account based marketing)\s*manager?|g(?:o(?:-|\s)to(?:-|\s))?m(?:arket)?|gtm\b/gmi,

  ceo: /\b(C(hief )?E(xecutive )?O(fficer)?|Direct(eur|rice)\sGénérale?|Founder|General\sManager|Owner|President|Partner|P(r[ée]sidente?)?D(irect(eur|rice))?G([ée]n[ée]rale?))\b(?!.*\b(Logistic|Industry|Industrial|Construction|Transport)\b)/gmi

};

On peut les faire matcher une à une, et dans cet ordre, sur les job titles. Selon l’expression régulière qui aura matché, on pourra en déduire le persona du visiteur.

Pour mieux comprendre les 5 expressions régulières du dessus :

  • cmoCROOrHoG → pour les CMO, les CRO ou les Heads of Growth

  • salesKdms → pour les Heads of Sales ou les Heads of BD

  • ops → pour les Marketing Ops, RevOps, Growth Ops, etc.

  • growth → pour les growth classiques, les responsables GTM, les responsables lead gen, etc.

  • ceo → pour les CEO, PDG, GM, etc.

Et voici le résultat sur une centaine de leads réels.

Pour mettre en œuvre ce filtrage dans Make, il suffit d’utiliser plusieurs nodes Text Parser Match pattern (advanced) les unes à la suite des autres.

NB : les expressions régulières ont tout de même deux inconvénients par rapport à un prompt à Chat GPT :

  1. elles sont (légèrement) moins intelligibles et plus difficiles à rédiger

  2. elles demandent d’anticiper 95% des job titles sur lesquels on va tomber (donc d’avoir des leads sous la main pour tester ses expressions régulières).

Ceci dit, si on peut les utiliser, le jeu en vaut la chandelle.

Bref, parlons de l’autre mini-projet growth engineering.

TRAITEMENT DES OFFRES D’EMPLOIS :

Il y a plein d’informations dans les offres d’emploi. Mais au début, à juste titre, on ne se focalise que sur le titre de l’offre.

Typiquement, il est probable que CaptainData puisse faire affaire avec une entreprise qui recrute un RevOps ou un growth engineer. D’où l’intérêt de détecter ce genre d’offres.

Évidemment, Mathilde avait déjà implémenté les workflows qui le permettaient. Mais il était temps de passer au stade supérieur, car une fois que ce workflow est en place et fonctionne, il y a un gros manque à gagner dans le corps de l’offre.

Bref, cette fois-ci mon intervention a consisté à faire monter d’un cran l’analyse des descriptifs de postes, afin d’en analyser automatiquement le contenu pour savoir si l’offre :

  • correspondait à une offre growth/sales/revenue

  • correspondait à une offre pour un “growth builder” (un growth avec des compétences techniques, nécessaires pour implémenter CaptainData)

  • faisait mention “d’outbound” (car l’offre Lead Gen parle moins aux entreprises qui n’en font pas)

  • faisait mention d’outils growth/sales (Pipedrive, Modjo, Lemlist, …)

Cette fois-ci, j’ai suggéré d’utiliser Chat GPT.

Les expressions régulières c’est bien, mais on peut pas tout anticiper. Les job titles sont à peu près standards — pas le corps des descriptifs de postes.

Voici ce que nous avons donné à manger à ChatGPT pour obtenir nos réponses…

…avec quelques exigences en ce qui concerne les paramètres de sorties.

IV. Résultats

1. Performances

Je vous dirai la même chose qu’à CaptainData :

“Le but n’est pas de vous faire passer des vessies pour des lanternes : les performances ne sont pas au rendez-vous.”

Voici les performances globales de nos campagnes.

Certes, elles ne faisaient pas partie des objectifs de la mission, mais ne nous cachons pas derrière notre petit doigt : sur une mission growth, les clients l’espèrent toujours.

Voici les performances des campagnes que nous avons lancées. RAS, c’est explicite.

2. Apprentissages

Vous trouverez nos apprentissages des campagnes à partir de la slide 8 de cette présentation. C’est la présentation que nous avons exposée à CaptainData.

3. Satisfaction clients

Soyons honnêtes, ce n’était pas une standing ovation.

NÉANMOINS 🙃 la mission était sur les rails et a pu prendre un nouveau tournant grâce à nos conclusions — un tournant Account-Based Marketing (ABM), en l’occurrence.

NB : l’observation faite chez CaptainData est la même que chez beaucoup d’autres : le marché est saturé d’emails.

Ça ne veut pas dire que l’outbound ne marche pas, ou ne sert à rien. Ça veut dire que dans certaines industries, et avec certaines propositions de valeur, ce n’est pas optimal.

Ainsi, une stratégie ABM multicanale, avec un nombre limité de comptes à adresser sur le long terme, semblait plus pertinente que le pur outbound dans lequel nous étions engagés.

Malgré ces conclusions en demi-teintes, voici ce que Mathilde a pensé de mon intervention :

Un super avis, inutile de vous dire que je suis très flatté.

Vous vous demandez donc peut-être pourquoi est-ce que je suis sorti de la mission au bout de 2 mois. C’est l’un des sujets de la partie suivante.

V. Conclusion

1. Pourquoi j’ai arrêté

Parce que ce n’était pas une mission où je pouvais tabler sur mes points forts (le pur growth engineering). Ça n’a rien à voir avec le client, c’est simplement la teneur de la mission.

Attention, ça ne me gêne pas de faire du copywriting, mais 2 mois suffisent, et surtout, il y a plein de freelances bien meilleurs que moi dans cette discipline.

2. Comment vous pourriez m’utiliser :)

Nous voici arrivés au dernier point à élucider. Grosso modo, le but d’une étude de cas, c’est de vous prouver que je suis compétent, que mes clients apprécient travailler avec moi, et que vous pourriez m’employer sur des missions similaires.

Mais je viens de dire que ma force était le growth engineering, pas le copywriting outbound. Alors à quoi rime tout ceci ?

En fait, c’est plutôt la dimension “head of” de la mission que je pourrais déployer chez vous — avec d’une part la gestion de projet (ça sonne très MacKinsey, pardonnez-moi 🌝), et d’autre part, l’application de la méthode scientifique.

LA GESTION DE PROJET :

Disons que j’ai contribué au cadrage de la mission et que j’ai maintenu le lien avec CaptainData avec rigueur, ce qu’ils ont apprécié.

Roadmap des deux premiers mois de mission, partagée avec CaptainData.

Message récapitulatif hebdomadaire.

LA MÉTHODE SCIENTIFIQUE :

Je l’ai dit 1000 fois, la méthode scientifique est consubstantielle au growth. Je peux l’infuser chez vous afin de ne pas en dévier (car c’est une des méthodes les plus efficaces pour faire croître une entreprise sur le long terme).

Reply

or to participate.