Le contexte
Edenred est le leader mondial des solutions de paiement a usage specifique pour les entreprises. Avec des produits comme Ticket Restaurant, Ticket Kadeos et une gamme de cartes de paiement corporate, le groupe opere dans 45 pays, emploie plus de 12 000 collaborateurs et gere un volume de transactions de plusieurs milliards d'euros par an.
Le projet que nous avons mene concerne l'une des filiales du groupe. Cote organisation, cette filiale utilise deux outils complementaires : HubSpot Marketing Hub pour l'equipe marketing (campagnes, nurturing, lead generation, formulaires, landing pages) et Salesforce CRM pour l'equipe commerciale (pipeline, gestion des comptes, forecasting, suivi des deals).
Sur le papier, cette architecture bipartite fait sens. Le marketing genere des leads dans HubSpot, les qualifie en MQL, puis les transmet a Salesforce ou les commerciaux prennent le relais. C'est un schema classique dans les organisations B2B. Mais pour que ca fonctionne, la connexion entre les deux systemes doit etre irreprochable. Et c'etait loin d'etre le cas.
La filiale avait active le connecteur natif HubSpot-Salesforce il y a plusieurs annees, mais sans veritable configuration initiale. Le setup avait ete fait a la va-vite, avec les reglages par defaut, et n'avait jamais ete revise depuis. Les equipes avaient evolue, les champs s'etaient multiplies, les process avaient change, mais la connexion, elle, etait restee figee.
Le probleme
Quand la filiale nous a contactes, le constat etait sans appel : la connexion HubSpot-Salesforce ne fonctionnait plus correctement. Les symptomes etaient multiples, et chacun avait des consequences business directes.
Les dysfonctionnements identifies
des leads generes par le marketing ne passaient jamais dans Salesforce. Ils restaient bloques dans HubSpot sans que personne ne s’en rende compte.
doublons detectes entre les deux systemes. Le meme contact existait dans HubSpot et Salesforce avec des informations differentes, sans association.
d’attribution fiable. Les UTM et sources marketing capturees dans HubSpot ne remontaient pas dans Salesforce. Impossible de savoir quelle campagne generait du pipeline.
des champs HubSpot n’etaient pas mappes vers Salesforce. Les informations remplies par le marketing (secteur, taille entreprise, interest) ne traversaient pas la connexion.
lifecycle stages desynchronises. Un contact pouvait etre "Customer" dans HubSpot et "Lead" dans Salesforce, rendant tout reporting impossible.
de l’equipe marketing aveugle. Apres le passage en MQL, le marketing n’avait aucune visibilite sur ce qui se passait cote sales. Pas de feedback loop.
Le resultat concret : l'equipe marketing investissait du budget dans des campagnes d'acquisition sans pouvoir mesurer leur impact reel sur le pipeline. Et l'equipe commerciale travaillait avec des donnees incompletes sur les leads qu'elle recevait, quand elle les recevait. Deux equipes qui operaient en silo, avec un connecteur cense les relier mais qui, dans les faits, creait plus de problemes qu'il n'en resolvait.
Le probleme n'etait pas HubSpot. Ce n'etait pas Salesforce non plus. C'etait la connexion entre les deux : mal configuree, jamais auditee, et qui avait derive silencieusement pendant des annees.
Audit de la connexion existante
Avant de toucher a quoi que ce soit, on a mene un audit exhaustif de la connexion HubSpot-Salesforce en place. L'objectif : comprendre exactement ce qui fonctionnait, ce qui ne fonctionnait pas, et pourquoi. Pas de suppositions, que des faits.
Analyse du connecteur natif
On a commence par examiner la configuration du connecteur HubSpot-Salesforce natif. Version du connecteur, parametres de sync, regles d’inclusion et d’exclusion, frequence de synchronisation. Premier constat : le connecteur etait dans sa configuration par defaut, sans aucune personnalisation. Les regles d’inclusion etaient trop larges (tous les contacts synces, meme les desabonnes) et les regles d’exclusion inexistantes.
Inventaire des erreurs de sync
On a exporte le journal des erreurs de synchronisation des 90 derniers jours. Resultat : 2 300+ erreurs non resolues. Les principales causes : champs obligatoires dans Salesforce non remplis dans HubSpot, valeurs de picklist non concordantes, limites d’API atteintes aux heures de pointe, et conflits de mise a jour quand le meme champ etait modifie dans les deux systemes simultanement.
Cartographie du mapping existant
On a documente chaque champ mappe entre HubSpot et Salesforce. Sur les 180 proprietes actives dans HubSpot, seulement 72 etaient mappees vers Salesforce. Les 108 restantes, dont certaines critiques (source originale, UTM parameters, score marketing, date de MQL), n’etaient tout simplement pas synchronisees.
Analyse des regles de priorite
Le connecteur HubSpot-Salesforce permet de definir quelle plateforme a la priorite en cas de conflit. On a decouvert que les regles de priorite etaient incoherentes : certains champs donnaient la priorite a HubSpot, d’autres a Salesforce, sans logique apparente. Le lifecycle stage, par exemple, etait en priorite HubSpot alors que les commerciaux le mettaient a jour dans Salesforce.
Audit des objets synchronises
On a verifie quels objets etaient synchronises et comment. Les contacts et les entreprises etaient synces, mais les deals ne l’etaient pas. Resultat : le marketing n’avait aucune visibilite sur le pipeline Salesforce. Les taches et les activites n’etaient pas synchronisees non plus, privant chaque equipe du contexte de l’autre.
Document d’audit et recommandations
On a produit un document d’audit de 35 pages detaillant chaque probleme identifie, son impact business, et la solution recommandee. Le document a ete presente a la direction marketing et au responsable CRM lors d’un atelier de 2 heures. Chaque recommandation a ete validee avant de passer a l’implementation.
Restructuration du mapping
Le mapping des champs est le coeur de toute integration HubSpot-Salesforce. Si un champ n'est pas mappe, l'information ne traverse pas. Si un champ est mal mappe, l'information est corrompue. On a repris le mapping de zero, champ par champ.
Remapping complet des proprietes standard
On a reconfigure le mapping de toutes les proprietes standard HubSpot vers leurs equivalents Salesforce : nom, email, telephone, entreprise, poste, adresse. Chaque mapping a ete verifie pour s’assurer que le format etait compatible (par exemple, le format de telephone HubSpot vs Salesforce, les codes pays, les formats de date).
Mapping des proprietes custom
Les 108 proprietes non mappees ont ete analysees une par une. 67 d’entre elles ont ete mappees vers des champs Salesforce existants ou nouvellement crees. 28 ont ete jugees non pertinentes pour la synchronisation (proprietes internes au marketing). 13 ont ete fusionnees ou supprimees car redondantes.
Gestion des objets custom Salesforce
La filiale utilisait 4 objets custom dans Salesforce (Product Interest, Partner Relationship, Contract Details, Implementation Status). On a configure des proprietes HubSpot correspondantes et mis en place des workflows pour maintenir la coherence entre les deux systemes, car le connecteur natif ne gere pas les objets custom de maniere bidirectionnelle.
Regles de sync bidirectionnelle
Pour chaque champ mappe, on a defini une regle de priorite claire basee sur la logique metier. Les champs marketing (source, UTM, score, engagement) : priorite HubSpot. Les champs sales (stage du deal, owner, montant, date de closing) : priorite Salesforce. Les champs partages (lifecycle stage, adresse, telephone) : toujours la mise a jour la plus recente qui gagne.
Gestion des conflits et des picklists
On a harmonise toutes les valeurs de picklist entre les deux systemes. Chaque dropdown dans HubSpot devait avoir exactement les memes valeurs que son equivalent Salesforce. On a cree un document de reference listant chaque correspondance de valeur pour les 23 picklists synchronisees.
Validation et tests
Chaque mapping a ete teste individuellement : creation d’un contact test dans HubSpot, verification de la synchronisation dans Salesforce, modification dans Salesforce, verification du retour dans HubSpot. 180 tests executes, 12 anomalies detectees et corrigees avant la mise en production.
Optimisation du flux de leads
Le flux de leads entre HubSpot et Salesforce est le nerf de la guerre. Quand un contact devient MQL dans HubSpot, il doit arriver dans Salesforce au bon moment, avec les bonnes informations, assigne au bon commercial, dans le bon format. On a reconstruit ce flux de A a Z.
Definition du MQL revisitee
On a redefini les criteres de MQL en collaboration avec les equipes marketing et sales. Un lead devient MQL quand il atteint un score de 70 points (engagement + fit demographique) ET qu’il a realise au moins une action a forte intention (demande de demo, telechargement de cas client, visite page pricing). Plus de MQL "accidentels" qui polluent le pipeline sales.
Creation automatique dans Salesforce
Quand un contact atteint le statut MQL dans HubSpot, un Lead est automatiquement cree dans Salesforce via le connecteur. On a configure les regles pour que le Lead soit cree (et non un Contact direct) pour respecter le process de qualification Salesforce. Si le contact existe deja dans Salesforce, il est mis a jour plutot que duplique.
Assignment rules intelligentes
L’attribution du lead au bon commercial est automatisee. Les regles de routing tiennent compte du pays, du secteur d’activite, de la taille de l’entreprise et de la source du lead. Un round-robin par equipe assure une repartition equitable. Le lead est assigne en moins de 5 minutes apres le passage en MQL.
Donnees transmises au handoff
Au moment du passage, le commercial recoit une fiche complete : source originale, pages visitees, contenus telecharges, score marketing detaille, historique des interactions email, et un resume des centres d’interet du prospect. Le commercial sait exactement a qui il parle avant de decrocher le telephone.
Le parcours du lead optimise
Attribution cross-platform
L'un des problemes les plus douloureux pour l'equipe marketing : impossible de prouver le ROI de leurs campagnes. Les UTM et les sources marketing capturees dans HubSpot ne remontaient pas dans Salesforce. Quand un deal etait gagne dans Salesforce, personne ne pouvait dire quelle campagne l'avait genere.
On a mis en place une architecture d'attribution qui traverse les deux systemes, de la premiere visite sur le site jusqu'au deal signe dans Salesforce.
Capture des UTM dans HubSpot
On a configure le tracking HubSpot pour capturer systematiquement les 5 parametres UTM (source, medium, campaign, term, content) sur chaque formulaire et chaque page du site. Les UTM sont stockes dans des proprietes dediees sur le contact, avec un historique : first touch (premier UTM) et last touch (dernier UTM avant conversion).
Sync des donnees d’attribution vers Salesforce
On a cree les champs correspondants dans Salesforce (Original Source, Original Medium, Original Campaign, Latest Source, Latest Medium, Latest Campaign) et configure le mapping bidirectionnel. Chaque lead cree dans Salesforce porte desormais ses donnees d’attribution marketing.
Attribution sur les deals Salesforce
On a configure des formules Salesforce pour que les deals heritent automatiquement des donnees d’attribution du contact principal. Quand un deal est gagne, on sait exactement quelle campagne a genere le premier contact et quelle campagne a declenche la derniere conversion.
Reporting d’attribution unifie
On a construit un rapport d’attribution qui combine les donnees des deux systemes : nombre de leads par source (HubSpot), taux de conversion par source (Salesforce), revenue genere par campagne (Salesforce), cout par lead par canal (HubSpot + donnees publicitaires). Le marketing peut enfin dire : "La campagne LinkedIn Q3 a genere 45 leads, dont 12 sont devenus des deals, pour un revenu de 180K euros".
First Touch (HubSpot) Last Touch (HubSpot)
utm_source: linkedin utm_source: google
utm_medium: paid utm_medium: cpc
utm_campaign: q3-awareness utm_campaign: brand-search
| |
v v
[Contact cree] --> [Nurturing] --> [MQL]
| |
+------> Sync vers Salesforce <--+
|
v
Lead Salesforce
Original Source: linkedin / paid
Latest Source: google / cpc
|
v
Opportunity --> Deal Won
Attribution: linkedin / paid (first touch)
google / cpc (last touch)
Revenue: associe aux deux sourcesAutomatisation et workflows
Une fois le mapping et le flux de leads en place, on a construit une couche d'automatisation pour que les deux systemes communiquent en temps reel, sans intervention manuelle. L'objectif : chaque evenement significatif dans un systeme declenche la bonne action dans l'autre.
Workflow MQL : HubSpot vers Salesforce
Quand un contact atteint le statut MQL dans HubSpot, un workflow declenche automatiquement : creation du Lead dans Salesforce, attribution au bon commercial, notification Slack dans le channel #new-mqls, et envoi d’un email interne au commercial avec la fiche du prospect. Temps de reaction moyen passe de 48h a 15 minutes.
Workflow SQL : Salesforce vers HubSpot
Quand un commercial qualifie un lead en SQL dans Salesforce, l’information remonte automatiquement dans HubSpot. Le lifecycle stage est mis a jour, le contact est retire des sequences de nurturing marketing, et une propriete "Date SQL" est renseignee pour le reporting du funnel.
Workflow Deal Won : notification cross-platform
Quand un deal est marque comme gagne dans Salesforce, un workflow HubSpot met a jour le lifecycle stage en "Customer", declenche un workflow d’onboarding, notifie l’equipe marketing dans #wins avec le detail du deal (montant, source, duree du cycle), et enregistre l’attribution pour le reporting.
Workflow Deal Lost : feedback loop
Quand un deal est perdu dans Salesforce, la raison de la perte est synchronisee dans HubSpot. Le contact est reintegre dans une sequence de nurturing long-terme adaptee a la raison de perte ("budget" : contenu ROI, "timing" : rappel dans 6 mois, "concurrent" : contenu differentiation). Le marketing recoit une analyse mensuelle des raisons de perte.
Mises a jour croisees en temps reel
Au-dela des grands evenements, on a configure des mises a jour continues : changement de owner dans Salesforce replique dans HubSpot, mise a jour de l’adresse dans HubSpot repliquee dans Salesforce, ajout d’une note dans Salesforce visible dans la timeline HubSpot. Les deux systemes restent synchronises en permanence.
Alertes et garde-fous
On a mis en place des workflows de surveillance : alerte si un MQL n’est pas contacte dans les 24h, alerte si un deal stagne plus de 30 jours sans activite, alerte si une erreur de sync est detectee. Un rapport hebdomadaire automatique liste les anomalies de synchronisation pour l’administrateur CRM.
Dashboards et reporting unifie
Avoir des donnees synchronisees ne sert a rien si personne ne les regarde. On a construit une couche de reporting qui donne a chaque equipe exactement les metriques dont elle a besoin, dans l'outil qu'elle utilise au quotidien, avec une vue consolidee pour le management.
Dashboard Marketing (HubSpot)
12 rapportsL’equipe marketing accede a son dashboard dans HubSpot : volume de leads par source, taux de conversion par campagne, evolution du MQL, performance des emails et landing pages. Mais surtout, pour la premiere fois, le dashboard inclut les donnees Salesforce : combien de MQLs sont devenus SQL, combien ont genere des deals, et pour quel montant. Le marketing voit enfin l’impact de son travail jusqu’au revenu.
Rapports Sales (Salesforce)
8 rapportsLes commerciaux gardent leurs rapports dans Salesforce : pipeline par etape, forecast, activite par commercial, taux de conversion par segment. On a enrichi ces rapports avec les donnees marketing syncees depuis HubSpot : source du lead, score marketing, contenus consommes, nombre d’interactions avant le premier appel. Le commercial comprend le contexte de chaque prospect.
Vue Management consolidee
1 dashboardPour la direction, on a cree un dashboard de synthese qui combine les deux : cout d’acquisition par canal (depenses marketing HubSpot + pipeline Salesforce), cycle de vente moyen par source, ROI par campagne, et un funnel complet du visiteur au client. Ce dashboard est envoye automatiquement chaque lundi matin par email au comite de direction.
Rapport d’alignement marketing-sales
MensuelUn rapport mensuel automatise qui mesure la sante de la collaboration entre les deux equipes : temps de prise en charge des MQLs, taux d’acceptation des leads par les sales, taux de feedback sur les leads rejetes, et couverture du pipeline par le marketing. Ce rapport alimente les reunions mensuelles d’alignement.
HubSpot (Marketing) Salesforce (Sales)
- Leads par source - Pipeline par etape
- Taux conversion landing pages - Forecast par commercial
- Performance email/nurturing - Activite et productivite
- Score marketing moyen - Taux de conversion SQL>Deal
| |
+------ Donnees synchronisees ------+
|
v
Vue Management consolidee
- Funnel complet visiteur > client
- CAC par canal
- ROI par campagne
- Cycle de vente par source
- Rapport d'alignement mensuelLes resultats apres optimisation
Le marketing peut enfin mesurer l’impact de ses campagnes jusqu’au revenu genere dans Salesforce
Les commerciaux recoivent des leads qualifies avec un contexte marketing complet avant chaque appel
Les lifecycle stages sont synchronises en temps reel entre les deux plateformes
Les workflows cross-platform automatisent le handoff marketing-sales et le feedback loop
Le rapport d’alignement mensuel a transforme la relation entre les deux equipes
L’administrateur CRM passe 2 heures par semaine sur la maintenance de la connexion au lieu de 2 jours
“On savait que notre connexion HubSpot-Salesforce ne fonctionnait pas bien, mais on ne mesurait pas l'ampleur du probleme. 30% de nos leads qui ne passaient jamais dans Salesforce, c'est enorme quand on y pense. Ceres a fait un audit complet, nous a montre exactement ou ca cassait, et a tout reconstruit proprement. Aujourd'hui, chaque lead est synchronise, chaque campagne est tracee jusqu'au deal, et pour la premiere fois, le marketing et les sales travaillent avec les memes donnees. Le rapport d'alignement mensuel a change la dynamique entre les deux equipes. On ne se dispute plus sur les chiffres, on avance ensemble.”
Directrice Marketing
Edenred (filiale)