Conversions offline avec la Google Ads API : guide complet
Les conversions offline Google Ads permettent de remonter dans Google Ads des événements qui se produisent hors ligne : appels téléphoniques convertis, signatures de contrats, ventes en boutique, rendez-vous qualifiés. Via la Google Ads API, vous pouvez importer ces conversions de manière automatisée et précise, grâce au GCLID (Google Click ID) ou aux données enrichies (enhanced conversions). Cette remontée est essentielle pour que les algorithmes d’enchères Smart Bidding disposent d’un signal de conversion complet et fiable.
Pourquoi importer des conversions offline dans Google Ads ?
Sans import de conversions offline, Google Ads optimise ses enchères uniquement sur les conversions en ligne (clics, formulaires web, achats e-commerce). Pour les secteurs B2B, immobilier, services financiers, ou tout business avec un cycle de vente long, cette vision est incomplète :
- Un lead web peut se transformer en contrat signé 3 semaines plus tard
- Un appel téléphonique peut convertir en rendez-vous commercial
- Une visite en magasin peut résulter d’un clic sur une annonce Google
En remontant ces données via l’API, vous alimentez le Smart Bidding avec des signaux de valeur réelle, ce qui améliore le ROAS et réduit le coût par acquisition réel. Pour utiliser cette fonctionnalité, vous devez d’abord obtenir votre accès à la Google Ads API (developer token + OAuth2).
Les deux méthodes d’import via l’API
Méthode 1 — Import via GCLID (Google Click ID)
Le GCLID est un paramètre automatiquement ajouté par Google aux URLs de destination lorsqu’un utilisateur clique sur une annonce. Votre site doit capturer et stocker ce paramètre à chaque clic.
Flux technique :
- L’utilisateur clique sur votre annonce → URL reçue :
https://votre-site.be/contact?gclid=ABC123 - Votre formulaire capture et stocke le GCLID avec les données du lead dans votre CRM
- Quand le lead convertit (ex: signature de contrat), vous envoyez le GCLID + date + valeur via l’API
- Google associe cette conversion au clic original et ajuste les enchères en conséquence
Méthode 2 — Enhanced Conversions (données enrichies)
Les enhanced conversions permettent d’importer des conversions en utilisant des données first-party hachées (email, numéro de téléphone, adresse) quand le GCLID n’est pas disponible. Google rapproche ces données avec les comptes Google des utilisateurs.
Depuis la Google Ads API v24, les types de conversion Lead Gen sont disponibles nativement : GOOGLE_ANALYTICS_4_GENERATE_LEAD, GOOGLE_ANALYTICS_4_QUALIFY_LEAD, GOOGLE_ANALYTICS_4_CLOSE_CONVERT_LEAD.
Étape 1 — Créer une action de conversion offline
Avant d’importer des conversions, vous devez créer une ConversionAction de type UPLOAD_CLICKS dans Google Ads via l’API :
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("google-ads.yaml")
conversion_action_service = client.get_service("ConversionActionService")
conversion_action_operation = client.get_type("ConversionActionOperation")
conversion_action = conversion_action_operation.create
conversion_action.name = "Import CRM - Contrats signés"
conversion_action.type_ = client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS
conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED
conversion_action.value_settings.default_value = 500.0
conversion_action.value_settings.always_use_default_value = False
response = conversion_action_service.mutate_conversion_actions(
customer_id="VOTRE_CLIENT_ID",
operations=[conversion_action_operation]
)
print(f"Action créée : {response.results[0].resource_name}")
Étape 2 — Capturer le GCLID sur votre site
Pour capturer le GCLID à chaque clic, ajoutez ce code JavaScript à votre site :
// Capture GCLID depuis l'URL et stockage cookie
function getGCLID() {
const urlParams = new URLSearchParams(window.location.search);
const gclid = urlParams.get('gclid');
if (gclid) {
document.cookie = `gclid=${gclid};max-age=7776000;path=/`;
return gclid;
}
return getCookieValue('gclid');
}
document.querySelectorAll('form').forEach(form => {
form.addEventListener('submit', () => {
const gclidInput = document.createElement('input');
gclidInput.type = 'hidden';
gclidInput.name = 'gclid';
gclidInput.value = getGCLID() || '';
form.appendChild(gclidInput);
});
});
⚠️ Activez l’auto-tagging dans les paramètres de votre compte Google Ads (Paramètres → Préférences du compte) pour que le GCLID soit automatiquement ajouté aux URLs.
Étape 3 — Importer les conversions via l’API
Une fois vos leads convertis dans votre CRM, importez-les via le service ConversionUploadService :
from google.ads.googleads.client import GoogleAdsClient
from datetime import datetime, timezone
client = GoogleAdsClient.load_from_storage("google-ads.yaml")
conversion_upload_service = client.get_service("ConversionUploadService")
click_conversion = client.get_type("ClickConversion")
click_conversion.gclid = "GCLID_DU_LEAD"
click_conversion.conversion_action = client.get_service(
"ConversionActionService"
).conversion_action_path(
customer_id="VOTRE_CLIENT_ID",
conversion_action_id="ID_ACTION_CONVERSION"
)
conversion_datetime = datetime(2026, 5, 1, 14, 30, 0, tzinfo=timezone.utc)
click_conversion.conversion_date_time = conversion_datetime.strftime(
"%Y-%m-%d %H:%M:%S+00:00"
)
click_conversion.conversion_value = 1500.0
click_conversion.currency_code = "EUR"
response = conversion_upload_service.upload_click_conversions(
customer_id="VOTRE_CLIENT_ID",
conversions=[click_conversion],
partial_failure=True
)
if response.partial_failure_error:
print(f"Erreurs partielles : {response.partial_failure_error}")
Délais et fenêtres de conversion
| Paramètre | Valeur recommandée | Description |
|---|---|---|
| Fenêtre de clic | 30-90 jours | Délai max entre le clic et la conversion |
| Délai d’import | Max 90 jours après le clic | Au-delà, la conversion ne peut plus être importée |
| Délai de traitement Google | 24-48h | Temps avant que la conversion apparaisse dans les rapports |
| Impact Smart Bidding | Immédiat | Les enchères sont ajustées dès que Google traite l’import |
⚠️ Importez les conversions au plus tard dans les 90 jours suivant le clic. Au-delà, Google accepte techniquement l’import mais ne l’attribue plus à la campagne.
Bonnes pratiques pour un import fiable
- Dédupliquer les conversions : utilisez un identifiant unique (ID CRM) pour éviter les doublons lors des re-imports
- Importer régulièrement : planifiez des imports quotidiens plutôt qu’un import massif mensuel
- Inclure la valeur de conversion : alimentez Smart Bidding avec la valeur réelle de chaque conversion (CA du contrat signé)
- Activer le partial_failure : évitez qu’une seule erreur bloque tout le batch d’imports
- Logger toutes les réponses API : conservez les traces d’import pour faciliter le débogage
Note : si vous migrez vers la Google Ads API v24 depuis une version antérieure, vérifiez les nouveaux ConversionActionType Lead Gen disponibles qui peuvent remplacer vos actions existantes.
FAQ — Conversions offline Google Ads API
Quelle différence entre conversions offline et enhanced conversions ?
Les conversions offline via GCLID nécessitent de capturer l’identifiant de clic Google sur votre site. Les enhanced conversions utilisent des données first-party hachées (email, téléphone) pour rapprocher les conversions aux utilisateurs Google, même sans GCLID. Les deux méthodes sont complémentaires et peuvent être utilisées simultanément.
Combien de temps faut-il pour voir l’impact sur les enchères ?
Les conversions importées impactent le Smart Bidding quasi-immédiatement après traitement par Google (24-48h). L’effet visible sur les performances des campagnes se mesure généralement après 2-4 semaines d’accumulation de données suffisantes.
Peut-on importer des conversions pour des campagnes Performance Max ?
Oui. Les conversions offline s’appliquent à tous les types de campagnes Google Ads, y compris Performance Max. Elles sont particulièrement précieuses pour PMax car ce type de campagne repose entièrement sur les signaux de conversion pour optimiser la diffusion.
Les conversions offline affectent-elles le Quality Score ?
Non. Le Quality Score est calculé uniquement à partir de données de clic et de pertinence. Les conversions offline n’ont pas d’impact direct sur le Quality Score, mais influencent les stratégies d’enchères automatiques (Target CPA, Target ROAS) qui elles-mêmes impactent les performances globales.
Article rédigé par l’équipe AdSim, agence de marketing digital à Liège. Mise à jour : mai 2026.
