Google Ads server-side: Suivi des conversions et Enhanced Conversions via sGTM

Les chiffres d'amélioration des conversions (+5% Search, +17% YouTube) sont issus des données publiées par Google et varient selon le secteur, l'audience et la qualité de l'implémentation. Mesurez toujours votre situation réelle via les Diagnostics de votre compte Google Ads.

Tracking Server-Side — Google Ads 2026
📌 Google Ads server-side — la réponse directe

Le tracking Google Ads server-side consiste à router vos événements de conversion via votre conteneur sGTM avant de les envoyer à Google Ads — plutôt que depuis le navigateur. Avantages : résistance aux adblockers, cookie FPGCLAW en first-party avec 90 jours de durée (vs 7 jours en JavaScript sur Safari), et activation des Enhanced Conversions avec enrichissement first-party.

Selon les données Google : +5% de conversions remontées sur Search et +17% sur YouTube avec les Enhanced Conversions. Sur les audiences à fort taux d'adblocking (tech, finance, B2B), le gain réel peut dépasser ces estimations.

En bref : le suivi des conversions Google Ads en server-side améliore la précision en contournant les adblockers et Safari ITP. Il s'implémente via sGTM avec 3 éléments : le Conversion Linker server-side (cookie FPGCLAW), la balise Google Ads Conversion Tracking, et les Enhanced Conversions avec données first-party transmises via le paramètre user_data. Depuis juin 2024, la case "Include user-provided data" n'existe plus dans le sGTM — la configuration a changé.

Pourquoi le tracking Google Ads client-side perd des conversions

CauseImpact sur Google AdsEstimation FR
Adblockers (uBlock, Brave, AdBlock) Le script Google Ads (gtag.js) est bloqué avant chargement. La conversion n'est jamais envoyée. Le gclid n'est pas stocké. 29–35% du trafic internet FR, jusqu'à 40–50% sur les audiences tech et B2B
Safari ITP Les cookies JavaScript sont limités à 7 jours. Un utilisateur qui convertit après 8 jours n'est pas attribué. iOS représente ~40–50% du trafic mobile e-commerce en France
Fermeture de page avant chargement du pixel Sur les pages de confirmation lentes, le pixel peut ne pas se déclencher si l'utilisateur ferme l'onglet immédiatement. Variable selon la vitesse de chargement — typiquement 2–8% des conversions

L'effet sur le Smart Bidding est direct. Si 20–30% de vos conversions réelles sont invisibles, votre CPA apparent est surestimé et votre ROAS sous-estimé. Les algorithmes (Maximize Conversions, Target ROAS) manquent de signal et deviennent moins efficaces — vous payez plus pour des résultats identiques ou dégradés.

💡
Comment mesurer votre perte actuelle. Comparez vos conversions GA4 avec vos commandes réelles (CRM, back-office) sur la même période. Un écart >15% entre les deux sources indique une perte significative que le server-side peut récupérer.

Browser-side vs server-side — les vraies différences pour Google Ads

AspectClient-side (navigateur)Server-side (sGTM)
Résistance aux adblockers ❌ Bloqué par uBlock Origin, Brave Shields — listes filtrent gtag.js et googletagmanager.com ✅ Requêtes partent de votre sous-domaine — non reconnu par les listes de blocage
Cookie FPGCLAW (attribution gclid) JavaScript — limité à 7 jours sur Safari ITP. Expiré = pas d'attribution sur les cycles longs HTTP Set-Cookie — 90 jours de durée, non soumis à ITP. Attribution correcte sur les cycles long
Enhanced Conversions Données collectées dans le navigateur via variables GTM Données transmises via user_data, parsées et hashées automatiquement par le sGTM
Fiabilité sur page lente ❌ Si l'utilisateur ferme l'onglet avant le chargement, la conversion est perdue ✅ La conversion part depuis votre serveur — indépendamment du navigateur
Consent Mode et ad_user_data Requiert le signal ad_user_data granted pour les Enhanced Conversions en EEE Même prérequis — le sGTM vérifie le signal ad_user_data avant d'envoyer les données hashées
Complexité ✅ Balise GTM + Conversion Linker — 30 minutes pour un setup de base ⚠️ Infrastructure sGTM requise (Stape, GCP) + config — 2 à 4 heures minimum

L'architecture hybride recommandée

La configuration optimale pour Google Ads n'est pas "l'un ou l'autre" — c'est les deux en parallèle :

  • Client-side : lecture du gclid dans l'URL, stockage immédiat du cookie de clic, déclenchement rapide du Conversion Linker
  • Server-side : balise Google Ads Conversion Tracking sur l'événement purchase, cookie FPGCLAW en first-party, Enhanced Conversions enrichies via user_data

La déduplication se fait via le transaction_id — Google Ads ignore les doublons qui partagent le même identifiant de transaction.

Vous n'avez pas encore de conteneur sGTM ? Notre guide détaille les options d'hébergement.

Stape.io — héberger votre sGTM →

Enhanced Conversions — ce que c'est et ce que ça change vraiment

Les Enhanced Conversions envoient à Google des données first-party hashées — email, téléphone, prénom/nom — au moment d'une conversion. Google hache ces données en SHA-256 avant de les utiliser.

Quand cet utilisateur est connu de Google (compte Gmail, Google Search, YouTube), Google peut relier la conversion à une session publicitaire — même si le cookie de clic (gclid) a expiré ou n'existe pas (adblocker, appareil différent).

Chiffres réels publiés par Google

CanalGain médian de conversions remontéesSource
Google Search+5% de conversions remontéesGoogle (données terrain, 2024-2025)
YouTube+17% de conversions remontéesGoogle (données terrain, 2024-2025)
Performance MaxVariable selon la part YouTube/DisplayEstimations terrain, 2025

Enhanced Conversions et Consent Mode — le signal ad_user_data

Pour les utilisateurs dans l'EEE (dont la France), les Enhanced Conversions ne fonctionnent que si le signal ad_user_data du Consent Mode v2 est accordé. Sans ce signal, Google Ads ne peut pas recevoir les données hashées — même si vous les envoyez côté serveur.

⚠️
Vérifiez votre signal ad_user_data. Si votre CMP est bien configurée pour le Consent Mode v2 mais que les Enhanced Conversions n'apparaissent pas comme actives, vérifiez que le signal ad_user_data est bien transmis (distinct de ad_storage). Un Consent Mode v2 qui envoie seulement les 2 signaux v1 (ad_storage + analytics_storage) sans les 2 signaux v2 (ad_user_data + ad_personalization) ne suffit pas pour les Enhanced Conversions. Guide : Consent Mode v2 complet →

Changement juin 2024 — comment passer user_data au sGTM

Depuis juin 2024, la case "Include user-provided data" n'existe plus dans les paramètres de la balise Google Ads Conversion Tracking du conteneur serveur GTM. Ce changement de Google affecte toutes les implémentations existantes et toute la documentation antérieure à cette date.

Comment ça fonctionnait avant (obsolète)

Avant juin 2024 : vous activiez une case "Include user-provided data from your website" dans la balise Google Ads du sGTM, et le sGTM allait chercher les données côté web.

Comment ça fonctionne maintenant

Nouveau flux : vous passez les données utilisateur via le paramètre user_data dans votre DataLayer côté web. Le sGTM parse automatiquement ce paramètre, hache les données en SHA-256, et les transmet à Google Ads.

Ce qu'il faut faire dans le conteneur web GTM :

window.dataLayer.push({
  event: 'purchase',
  user_data: {
    email_address: 'client@example.com',  // hashé automatiquement par le sGTM
    phone_number: '+33612345678',
    address: {
      first_name: 'Marie',
      last_name: 'Dupont'
    }
  },
  ecommerce: {
    transaction_id: 'CMD-2026-001234',
    value: 129.99,
    currency: 'EUR'
  }
});

Une fois ces données dans le DataLayer, la balise GA4 web les transmet au sGTM via l'URL de transport. Le sGTM les parse automatiquement depuis les données de l'événement GA4 — sans configuration supplémentaire dans la balise Google Ads du sGTM.

Stape documente également une nouvelle balise distincte : Google Ads User-provided Data Event, ajoutée dans le sGTM pour faciliter l'envoi des données utilisateur séparément du tracking de conversion standard. Si vous avez une configuration existante antérieure à juin 2024 avec la case à cocher, vérifiez qu'elle fonctionne encore — il est probable qu'une mise à jour soit nécessaire.

✅ Enhanced Conversions pour les leads (lead gen B2B, formulaires)
  • L'email collecté lors de la soumission du formulaire est transmis via user_data dans le DataLayer
  • Google peut retrouver l'attribution même si l'utilisateur a changé d'appareil entre le clic et le formulaire
  • Configuration spécifique dans Google Ads : onglet Conversions améliorées pour les leads — distincte des Enhanced Conversions e-commerce
  • Signal requis : ad_user_data: 'granted' dans le Consent Mode v2
✅ Enhanced Conversions pour les transactions (e-commerce)
  • L'email de facturation (et optionnellement téléphone, nom) est transmis via user_data avec l'événement purchase
  • Améliore l'attribution sur les cycles d'achat longs — retour après 10 jours sur Safari = attribution correcte
  • Le transaction_id est indispensable pour la déduplication client-side + server-side

Configuration Google Ads server-side — les 5 étapes

Prérequis : un conteneur sGTM opérationnel avec sous-domaine first-party configuré, et un conteneur web GTM qui envoie les événements GA4 vers ce conteneur serveur. Si ce n'est pas encore en place : guide complet du tracking server-side →

  1. 1
    Configurer le Conversion Linker server-side

    Dans votre conteneur sGTM, créez une balise de type Conversion Linker. Activez l'option "Permettre la définition de nouveaux cookies first-party". Déclenchez-la sur toutes les requêtes (All Pages dans le conteneur serveur).

    Cette balise crée le cookie FPGCLAW côté serveur avec une durée de vie de 90 jours — contre 7 jours maximum pour le cookie JavaScript en client-side sur Safari. Conservez également le Conversion Linker client-side dans votre conteneur web GTM — les deux opèrent en parallèle.

  2. 2
    Créer la balise Google Ads Conversion Tracking dans le conteneur serveur

    Dans le sGTM : Balises → Nouvelle → Google Ads Conversion Tracking. Renseignez votre Conversion ID (ex: AW-XXXXXXXXX) et votre Conversion Label — disponibles dans Google Ads → Outils → Conversions → votre action → Instructions de balise.

    La balise lit automatiquement transaction_id, value et currency depuis les données de l'événement GA4. Déclencheur : événement GA4 purchase dans le conteneur serveur.

  3. 3
    Passer user_data depuis le DataLayer web

    Dans votre site (ou DataLayer), incluez le paramètre user_data dans votre push DataLayer avant ou avec l'événement de conversion. Le sGTM parse automatiquement ce paramètre depuis les données GA4 transmises via l'URL de transport.

    Champs reconnus : email_address, phone_number, address.first_name, address.last_name. Le hachage SHA-256 est effectué automatiquement côté sGTM — n'envoyez jamais de données déjà hashées manuellement, cela créerait un double hachage.

    Note : si vous utilisez une version antérieure à juin 2024 avec la case "Include user-provided data", vérifiez si cette case est toujours présente. Si elle a disparu de votre interface, migrez vers la méthode user_data décrite ici.

  4. 4
    Activer les Enhanced Conversions dans Google Ads et vérifier le Consent Mode

    Dans Google Ads : Outils → Conversions → Paramètres → Conversions améliorées. Activez et acceptez les conditions (engagement unique sur la gestion des données clients). Sélectionnez Google Tag Manager comme méthode.

    Pour les utilisateurs EEE : vérifiez que votre CMP transmet bien le signal ad_user_data: 'granted' via le Consent Mode v2. Sans ce signal, les Enhanced Conversions n'envoient aucune donnée hashée — même si le paramètre user_data est présent dans le DataLayer.

  5. 5
    Connecter Google Ads à GA4 pour l'import des Key Events (optionnel)

    Si vous utilisez les Key Events GA4 comme source de conversion Google Ads : Google Ads → Outils → Conversions → Importer → Google Analytics 4 → Web. Cette connexion doit être configurée explicitement après avoir lié les deux comptes dans GA4 Admin → Liens de produits → Google Ads.

Cette configuration vous semble complexe ou vous n'avez pas de conteneur sGTM ? Nos experts configurent le tracking Google Ads server-side de A à Z.

Parlez-nous de votre projet →

Cookie FPGCLAW — vérification et erreurs fréquentes

Le cookie FPGCLAW est le mécanisme d'attribution côté serveur pour Google Ads. Il stocke le Google Click ID (gclid) avec une durée de 90 jours, via un Set-Cookie HTTP — non soumis aux restrictions ITP de Safari. C'est l'équivalent server-side du cookie _gcl_aw créé par le Conversion Linker client-side.

Vérifier la présence du FPGCLAW

  1. 1
    Simuler un clic publicitaire

    Ajoutez ?gclid=test_12345 à une URL de votre site. Un vrai gclid ressemble à EAIaIQobChMI... mais une valeur de test suffit pour déclencher le Conversion Linker.

  2. 2
    Vérifier dans DevTools

    DevTools (F12) → onglet ApplicationCookies → votre domaine. Cherchez le cookie FPGCLAW — il doit apparaître avec une expiration de ~90 jours. Vérifiez aussi _gcl_aw (Conversion Linker client-side).

Erreurs fréquentes

SymptômeCause probableSolution
FPGCLAW absent après ajout du gclid Conversion Linker server-side non configuré, ou sous-domaine sGTM mal paramétré Vérifiez que le Conversion Linker est déclenché sur toutes les requêtes dans le sGTM. Vérifiez que votre sous-domaine sGTM est un sous-domaine first-party de votre domaine principal.
Balise Conversion Tracking ne se déclenche pas dans le Preview sGTM L'événement GA4 purchase n'arrive pas au conteneur serveur, ou le client GA4 n'est pas configuré Vérifiez dans le Preview sGTM que les événements GA4 arrivent. Vérifiez l'URL de transport dans la balise GA4 web.
Enhanced Conversions : statut "Inactif" dans Google Ads après 72h Le paramètre user_data est absent ou vide dans le DataLayer, ou le signal ad_user_data n'est pas granted Testez une conversion et vérifiez dans GTM Preview que user_data.email_address est bien présent. Vérifiez le signal ad_user_data dans Tag Assistant Companion.
Enhanced Conversions non visibles — interface sGTM ne montre plus la case Mise à jour Google de juin 2024 — la case "Include user-provided data" a été supprimée Migrez vers la méthode user_data dans le DataLayer web. La balise Google Ads du sGTM parse automatiquement ces données si elles transitent via le client GA4.
Conversions doublées dans Google Ads Balise Conversion Tracking active en client-side ET server-side sans transaction_id commun Assurez-vous que votre événement purchase inclut un transaction_id unique et identique dans les deux signaux.

Déduplication — éviter les conversions doubles

Si vous activez le server-side sans désactiver le client-side — ce qui est la configuration hybride recommandée — la déduplication est obligatoire pour éviter de comptabiliser deux fois la même conversion.

Google Ads déduplique automatiquement les conversions qui partagent le même transaction_id. Si les deux signaux (client-side et server-side) envoient le même identifiant dans la fenêtre de déduplication (~24h), Google Ads ne comptabilise qu'une conversion.

window.dataLayer.push({
  event: 'purchase',
  user_data: {
    email_address: 'client@example.com',
    phone_number: '+33612345678'
  },
  ecommerce: {
    transaction_id: 'CMD-2026-001234',  // ID unique — même valeur côté client et serveur
    value: 129.99,
    currency: 'EUR',
    items: [{ item_id: 'SKU-001', item_name: 'Produit', price: 129.99, quantity: 1 }]
  }
});
⚠️
Le transaction_id doit être identique et présent dans les deux signaux. Si votre DataLayer envoie l'ID de commande sous un nom différent côté client et côté serveur, ou si le champ est vide dans l'un des deux, Google Ads peut comptabiliser des doublons. Vérifiez dans les Diagnostics Google Ads si le volume de conversions semble anormalement élevé après activation du server-side.

Valider et diagnostiquer le setup

✅ Checklist de validation — Google Ads server-side
  • Cookie FPGCLAW présent dans DevTools → Application → Cookies après ajout de ?gclid=test — durée ~90 jours, domaine first-party
  • Conversion Linker server-side déclenché dans le Preview sGTM lors du chargement de page
  • Balise Google Ads Conversion Tracking déclenchée dans le Preview sGTM avec transaction_id, value et currency correctement renseignés
  • Paramètre user_data présent dans les données de l'événement GA4 reçu par le sGTM — vérifiez dans l'onglet Event Data du Preview sGTM
  • Signal ad_user_data : granted dans Tag Assistant Companion → onglet Consent pour les utilisateurs EEE
  • Statut Enhanced Conversions : Actif dans Google Ads → Conversions → Diagnostics — après 48-72h
  • Taux de conversions améliorées ≥50% — en dessous de 30%, la collecte de user_data est insuffisante sur certains parcours

Où trouver les diagnostics dans Google Ads

Google Ads → Objectifs → Conversions → Résumé → cliquez sur votre action de conversion → onglet Diagnostics. Cet onglet affiche le statut des Enhanced Conversions (Actif / Inactif / Limité), le pourcentage de conversions avec données améliorées, et les erreurs de configuration éventuelles.

Google recommande d'attendre 48 à 72 heures après l'activation avant de consulter les diagnostics — les premières données Enhanced Conversions mettent du temps à apparaître.

Décrivez-nous votre situation.

CMS utilisé, outils Google en place, symptômes observés — plus vous êtes précis, plus notre retour sera concret. Réponse sous 24h.

Parlez-nous de votre projet →

Réponse sous 24h · Sans engagement · Devis sur mesure

Questions fréquentes

Pourquoi configurer Google Ads en server-side plutôt qu'en client-side ?
Le tracking Google Ads server-side résout trois problèmes du client-side : les adblockers bloquent ~30% du trafic en France (les requêtes partent de votre domaine en server-side, non reconnu par les filtres), Safari ITP limite les cookies JavaScript à 7 jours (le cookie FPGCLAW créé côté serveur dure 90 jours), et les conversions perdues sur les pages lentes sont récupérées car la requête part depuis votre serveur indépendamment du navigateur. Résultat documenté par Google : +5% de conversions remontées sur Search, +17% sur YouTube.
C'est quoi les Enhanced Conversions Google Ads et comment les configurer via sGTM ?
Les Enhanced Conversions envoient des données first-party hashées — email, téléphone, prénom/nom — à Google pour améliorer l'attribution quand les cookies sont absents. Depuis juin 2024, la configuration a changé dans le sGTM : la case "Include user-provided data" n'existe plus. Les données doivent maintenant passer via le paramètre user_data dans votre DataLayer côté web — le sGTM les parse automatiquement et les hache en SHA-256 avant envoi. Pour les utilisateurs EEE, le signal ad_user_data: 'granted' du Consent Mode v2 est obligatoire.
Le Conversion Linker server-side remplace-t-il le Conversion Linker client-side ?
Non — ils sont complémentaires. Le Conversion Linker client-side lit le gclid dans l'URL immédiatement au clic et stocke le cookie _gcl_aw dans le navigateur. Le Conversion Linker server-side crée le cookie FPGCLAW avec 90 jours de durée, non soumis à ITP Safari. La configuration optimale inclut les deux en parallèle : le client-side pour la rapidité et la compatibilité maximale, le server-side pour la persistance sur les cycles d'achat longs.
Comment vérifier que le suivi Google Ads server-side fonctionne ?
Trois points essentiels : (1) ajoutez ?gclid=test à une URL de votre site et vérifiez dans DevTools → Application → Cookies que le cookie FPGCLAW apparaît avec ~90 jours d'expiration. (2) Dans le Preview sGTM, vérifiez que les balises Conversion Linker et Google Ads Conversion Tracking se déclenchent avec les bons paramètres. (3) Dans Google Ads → Conversions → votre action → onglet Diagnostics après 48-72h : "Enhanced Conversions : Actif" avec un taux ≥50% de conversions améliorées.
Faut-il désactiver le tracking Google Ads client-side après migration server-side ?
Non — c'est l'erreur la plus fréquente post-migration. La configuration hybride est recommandée : client-side reste actif pour la lecture rapide du gclid et la compatibilité maximale, server-side gère les conversions critiques pour les utilisateurs avec adblockers et Safari. La déduplication via transaction_id identique dans les deux signaux évite les doublons. Si vous observez des doublons, vérifiez que l'identifiant de transaction est bien présent et identique des deux côtés.
Peut-on configurer Google Ads server-side sans Stape ?
Oui. Les alternatives : Google Cloud Platform (Cloud Run ou App Engine — contrôle total, expertise GCP requise), AWS ou Azure (via images Docker), Cloudflare Workers (latence ultra-faible, configuration avancée). Stape.io reste la solution la plus accessible pour les équipes non-DevOps — infrastructure managée, sous-domaine first-party automatique, 0–50 €/mois selon le trafic. GCP direct est préférable si vous avez les ressources techniques et souhaitez maîtriser les coûts à grande échelle (>20M requêtes/mois).
Équipe TagQueries — Experts en tracking analytics et Google Ads server-side
Publié le 8 mai 2026 · Mis à jour : 18 mai 2026
Go up