← Articles
5 min de lectureGoogle Ads

Import conversions hors ligne dans Google Ads : la configuration que j’utilise

Je détaille la configuration exacte que j’installe chez mes clients pour connecter leur CRM à Google Ads via le GCLID, avec l’erreur qui casse le lien avec les conversions améliorées.

Import conversions hors ligne dans Google Ads : la configuration que j’utilise

L’import de conversions hors ligne (offline conversion import, souvent abrégé OCI) permet de renvoyer à Google Ads ce qui se passe après le clic, une fois que le lead est entré dans votre CRM. Un formulaire rempli n’est qu’un signal faible. Ce qui compte pour l’algorithme d’enchères automatique, c’est de savoir si ce lead devient un rendez-vous qualifié, puis un client, et pour quel montant.

Sans cet import, Google Ads optimise sur le volume de formulaires, pas sur la qualité réelle des prospects. J’insiste sur ce point avec presque tous mes clients B2B : si vous ne renvoyez pas de valeur de conversion à chaque étape du tunnel, vous nourrissez l’algorithme avec une information incomplète, et les enchères intelligentes finissent par sur-optimiser sur des leads qui ne convertissent jamais en clients.

Avant de mettre en place cet import, il faut d’abord comprendre l’écart entre CRM et Google Ads. Si vos volumes de conversions Ads et de leads CRM ne correspondent déjà pas, l’import hors ligne ne fera qu’ajouter une couche de confusion.

Le matching par Google Click ID : la méthode que j’utilise

Le matching se fait presque toujours par le Google Click ID (GCLID), un identifiant unique généré par Google à chaque clic sur une annonce. Voici la configuration que j’installe chez mes clients :

  1. Le GCLID est capturé dans l’URL de destination au moment du clic.
  2. Un script sur la page enregistre ce GCLID dans un champ caché du formulaire ou dans un cookie propriétaire.
  3. Le GCLID est envoyé au CRM en même temps que les données du lead, dans un champ dédié qui ne doit jamais être modifié manuellement.
  4. Quand le lead franchit une étape du pipeline (rendez-vous qualifié, devis signé), le CRM exporte le GCLID, le nom de l’action de conversion, l’horodatage et la valeur associée.
  5. Ce fichier ou cet appel API alimente une action de conversion Google Ads configurée en import avec la source clics.

Le point de vigilance : un seul GCLID par lead, capturé une seule fois, à la première visite. Si votre formulaire écrase le GCLID à chaque nouvelle visite, vous perdez l’attribution du premier clic qui a généré le lead.

Connecter les CRM les plus courants

HubSpot

HubSpot dispose d’un champ natif pour stocker le GCLID via ses formulaires et son tracking. Le plus simple reste un workflow qui déclenche l’export vers Google Ads dès qu’une propriété de deal change de statut, avec la valeur du deal comme valeur de conversion.

Salesforce

Salesforce demande un champ personnalisé sur le lead ou l’opportunité pour stocker le GCLID, rempli à la création via le formulaire d’origine. L’export se fait ensuite par un flux (Flow Builder) ou par une intégration tierce vers l’API Google Ads.

Pipedrive

Pipedrive fonctionne bien avec un champ personnalisé similaire, couplé à une automatisation qui pousse la donnée vers Google Ads quand une affaire passe au statut gagné.

Dans les trois cas, la logique est identique : un champ GCLID qui ne bouge pas, une valeur de conversion qui reflète le montant réel de l’affaire, et un déclencheur automatique plutôt qu’un export manuel.

Récupérer le GCLID depuis un formulaire WordPress

Sur WordPress, la difficulté est la même quel que soit le constructeur de formulaire (Gravity Forms, Contact Form 7, Fluent Forms) : il faut un script qui lit le paramètre gclid dans l’URL de la page, le stocke, puis le pousse dans un champ caché du formulaire au moment de la soumission.

Concrètement : le script s’exécute au chargement de la page, cherche gclid dans les paramètres d’URL, l’enregistre dans un cookie de première partie avec une durée de vie raisonnable, puis le formulaire lit ce cookie pour remplir un champ caché nommé, par exemple, gclid_capture. Ce champ est ensuite transmis au CRM avec le reste des données du lead. Aucun plugin ne fait cela correctement par défaut, il faut ajouter ce script vous-même ou passer par un développeur.

Ce que j’ai vu chez un client : l’import qui casse le lien avec les conversions améliorées

Chez un client qui avait déjà activé les conversions améliorées en temps réel sur son formulaire de contact (matching par email et téléphone hashés), l’équipe a ajouté l’import hors ligne pour remonter la valeur des devis signés. Les deux systèmes envoyaient des informations sur le même lead à des moments différents, sous deux actions de conversion distinctes, sans que personne n’ait vérifié la cohérence entre elles.

Résultat : le même lead était compté deux fois, une fois via les conversions améliorées au moment du formulaire, une fois via l’import hors ligne au moment du devis signé, avec des valeurs différentes. Google Ads recevait un signal contradictoire, et l’algorithme d’enchères automatique optimisait sur des données faussées. Personne ne s’en est rendu compte pendant plusieurs semaines, le temps que les volumes de conversions paraissent anormalement élevés par rapport au CRM.

La correction est simple une fois identifiée : une seule action de conversion par étape du tunnel, un GCLID comme clé unique, et une vérification systématique que l’import hors ligne ne duplique pas un événement déjà remonté par les conversions améliorées.

Automatiser l’import plutôt que remplir un CSV à la main

Je le dis sans détour : l’import manuel en CSV est une mauvaise pratique dès que le volume de leads dépasse quelques dizaines par mois. Un fichier oublié, une colonne mal formatée, une valeur dans la mauvaise devise, et l’import échoue silencieusement. Personne ne s’en aperçoit avant le rapport mensuel.

Je recommande systématiquement d’automatiser avec Google Ads Scripts ou via l’API Google Ads directement connectée au CRM. Un script qui tourne chaque nuit, qui vérifie les nouveaux leads qualifiés dans le CRM, qui pousse les conversions dans le bon format et qui journalise les erreurs, coûte moins cher en temps qu’un import CSV mensuel refait à la main, et il ne dépend pas de la mémoire de quelqu’un dans l’équipe.

Cookies, consentement et RGPD si vous publicitez en UE

L’import hors ligne suppose de capturer et de stocker un identifiant (le GCLID) qui permet de relier un individu à ses actions publicitaires. Si vous ciblez des utilisateurs dans l’UE, ce stockage tombe sous les règles de consentement aux cookies, et Consent Mode V2 doit être configuré correctement en amont, faute de quoi le GCLID ne sera tout simplement pas disponible pour les utilisateurs qui refusent le consentement.

Avant même de connecter un CRM, assurez-vous que l’implémentation GTM et GA4 respecte le consentement recueilli, avec les bons signaux envoyés à Google. Sur les questions de conformité RGPD ou LPD suisse au sens strict, je recommande de faire valider votre configuration par un juriste spécialisé, ce n’est pas mon rôle de trancher ce point.

CSV ou API : ce que je recommande

Critère Import CSV manuel Script ou API automatisé
Fréquence Dépend de la disponibilité de quelqu’un Quotidienne ou en continu
Risque d’erreur Élevé (format, colonnes, oublis) Faible une fois le script testé
Traçabilité des échecs Aucune Logs et alertes possibles
Effort de mise en place Faible au départ Plus élevé au départ

Le CSV manuel se justifie uniquement pour tester la configuration une première fois, avec un petit volume de leads, avant de l’automatiser. Passé ce test, je ne le recommande plus.

L’auteur

Pierre Bordier

Freelance Google Ads et LinkedIn Ads à Genève. Je gère des comptes B2B de bout en bout : structure, tracking, tests, lecture des résultats. Pas d’intermédiaire, pas de junior.

Demander mon audit gratuitCas clients →