Attribution : pourquoi Meta, Google Ads et GA4 ne donnent jamais le même chiffre
Meta Ads, Google Ads et Google Analytics 4 ne donnent jamais le même nombre de conversions, parce que les trois plateformes n'appliquent ni la même fenêtre d'attribution, ni la même date d'enregistrement, ni le même périmètre de crédit. Google Ads inscrit la conversion à la date du clic, GA4 à la date de l'événement. Aucune des trois n'a tort : elles répondent à trois questions différentes.
Pourquoi trois plateformes qui mesurent la même boutique affichent trois chiffres.
Parce qu'aucune des trois ne répond à la même question. Meta Ads Manager répond à « combien d'achats ont eu lieu après une interaction avec mes publicités Meta ». Google Ads répond à « combien de conversions mes clics ont fini par produire ». Google Analytics 4 répond à « combien d'événements clés ont été enregistrés sur mon site, et à quelle source de session les rattacher ». Trois questions, trois réponses, trois nombres. L'erreur n'est pas dans les outils : elle est dans l'habitude de poser les trois chiffres côte à côte dans le même tableau et d'appeler ça un reporting.
Le symptôme est toujours le même. Vous ouvrez le back-office, vous lisez 1 000 commandes sur le mois. Vous ouvrez Meta, vous lisez 620 achats. Vous ouvrez Google Ads, vous lisez 540 conversions. Vous ouvrez GA4, vous lisez 710 achats attribués à des canaux payants. La somme des deux régies dépasse le nombre de commandes réelles de 16 %, et GA4, qui devrait être l'arbitre, en montre 29 % de moins. À ce stade, la conversation dérive vers « le tracking est cassé ». Neuf fois sur dix, il ne l'est pas.
Définition
Fenêtre d'attribution : Durée pendant laquelle une conversion peut encore être créditée à une interaction publicitaire antérieure. Une fenêtre de 7 jours après clic signifie qu'un achat survenu le 8e jour ne sera plus attribué au clic. La fenêtre n'est pas une vérité sur le comportement du client : c'est un réglage de comptage, propre à chaque plateforme, et modifiable.
Les quatre mécaniques qui créent l'écart.
Quatre différences de règles suffisent à expliquer l'essentiel des écarts observés. Elles sont documentées publiquement par les éditeurs eux-mêmes, et elles se vérifient en quelques minutes dans les réglages de chaque compte.
1. La fenêtre n'a pas la même longueur
Google Ads utilise par défaut une fenêtre de conversion de 30 jours après le clic, réglable de 1 à 30, 60 ou 90 jours pour les campagnes Search et Display, avec 1 jour pour la conversion après affichage et 3 jours pour la vue engagée. GA4 applique 90 jours par défaut aux événements clés, avec 30 ou 60 jours en option, et 30 jours aux événements d'acquisition first_visit et first_open. Meta expose des fenêtres de 1, 7 ou 28 jours après clic et de 1, 7 ou 28 jours après vue. Trois échelles de temps différentes sur le même mois de données produisent mécaniquement trois volumes différents, sans qu'aucune balise ne soit défaillante.
2. La conversion n'est pas inscrite le même jour
C'est la mécanique la plus contre-intuitive, et celle qui fausse le plus les comparaisons hebdomadaires. Google Ads est explicite : les colonnes de conversion principales « sont calculées sur la base du moment du clic, et non du moment de la conversion ». Un achat du 30 septembre issu d'un clic du 12 septembre s'inscrit donc dans la ligne du 12 septembre. Côté Meta, l'API Marketing documente un paramètre action_report_time et son effet, avec un exemple : si une personne a vu la publicité le 1er janvier et a converti le 2 janvier, une requête en action_report_time=impression affiche la conversion au 1er janvier, et une requête en action_report_time=conversion l'affiche au 2 janvier. GA4, lui, enregistre l'événement au moment où il se produit.
Conséquence pratique : les chiffres des derniers jours d'une régie remontent encore après coup. Google indique un délai de traitement pouvant aller jusqu'à 24 à 48 heures, et des conversions rapportées jusqu'à 90 jours après le clic. Comparer un lundi les résultats de la semaine écoulée revient donc à comparer un chiffre définitif du back-office à un chiffre encore incomplet des régies. L'écart que vous mesurez ce jour-là n'existera plus dans deux semaines.
3. Le périmètre du crédit n'est pas le même
Meta et Google Ads créditent des conversions après simple affichage, sans clic. GA4 ne peut pas les voir : sans clic, il n'y a pas de session, donc pas de source. À l'inverse, GA4 applique une règle que les régies n'ont pas : « tous les modèles d'attribution excluent les visites directes du crédit d'attribution, sauf si le parcours vers l'événement clé est entièrement composé de visites directes ». Un client qui clique sur une publicité Meta puis revient trois jours plus tard en tapant l'URL sera crédité à Meta par Meta, et à Meta par GA4 si l'événement reste dans la fenêtre, mais pas au canal direct. Changez un seul de ces réglages et la répartition bouge sans qu'un seul euro n'ait été déplacé.
4. Une partie des conversions est modélisée, pas observée
Google documente l'usage de la modélisation pour les parcours multi-appareils, pour les navigateurs qui limitent les cookies, et pour le trafic applicatif affecté par l'App Tracking Transparency d'Apple. Pour la modélisation liée au consent mode, Google publie un seuil d'éligibilité précis : 700 clics publicitaires sur une période de 7 jours, par pays et par groupement de domaines. En dessous, la modélisation ne se déclenche pas. Un compte de petite taille et un compte de grande taille ne sont donc pas mesurés de la même manière, ce qui rend toute comparaison de taux entre eux hasardeuse. Nous avons détaillé cette mécanique dans notre article sur le Consent Mode v2 et ce que deviennent vos chiffres.
Le piège de la valeur par défaut
Sur l'API Marketing de Meta, la page Insights indique que si vous ne fournissez pas action_attribution_windows, la fenêtre 7d_click est utilisée. La page Parameters de la même documentation annonce une valeur par défaut 1d_view et 28d_click. Deux pages officielles, deux réponses. C'est la raison pour laquelle un tableau de bord d'agence branché sur l'API peut afficher des chiffres différents de l'interface, sur le même compte, le même jour. Fixez toujours la fenêtre explicitement dans vos requêtes, et écrivez-la dans le titre de la colonne.
Ce que chaque plateforme compte exactement.
Le tableau ci-dessous met côte à côte les règles documentées par chaque éditeur. Il sert à répondre à une seule question avant toute réunion de reporting : est-ce que ces deux colonnes sont comparables, oui ou non.
| Règle | Meta Ads | Google Ads | GA4 |
|---|---|---|---|
| Fenêtres exposées | 1, 7 ou 28 jours après clic, 1, 7 ou 28 jours après vue | clic 30 jours par défaut, de 1 à 90 jours en Search et Display, vue 1 jour, vue engagée 3 jours | 90 jours par défaut pour les événements clés, 30 ou 60 en option, 30 jours pour first_visit et first_open |
| Jour où la conversion est inscrite | jour de l'impression ou jour de la conversion, selon action_report_time | jour du clic, jamais le jour de la conversion | jour de l'événement |
| Crédit après simple affichage | oui, la vue est une fenêtre à part entière | oui, conversions après affichage comptées séparément | non, sans session il n'y a pas de source |
| Traitement du trafic direct | hors périmètre | hors périmètre | exclu du crédit, sauf si tout le parcours est direct |
| Modèles proposés | fenêtres, modèle data-driven et attribution incrémentale selon les champs de l'API | attribution data-driven | data-driven, dernier clic payant et organique, dernier clic des canaux payants Google |
| Stabilité du chiffre du jour J | évolue tant que la fenêtre est ouverte | évolue, délai de traitement de 24 à 48 heures | se stabilise plus vite, le comptage suit l'événement |
La méthode de réconciliation en cinq étapes.
Réconcilier ne veut pas dire faire converger les chiffres. Cela ne se produira jamais, et le viser fait perdre des semaines. Réconcilier veut dire savoir quel chiffre sert à quelle décision, et disposer d'un dénominateur unique. Voici l'ordre dans lequel nous procédons.
- 1Poser le back-office comme unique source de véritéLe nombre de commandes et le chiffre d'affaires viennent de Shopify, du CRM ou de l'ERP, jamais d'une régie. C'est la seule donnée que personne n'a intérêt à surestimer, et la seule qui corresponde à de l'argent encaissé. Toutes les autres colonnes deviennent des indications de contribution, pas des totaux.
- 2Écrire noir sur blanc les réglages de chaque plateformeFenêtre après clic, fenêtre après vue, modèle d'attribution, fuseau horaire du compte, mode de comptage des conversions. Cinq lignes par plateforme, dans un document partagé. Tant que ce document n'existe pas, aucune discussion sur les écarts n'est possible, parce que personne ne compare la même chose.
- 3Aligner ce qui peut l'être, et seulement celaLe fuseau horaire s'aligne. La fenêtre après clic s'aligne partiellement, par exemple à 30 jours partout. La date d'inscription de la conversion ne s'aligne pas : Google Ads reste sur la date du clic. Le crédit après affichage ne s'aligne pas non plus. Acceptez ce résidu au lieu de le poursuivre.
- 4Piloter la dépense globale sur un ratio insensible à l'attributionLe MER, c'est-à-dire le chiffre d'affaires total du back-office divisé par la dépense média totale, ne dépend d'aucune fenêtre ni d'aucun modèle. C'est l'indicateur de niveau compte. Notre article ROAS ou MER : lequel piloter quand vous accélérez déroule l'arbitrage entre les deux.
- 5Réserver les chiffres des régies aux arbitrages internes à la régieLe ROAS Meta sert à comparer deux créations Meta entre elles, jamais à comparer Meta et Google. À l'intérieur d'une même plateforme, les règles de comptage sont constantes, donc les comparaisons sont valides. Dès qu'on franchit la frontière d'une plateforme, elles ne le sont plus.
Exemple chiffré : quand la somme des plateformes dépasse le nombre de commandes.
Voici un cas construit, avec des hypothèses volontairement lisibles. Ce ne sont les chiffres d'aucun client : ce sont des ordres de grandeur destinés à faire apparaître la mécanique. Remplacez-les par les vôtres.
- Back-office sur le mois : 1 000 commandes, 180 000 € de chiffre d'affaires
- Dépense média totale : 36 000 €, dont 20 000 € sur Meta et 16 000 € sur Google Ads
- Meta Ads Manager, réglage 7 jours après clic et 1 jour après vue : 620 achats
- Google Ads, fenêtre de 30 jours après clic, attribution data-driven : 540 conversions
- GA4, dernier clic payant et organique : 310 achats en Paid Social et 400 en Paid Search, soit 710 au total pour le payant
- 1.Somme des deux régies : 620 + 540 = 1 160 conversions, pour 1 000 commandes réellement encaissées. Les régies revendiquent 116 % du réel.
- 2.Le surplus de 160 correspond pour l'essentiel aux achats qu'un même client déclenche après avoir été touché par les deux canaux : chaque régie se l'attribue entièrement, chacune dans sa fenêtre.
- 3.GA4, lui, n'attribue que 710 achats au payant, soit 71 % du réel. Le reste part en direct, en organique, en email et en accès non attribué.
- 4.L'écart entre 1 160 et 710 n'est pas une erreur de mesure : c'est la distance entre un comptage qui autorise le double crédit et un comptage à dernier clic qui n'attribue qu'une fois.
- 5.MER du mois : 180 000 € divisés par 36 000 € = 5,0. Ce chiffre ne bouge pas, quelle que soit la fenêtre choisie sur l'une ou l'autre régie. C'est le seul des cinq nombres de cette liste sur lequel une décision de budget peut reposer sans discussion.
Une précision qui évite un contresens fréquent : le fait que les régies revendiquent 116 % du réel ne prouve pas qu'elles trichent, et ne prouve pas non plus qu'elles sont inutiles. Cela prouve seulement que les colonnes ne sont pas additionnables. Pour savoir ce que la publicité apporte réellement en plus, il faut un dispositif de mesure incrémentale, c'est-à-dire une comparaison avec une situation sans publicité. C'est un autre sujet, et un autre budget. Si vous voulez tester rapidement l'effet d'une hypothèse de rentabilité sur vos propres chiffres, notre calculateur de ROAS fait le calcul de base.
Limites, erreurs fréquentes et cas où ce raisonnement ne s'applique pas.
- Le MER ne remplace pas tout. Il est insensible à l'attribution, ce qui est sa qualité, mais il est aussi insensible au mix : une bascule de budget d'un canal vers un autre à MER constant peut détruire la marge. Il se lit avec le taux de marge et le coût d'acquisition, pas seul.
- Un cycle de vente long casse la comparaison mensuelle. En B2B ou en SaaS, une fenêtre de 30 ou 90 jours ne couvre pas un cycle de 6 mois. Le raisonnement de cet article vaut d'abord pour l'e-commerce et les achats à décision courte. Pour les cycles longs, l'article attribution marketing pour SaaS traite le sujet sous l'angle du parcours.
- Aligner les fenêtres à 30 jours partout n'est pas neutre. Cela allonge la fenêtre Meta et gonfle ses conversions rapportées. C'est acceptable si l'objectif est de comparer les plateformes entre elles, et déconseillé si les enchères de vos campagnes sont optimisées sur la fenêtre courte. Décidez de l'usage avant de toucher au réglage.
- Un écart soudain n'est pas un écart structurel. Une chute brutale sur une seule plateforme, du jour au lendemain, signale une balise, un consentement ou un domaine cassé, pas une différence de modèle. Les écarts décrits ici sont stables dans le temps. Un écart nouveau se diagnostique, il ne s'explique pas par l'attribution.
- Les taux ne se comparent pas d'un compte à l'autre. Deux comptes qui n'ont ni le même volume, ni le même seuil de modélisation, ni les mêmes fenêtres produisent des taux non comparables. C'est le sujet de notre article sur le taux de conversion et les benchmarks.
Ce qu'on recommande.
- 1.Arrêter de mettre les conversions Meta, Google Ads et GA4 dans la même colonne d'un même tableau. Trois colonnes, trois en-têtes portant la fenêtre et le modèle utilisés.
- 2.Faire du back-office l'unique dénominateur du reporting de direction, et n'y faire figurer les chiffres des régies que comme indications de contribution.
- 3.Documenter les cinq réglages de chaque plateforme dans une page partagée, et la relire à chaque changement de compte, d'agence ou de balise.
- 4.Piloter le budget global au MER, et les arbitrages internes à une plateforme au ROAS de cette plateforme. Jamais l'inverse.
- 5.Fixer explicitement la fenêtre d'attribution dans toute requête d'API, sans jamais s'en remettre à la valeur par défaut, et l'écrire dans le nom de la colonne.
- 6.Attendre au moins 7 jours avant de juger une semaine, et 30 jours avant de juger un mois, parce que les régies continuent de créditer après coup.
Ce chantier est moins un sujet d'outil qu'un sujet de convention. Une fois que tout le monde sait quel chiffre répond à quelle question, les réunions de reporting durent deux fois moins longtemps et les décisions de budget cessent de dépendre de l'onglet qu'on a ouvert en premier. C'est le travail que nous menons en tracking et data, en amont des arbitrages sur les régies. Notre page reporting montre à quoi ressemble le tableau de bord qui en sort. Chez Connexion., la règle est simple : un chiffre qui n'a pas de définition écrite ne rentre pas dans un rapport.
Questions fréquentes.
Sources.
- About conversion windows, Google Ads Help (2026)
- Understand your conversion tracking data, Google Ads Help (2026)
- Data discrepancies: Factors and troubleshooting, Google Ads Help (2026)
- About consent mode modeling, Google Ads Help (2026)
- Where Google uses conversion modeling, Google Ads Help (2026)
- Select attribution settings, Google Analytics Help (2026)
- Get started with attribution, Google Analytics Help (2026)
- Insights API, Marketing API, Meta for Developers (2026)
- Insights API Parameters, action_attribution_windows et action_report_time, Meta for Developers (2026)
- Graph API Reference, Ads Action Stats, Meta for Developers (2026)
Envie d'aller plus loin. ?
Nous analysons votre acquisition et repartons avec des priorités concrètes.
Parler à un expert