#2 : Comment envoyer des cold e-mails hyper-personnalisés grâce à ChatGPT et PhantomBuster
On le sait, le nerf de la guerre en cold e-mail c'est d'arriver à se démarquer et capter l'attention du lecteur. Pour cela je vous propose une campagne boostée à ChatGPT pour personnaliser vos e-mails
👋 Introduction
Bonjour à toi
Il s’agit du deuxième scénario présenté dans cette newsletter “🤖 Make Time”.
Petit rappel pour les nouveaux lecteurs de cette newsletter, j’utilise Make depuis plusieurs années et c’est devenu un outil central dans mon travail quotidien.
Je trouve l’outil formidable grâce à son côté pratique, il permet de connecter des milliers d’applications entre elles.
Mais aussi parce qu’il fait appel au côté créatif : il me pousse à me creuser la tête pour trouver des scénarios qui vont débloquer de nouvelles possibilités et me faire gagner un avantage concurrentiel.
Cette newsletter a pour but de te donner des scénarios d’automatisation concrets que ce soit sur du gain de productivité, l’automatisation de tâches, l’exploitation de ChatGPT et bien d’autres encore.
Mon objectif est de couvrir des secteurs vastes comme le e-commerce, la prospection, l’automatisation, les RH, le freelancing, etc
Si t’as loupé le premier scénario, tu peux aller le consulter.
⚙️ Présentation du scénario
✅ Quel est l’objectif du scénario ?
Le scénario de cette semaine s’appuie sur les données scrappées sur le profil LinkedIn de ton prospect pour générer un message hyper-personnalisé.
L’objectif est d’arrêter d’envoyer les mêmes messages à chacun de vos prospects. La personnalisation est la clé de la réussite lorsque vous faites du cold e-mail.
Et je ne parle pas de personnaliser tes messages en ajoutant une balise prénom en début de mail. Ici, le but est de s’appuyer sur les informations présentes dans le profil de ton prospect pour te démarquer.
Concrètement, qu’est ce qu’il se passe dans le scénario ?
Le scénario se déroule en plusieurs étapes :
Make récupère les résultats du scrap PhantomBuster
On parse le JSON obtenu pour le rendre exploitable dans le reste du scénario
On centralise les informations récupérées dans Google Sheets
On alimente ChatGPT grâce aux données scrappées
On génère un mail de prospection en s’appuyant sur les informations du profil LinkedIn
On envoi un e-mail hyper personnalisé mettant en avant notre produit
🥇 Quelle est la valeur ajoutée du scénario ?
Le scénario combine les forces d’un outil comme PhantomBuster (récupérer les infos présentes sur le profil LinkedIn entre autres) avec celles de l’IA pour générer des cold e-mails qui seront plus pertinents auprès de vos prospects.
🛠️ Quelles applications sont nécessaires à ce scénario ?
PhantomBuster
L’outil ne sera pas utilisé à son plein potentiel dans ce scénario, on va juste s’en servir pour récupérer les informations qui nous intéressent pour personnaliser nos cold e-mails.
Pour ceux qui ne connaissent pas, l’outil permet de scrapper et récupérer des données pertinentes que ce soit sur LinkedIn, Google Maps ou Instagram.
L’outil est très connu grâce à ses fonctionnalités LinkedIn, comme visiter un profil puis faire une demande de connexion et enfin lui envoyer un message pertinent une fois lorsque le profil fait parti de votre réseau. Tout ça de manière automatisé.
Si ça t’intéresse, j’ai un lien d’affiliation avec eux
ChatGPT
Il est nécessaire d’avoir un compte ChatGPT Playground afin d’exploiter l’API (envoi du prompt et réception du contenu).
💰 Quel est le coût estimé du scénario ?
Ce scénario nécessite d’avoir un compte Make. Je te conseille au minimum le compte à $9 par mois afin de ne pas être limité dans ton utilisation.
En fonction de la taille de ton catalogue, tu devras peut-être ajouter des opérations aux 10 000 opérations / mois comprises dans le compte de base.
Il faudra également ajouter à cela un compte PhantomBuster à 69$ par mois sans engagement.
Pour ChatGPT, il faut compter quelques centimes par cold e-mail généré.
🧑🏫 Etapes pour créer ce scénario
L’abonnement payant te donne accès :
Aux différentes étapes de création de ce scénario
Aux prochains et précédents scénarios publiés (1 par semaine)
Tu souhaites soumettre une idée de scénario ? Tu peux le faire ici !
Etape 1 : Récupérer une liste de profil LinkedIn
La toute première étape pour le scénario sera d’établir un Google Sheets regroupant l’ensemble des profils LinkedIn qui t’intéresse.
Pour cela, rien de plus simple !
Connecte toi à PhantomBuster et clique sur le scénario “LinkedIn Search Export”. L’objectif de ce scénario est de te fournir un CSV de toutes les url des profils LinkedIn qui matchent à ta recherche LinkedIn.
Je travaille dans la génération de leads pour les concessions auto via l’entité dont je suis responsable : Kaptiva.
Disons que je cible toutes les personnes travaillant dans le marketing en concession automobile à Nice.
Ma recherche sur LinkedIn va ressembler à cela :
Commençons le paramétrage du Phantom :
L’outil va nous demander de coller l’URL de résultat contenant ta recherche LinkedIn.
💡 Pour info, LinkedIn affiche uniquement les 1 000 premiers résultats. Si ta recherche contient plus de 1 000 résultats, ils vont passer à la trappe donc je te recommande de segmenter en ajoutant une ville ou trouver un autre terme de recherche moins générique.
Ma recherche “Marketing concession” à Nice contient 121 résultats, on ne sera donc pas capé sur cette recherche.
Ensuite il faut connecter PhantomBuster à ton compte LinkedIn
Pas de changement particulier dans la partie “Behavior”. Il faut bien paramétrer pour exporter les 1 000 résultats, soit le maximum autorisé par LinkedIn.
Enfin on lance la recherche manuellement (ça me fait mal d’écrire ça dans une newsletter d’automatisation 🙂)
PhantomBuster va se lancer et te générer un CSV contenant les résultats de la recherche que tu peux télécharger.
Dernière étape, importe le CSV dans un Google Sheets et paramètre la fonction de partage du Google Sheets pour le rendre accessible à toutes les personnes ayant le lien. C’est important pour la suite.
Etape 2 : Deuxième scénario PhantomBuster
Maintenant qu’on a récupéré toutes les URLs des profils LinkedIn qui nous intéressent. On va s’appuyer sur un deuxième Phantom : “LinkedIn Profile Scraper”
Ce Phantom va se connecter à ta place sur LinkedIn, regarder les profils dont tu lui fournis les URLs en détails et enfin il va te retourner toutes les informations du profil.
Ici, il va te demander la source des profils à analyser. Tu peux soit connecter le Phantom qu’on vient de créer ensemble ou ton Google Sheets.
Par défaut je préfère le Google Sheets, ça te permet de collecter et centraliser des milliers de profils. Tu n’aura pas à modifier la source de ton Phantom dans le futur.
Donc tu renseignes l’URL de ton Google Sheets, tu connectes ton compte LinkedIn et tu choisis PhantomBuster en tant que service de génération d’e-mail.
On exporte 10 profils LinkedIn par démarrage de scénario
Si on suit les recommandations de PhantomBuster, on pourra lancer le scénario 4 fois par jour pour un total de 40 profils exportés.
Avant de cliquer sur “Save” et valider le scénario. Rends toi sur “Advanced settings”
Puis Webhooks et sous “Custom webhook URL” tu vas copier coller l’URL de ton webhook Make. On va le créer tout de suite dans l’étape 3.
Etape 3 : Décryptage du résultat PhantomBuster dans Make
Le déclencheur de notre scénario sera le Webhook appelé lorsque notre deuxième Phantom sera fini.
Tu peux créer un nouveau scénario et choisir le module Webhooks en tant que trigger. Sélectionne “Custom webhook”
Puis “Create a webhook”
Tu vas te retrouver avec une URL générée par ton module
C’est cette URL que tu vas renseigner dans la “Custom webhook url” de ton Phantom.
Cela permet de faire communiquer PhantomBuster avec Make. Dès que le Phantom aura fini son scrap, il déclenchera l’URL qu’on vient de générer ce qui déclenchera le scénario Make qu’on est en train de paramétrer. Des vrais dominos.
Une fois que tu as connecté Make et PhantomBuster grâce au Webhook, il est nécessaire de faire tourner le scénario une première fois.
C’est des données qui seront perdues donc je te déconseille de le faire tourner avec ta liste de prospect. Je te recommande de mettre l’URL d’un profil pris au hasard dans ton phantom et lancer le scénario.
L’objectif est de générer un premier résultat pour ton webhook Make, cela va nous servir pour la suite du paramétrage.
PhantomBuster va envoyer les données scrappées mais de manière brut comme tu peux le voir ici :
Il est donc primordial d’ajouter le module “JSON” et l’action “Parse JSON” présent dans Make.
Dans le champ “JSON string” tu as besoin d’ajouter la variable “resultObject”. Pour cela le webhook doit avoir collecté un premier résultat de PhantomBuster.
Etape 4 : Centraliser les informations scrappées dans Google Sheets
Pour cette étape, on va ajouter le module Google Sheets - Add a Row
Make va ainsi créer une nouvelle ligne par profil
Donc tu tapes “sheets.new” dans ta barre de recherche et en feuille 1 tu ajoutes les headers :
Colonne A : Profilurl
Colonne B : E-mail
Colonne C : Prénom
Colonne D : Nom
Colonne E : Entreprise
Colonne F : Description
Colonne G : Poste
Colonne H : Contenu mail
Tu l’as compris, chaque colonne servira à stocker la donnée scrappée et l’utiliser en variable pour alimenter ChatGPT. Libre à toi d’ajouter d’autres colonnes si tu les considères pertinentes pour ton activité.
Via le scrap PhantomBuster, tu as accès à :
Des informations générales sur le profil (Nom, Prénom, Localisation, Description, etc)
Les entreprises par lesquelles est passé ton prospect
Les études suivies par ton prospect
Les skills de ton prospect
Tout ce qui est publié sur son profil, tu peux l’utiliser pour personnaliser ton cold e-mail.
Avant de mapper les bons champs dans les bonnes colonnes. Tu as encore besoin de déclencher ton webhook avec une donnée test.
La première fois c’était pour avoir le “resultObject” disponible dans le module Parse JSON.
Cette fois c’est pour que le module Parse JSON découpe un résultat du webhook et te permette de sélectionner les variables dans le module Google Sheets.
Tu pourras ensuite mettre tes variables dans Google Sheets 👇
Etape 5 : Génères moi mon cold e-mail
Place au module ChatGPT désormais
Comme dans le premier scénario, tu dois connecter Make à ton compte OpenAI pour permettre les appels API à ChatGPT
Crée un nouveau module et cherche OpenAI ou ChatGPT.
Sélectionne l’action “Create a completion (GPT-3, GPT-3.5, GPT-4)”
Connecte ton compte OpenAI. Pour cela Make va te demander la Clé API disponible ici : https://platform.openai.com/api-keys (si tu as bien un compte OpenAI).
Clique sur “Create new secret key” pour en utiliser une nouvelle. Ajoute là dans le champ Make “API Key”.
Ensuite remplis le module de la manière suivante :
Voici le prompt que j’utilise pour mon exemple de Kaptiva :
You are a senior cold email copywriter with over 10 years of experience. As a copywriter, you feel an immense amount of joy and fulfillment doing just one thing: writing emails that get replies, which is the thing that you do best and love to do the most.
Here is a brief of the product that you must sell: "Campagnes d'acquisition permettant de générer des leads qualifiés. Mon agence travaille à 100% dans le milieu automobile et par ce fait, nous connaissons toutes les problématiques que peut rencontrer une concession et comment y répondre."
Below is a cold email template (written in French) that received 44% reply rates, which is considered an outstanding performance.
Using this template, I want you to write the perfect cold email to get replies.
The end goal of this email is to have a qualified prospect that has never heard of us want to get on a call with us ASAP.
Here is a checklist that MUST be followed at ALL times:
- The email must be no more than 100 words in length.
- The target audience is familiar with the vocabulary used.
- The email must provide or promise targeted, concrete value.
- The email must include ONE single, clearly formulated call to action/question
- The email must include ONE question
Also, the email must NOT sound salesy and ANY point. As a copywriter, you know that a good cold email must not try to sell, but rather create a conversation. Sentences such as “Ça vous intéresse ?“, “Avez-vous déjà envisagé de viser 1M€ en chiffre d’affaires ? Notre acccompaagnement de 6 mois pourrait vous y amener”, or any sentence that contains “Imagine” must be avoided.
Here is an example of a high-quality Cold Email that got 99% open rate and 44% reply rate.
“Hello,
I checked your Linkedin profile and decided to contact you. I saw you’re a marketing manager, nice work.
I co-founded Kaptiva, a digital agency for dealerships. We have hundreds of customers across France. We help them generate leads and sell more cars.
Would you like to jump on a call and see our different campaigns available? Let me know for a quick call.
Best,
Guillaume”
Template:
“[salutation] [prénom],
[Part 1 : context and reason for getting in touch. This part must give the prospect a reasonable yet not too intrusive explanation as to why we are getting in touch. Reason can be as simple as “Found you through LinkedIn” or “just stumbled upon your website”, but can also be more precise by referring to specific intent triggers or common grounds. This part must be no longer than 1-2 sentences in length.]
[Part 2 : relevant value proposition + bridge to conversation. This part aims to give the prospect a quick glimpse of the problem that we solve. It should not talk about the prospect per se, but rather communicate our value proposition in a general way for the prospect to want to know more. It should be no longer than 1-2 sentences. It must end with a clear bridge to conversing. The value proposition must be pictured as a sufficient reason for you and the prospect to get in touch. The bridge to conversation is very important and is often what makes the difference between a mediocre email and an outstanding email. Its function is to tight the gap between the value proposition and the prospect’s implicit need to converse with us in order for him to solve his problem.]
[Part 3 : projection. This next part must have the prospect picture the value we provide, or the problem that we solve, in a clear and vivid way. Usually, a good way to have a prospect project is to start the sentence with “Concrètement”, although it is not mandatory to do so. A good projection also refers to specific numbers and metrics (logic), while providing a more emotional touch. An example of a good projection would be something Concrètement, nous aidons nos clients à obtenir le corps de leur rêve en perdant jusqu’à -7kg en 5 semaines, sans jamais souffrir de la faim.” A good framework for projection Concrètement, nous aidons {clients} à {résoudre problème} de {métrique} en {délai}, sans {douleur}.]
[Part 4 : appel à l’action vague pour amener à un échange rapide. This part must invite the prospect to reply. Given the context of this email being the first touch point, it must not be too precise in order to let the prospect chose the mean this best fits him at the moment. An example of a good call-to-action could be something Peut-on entrer en contact?“, but it is not mandatory to use it.] [Part 5 : salutation]”
You must:
- Write directly the best email in HTML format and only that
- Use these variables to make the email more powerfull
FirstName : {{5.general.firstName}}
Jobtitle : {{5.dropcontact.job}}
- Sign the end of the email "Guillaume"
Source du prompt : Newsletter Scalezia
⚠️ Vérifie que tes variables sont les bonnes, elles peuvent être différentes entre ton scénario et le mien.
Dans mon exemple, j’utilise uniquement deux variables issues de PhantomBuster pour rester soft. Tu peux tout mettre et voir ce que ça donne en terme de pertinence.
Une fois que c’est fait, tu ajoutes un module “Google Sheets - Update a Row”.
Tu sélectionnes la même feuille utilisée dans le premier module Google Sheets.
Dans le champ “Row Number”, tu sélectionnes la variable “Row Number” issue de ton module Google Sheets précédent. Cela permet d’ajouter le bon contenu en face du bon profil dans le Google Sheets.
Et enfin tu ajoutes la variable “Choices” → “Message” → “Content” issue de ChatGPT dans ta colonne H.
⚠️ Une fois paramétré, je te conseille de tester le scénario sur une vingtaine de profils sans leur envoyer le mail.
➡️ Si t’es pas satisfait du résultat, prends le prompt avec les variables et fais des modifications directement sur ChatGPT (pour éviter de payer l’appel API à chaque fois)
➡️ Si t’es satisfait du résultat, on va pouvoir passer à l’étape suivante.
Etape 6 : Module Gmail
Dernière étape, de ce scénario qui te permet de générer et envoyer des cold e-mails hyper personnalisés.
Ajoute le module Gmail → “Send an Email“
Ajoute ta connexion Google (il s’agira de l’adresse e-mail qui enverra le mail)
“Add a recipient” → Ajoute l’adresse mail fournie par PhantomBuster
Subject : C’est l’objet du mail. Je te laisse trouver un objet intriguant qui donne envie à ton prospect d’en savoir plus. Tu peux mettre le nom de son entreprise en variable, exemple : “BMW Nice // Kaptiva” pour mon cas.
Content : C’est le contenu du mail. Ici tu ajoutes le message généré par ChatGPT. Dans le prompt, on demande à l’IA de générer le contenu en HTML donc il n’y aura pas de problème. Pour les premiers e-mails, tu peux te les envoyer sur une adresse mail qui t’appartient pour vérifier que tout passe bien.
🏁 Félicitations le scénario est prêt !! 🏁
N’oublie pas de le sauvegarder et l’activer
N’hésite pas à me faire tes retours en commentaire sur ce premier scénario.
➡️ Tu préfères un format vidéo pour expliquer le scénario ?
➡️ Tu as des critiques constructives à faire ?