Avant d'exporter quoi que ce soit
Les migrations échouent dans la première heure, pas la dernière. Avant de toucher un bouton d'export, nous faisons trois choses. Nous gelons l'ancien CRM : pas de nouveaux champs, pas d'étapes renommées, pas de séances de nettoyage, car chaque changement doit désormais être répété dans la correspondance. Nous exportons tout, pas seulement les contacts : entreprises, opportunités, notes, tâches, historique d'e-mails et d'appels, ainsi que les définitions de champs elles-mêmes. Et nous convenons de ce que « terminé » signifie avec le client, par écrit, généralement sous forme de chiffres : tel nombre de contacts, tel nombre d'opportunités ouvertes, telle valeur de pipeline, le tout visible dans GoHighLevel et correspondant à la source.
Construire la correspondance des champs
La correspondance des champs est un tableur avec une ligne par champ source. Pour chaque ligne, nous décidons de sa destination dans GoHighLevel :
| Champ source (HubSpot) | Destination dans GoHighLevel | Remarques |
|---|---|---|
| Prénom, nom, e-mail, téléphone | Champs de contact standard | Téléphone normalisé au format E.164 d'abord. |
| Étape du cycle de vie | Tag stage:lead, stage:customer | Alimente les listes intelligentes. |
| Source du lead | Champ personnalisé « Source du lead » | Valeurs regroupées dans une liste fixe de huit. |
| Étape de l'affaire | Étape du pipeline d'opportunités | Anciennes 11 étapes associées aux 6 nouvelles. |
| Montant de l'affaire, date de clôture | Valeur de l'opportunité, clôture prévue | Devise confirmée. |
| Notes, journaux d'appels, e-mails | Notes de contact préfixées par la date | Les plus anciennes d'abord pour que la chronologie se lise correctement. |
| Case « Newsletter 2021 » | Supprimé | Inutilisé depuis 2022 ; documenté comme supprimé. |
Chaque champ source aboutit dans l'une de quatre colonnes : un champ GoHighLevel, un tag, une note ou « supprimé » avec une raison. Rien n'a le droit de rester vide. Le client signe la correspondance avant que nous importions la moindre ligne, ce qui est le moment où la plupart des surprises sont repérées.
Nettoyer dans le tableur, pas dans le CRM
L'export est le moment où l'on nettoie, car un tableur a une fonction d'annulation et un CRM non. Nous normalisons les numéros de téléphone au format international, passons les e-mails en minuscules et retirons les espaces, fusionnons les doublons par e-mail puis par téléphone, et ramenons les champs de texte libre comme « Source du lead » à une liste fixe. Tout ce que nous ne pouvons pas trancher va dans un onglet « à revoir » que le client décide, plutôt que d'être deviné.
GoHighLevel fusionne par défaut sur l'e-mail et le téléphone. Si la même personne existe deux fois dans la source avec deux e-mails, vous obtiendrez deux contacts et son historique sera scindé. Décidez quelle fiche l'emporte avant l'import, et conservez l'e-mail perdant dans un champ secondaire.
Importer dans le bon ordre
- Champs personnalisés, tags et pipelines d'abord. La structure doit exister avant que les données n'y arrivent.
- Contacts. Un import, d'abord un lot de test de 50, puis le fichier complet. Vérifiez-en quelques-uns à la main.
- Opportunités. Associées aux contacts par e-mail, placées dans l'étape correspondante avec leur valeur et leur date de clôture.
- Notes et activité. Importées de la plus ancienne à la plus récente, chacune préfixée de sa date d'origine, pour que la chronologie du contact se lise comme une histoire et non comme un vidage.
- Tâches et relances encore ouvertes, attribuées au bon utilisateur.
Entre chaque étape, nous nous arrêtons pour compter. Si 4 812 contacts ont été importés et que la source en comptait 4 830, nous retrouvons les 18 avant de continuer, car un contact manquant signifie des opportunités et des notes manquantes en aval.
Rapprocher et valider
Le rapprochement est un court rapport que le client peut lire en cinq minutes : nombre de la source et nombre de la destination pour les contacts, entreprises, opportunités ouvertes et valeur totale du pipeline, plus dix contacts tirés au hasard ouverts côte à côte dans les deux systèmes avec captures d'écran. Quand les chiffres correspondent et que les contrôles ponctuels passent, le client valide. Cette signature fait passer de « nous pensons que cela a marché » à vérifié.
La semaine de bascule
Pendant une semaine, les deux systèmes fonctionnent, l'ancien CRM étant en lecture seule. Les nouveaux leads n'arrivent que dans GoHighLevel, l'équipe travaille dedans et quiconque a besoin de vérifier quelque chose d'ancien le peut encore. À la fin de la semaine, nous faisons un dernier import différentiel de tout ce qui a changé dans l'ancien système pendant le gel, puis exportons une archive complète de l'ancien CRM à conserver et l'éteignons.
Réalisée ainsi, une migration de quelques milliers de contacts prend environ deux semaines de bout en bout, et personne dans l'équipe ne découvre une note manquante trois mois plus tard. Si vous préparez un changement et voulez un second regard sur la correspondance des champs, c'est exactement ce que couvre l'audit gratuit.
L'essentiel à retenir
- Gelez la structure de l'ancien CRM et exportez tout, notes et activité comprises, avant de rien changer.
- Rédigez une correspondance des champs avec une destination pour chaque champ source : un champ GoHighLevel, un tag, une note ou un « supprimé » documenté.
- Nettoyez et dédoublonnez dans un tableur où vous pouvez annuler, pas dans le CRM en production.
- Importez d'abord les contacts, puis les opportunités, puis les notes, et rapprochez les chiffres après chaque étape.
- Faites tourner les deux systèmes pendant une semaine, l'ancien en lecture seule, puis éteignez-le.