Votre Ads Manager annonce 1 240 achats, votre rapport GA4 en compte 870, et c’est vous qui devez expliquer la différence au client (ou au CFO) avant de valider le budget du Q4. Bienvenue dans le grand malentendu Meta Ads vs GA4, celui où les deux plateformes mesurent le même tunnel et ne tombent jamais d’accord. Depuis le changement d’attribution de Meta en mars 2026, l’écart de conversions s’est réduit, mais il n’a pas disparu, et surtout il ne disparaîtra jamais complètement. La bonne nouvelle : cet écart s’explique presque toujours, ligne par ligne. Voici une méthode de réconciliation en 5 étapes, une grille de diagnostic cause par cause, et une requête BigQuery pour mesurer l’écart réel campagne par campagne.
Ce qui a changé en mars 2026 (et pourquoi l’écart a bougé)
Le 3 mars 2026, Meta a annoncé une refonte de son attribution, déployée campagne par campagne tout au long de la fin mars (il n’y a pas eu de bascule unique à une date précise). Deux choses ont changé.
D’abord, le click-through ne compte désormais que les vrais clics sur lien, ceux qui amènent l’internaute sur votre site ou votre landing page. Avant, un like, une sauvegarde ou une réaction suivie d’un achat pouvait remonter comme conversion « au clic ». Fini.
Ensuite, toutes ces interactions sans lien (likes, réactions, partages, sauvegardes, commentaires, dépliage d’une pub, visite de profil) ainsi que les vues vidéo basculent dans un nouveau bucket, l’engage-through. Sa fenêtre est fixe : 1 jour. Le seuil de vue vidéo est passé de 10 à 5 secondes (ou 97 % de la durée pour les vidéos de moins de 5 secondes). Le réglage par défaut est désormais 7 jours au clic, 1 jour en engage-through, 1 jour en view.
Point important pour vos arbitrages : il s’agit d’une reclassification de reporting, pas d’un changement de facturation. Vos coûts et votre diffusion ne bougent pas. Ce qui bouge, c’est la case dans laquelle Meta range chaque conversion. Résultat concret : vos chiffres click-through ont mécaniquement baissé fin mars, ce qui les rapproche de ce que voit GA4 (qui n’a jamais attribué sur un like). Mais « plus proche » ne veut pas dire « identique », et c’est là que commence le vrai travail.
Meta Ads vs GA4 : ce que chacun compte réellement
Avant de réconcilier quoi que ce soit, il faut accepter une évidence qu’on oublie sous la pression du reporting : ces deux outils ne mesurent pas la même chose, avec les mêmes règles, depuis le même point de vue. Meta mesure l’efficacité de ses pubs selon sa logique (attribution utilisateur, cross-device, incluant l’engagement). GA4 mesure la performance de votre site selon sa logique à lui (attribution basée sur les sessions et les clics, data-driven par défaut). Ils ne peuvent pas donner le même chiffre, et vouloir les faire coller à l’unité près est une perte de temps.
| Critère | Meta Ads Manager | GA4 |
|---|---|---|
| Point de vue | Les pubs Meta | Le site web |
| Base d’attribution | Utilisateur, cross-device | Session / clic, souvent device unique |
| Modèle par défaut | 7 j clic + 1 j engage + 1 j view | Data-driven (basé données) |
| Fenêtre par défaut | 7 jours clic | Jusqu’à 90 jours selon l’événement |
| Vues / engagement | Oui (engage-through, view) | Non, jamais |
| Déduplication Pixel + serveur | Oui (via event_id) | Sans objet |
| Dépend du consentement | Partiellement (Consent Mode, CAPI) | Fortement (refus = pas de hit) |
Retenez la ligne qui fait le plus de dégâts : Meta compte des conversions que GA4 ne verra jamais (l’engage-through et la view), et Meta voit des parcours cross-device que GA4, cantonné au navigateur, rate souvent. À l’inverse, GA4 attribue parfois à un autre canal (SEO, direct, email) une vente que Meta revendique aussi. Les deux ont « raison » dans leur référentiel.
Pourquoi les chiffres diffèrent encore : les 5 causes
Une fois le changement de mars intégré, l’écart résiduel vient presque toujours de l’un de ces cinq facteurs, souvent de plusieurs à la fois.
La fenêtre d’attribution est la cause numéro un. Meta attribue un achat jusqu’à 7 jours après le clic, GA4 peut remonter beaucoup plus loin ou appliquer un autre modèle. Comparez deux fenêtres différentes et vous comparez des choux et des carottes.
Le modèle d’attribution vient juste après. Le data-driven de GA4 répartit le crédit entre plusieurs points de contact, là où Meta s’attribue tout le dernier clic payant. Un achat « Meta + SEO + email » donnera 1 conversion pleine côté Meta et une fraction côté GA4.
La perte au consentement et au tracking navigateur creuse l’écart dans l’autre sens. Les refus de consentement (50 à 60 % selon les audiences) et le blocage des tags client-side (plus de 40 % des sessions sur certains marchés) amputent GA4, pendant que Meta compense partiellement via la CAPI et son graphe utilisateur.
Le cross-device joue pareil : un clic sur mobile, un achat sur desktop, Meta recolle les deux via l’identité de l’utilisateur, GA4 non (sauf User-ID bien implémenté).
Enfin, l’engage-through résiduel et la vue : même réduit, ce bucket existe toujours côté Meta et n’a aucun équivalent dans GA4.
La méthode de réconciliation en 5 étapes
1. Lire les bons champs dans Ads Manager
90 % des « bugs » de réconciliation sont en réalité une mauvaise lecture des colonnes. Avant toute chose, allez dans la personnalisation des colonnes et affichez séparément les conversions au clic et les conversions engage-through plutôt que le total agrégé. Vérifiez aussi le réglage d’attribution appliqué au rapport (l’outil de comparaison des fenêtres d’attribution, « Compare attribution settings », permet de voir l’impact d’une fenêtre à l’autre sur les mêmes campagnes). Les libellés exacts de l’interface évoluent régulièrement, vérifiez la formulation au moment où vous lisez : la logique, elle, reste stable.
Le but de cette étape : ne jamais comparer un total Meta « tout compris » (clic + engage + view) à un chiffre GA4 qui ne contient que du clic. C’est l’erreur qui fait croire à un écart énorme là où il n’y en a pas.
2. Séparer click-through et engage-through
C’est le prolongement direct du changement de mars. Isolez le click-through pur côté Meta : c’est la seule brique comparable à GA4, puisque GA4 n’attribue qu’au clic. Mettez l’engage-through et la view de côté dans une colonne à part, étiquetée comme telle. Vous obtenez alors deux chiffres Meta : un « comparable GA4 » (le clic) et un « contribution sociale » (engage + view) que vous assumez comme un signal propre à Meta, pas comme une erreur.
3. Aligner fenêtres et modèles d’attribution
Maintenant que vous comparez clic à clic, alignez le reste. Réglez la fenêtre GA4 au plus proche du 7 jours clic de Meta, ou a minima documentez l’écart de fenêtre. Pour aller plus loin, GA4 permet de personnaliser les fenêtres de conversion ; le détail est dans le guide sur les fenêtres de conversion GA4 personnalisées. Côté modèle, souvenez-vous que le data-driven de GA4 ne s’attribuera jamais 100 % d’une vente multi-touch : un écart de 15 à 30 % sur ce seul facteur est normal, pas un bug. Si vos conversions GA4 ont par ailleurs bougé en 2026, le point sur les changements d’attribution GA4 2026 remet le contexte.
4. Nettoyer UTM et fbclid
Un clic Meta qui arrive dans GA4 sans UTM propre ou sans fbclid finit dans « (direct) » ou mal rangé dans un autre canal : vous perdez la trace côté GA4 et l’écart gonfle artificiellement. Vérifiez que toutes vos destinations portent des UTM cohérents (source facebook / meta, medium paid_social ou cpc, un campaign lisible), que le paramètre fbclid n’est pas strippé par un redirecteur ou un consent wall, et que votre groupe de canaux GA4 range bien ces visites en Paid Social. Un utm_source incohérent entre campagnes suffit à fragmenter vos rapports.
5. CAPI et déduplication
Dernier levier, et pas le moindre : fiabilisez le signal que Meta reçoit. La Conversions API en server-side GTM ramène la perte d’événements à environ 5 % contre le navigateur seul, à condition que la déduplication event_id entre Pixel et serveur soit propre, sinon vous recréez un écart (double comptage) au lieu de le réduire. Le réglage précis de la dédup et de l’Event Match Quality est détaillé dans le guide Meta CAPI : déduplication et EMQ. Un CAPI propre ne fera jamais coller Meta et GA4 à l’unité, mais il garantit que le chiffre Meta repose sur des événements réels et non sur des estimations.
Grille : cause de l’écart → vérification → correctif
| Symptôme observé | Cause probable | Vérification | Correctif |
|---|---|---|---|
| Meta >> GA4 | Engage-through + view inclus | Décomposer les colonnes Meta | Comparer clic à clic uniquement |
| Meta > GA4 (clic à clic) | Fenêtre ou modèle non alignés | Comparer les fenêtres dans Ads Manager | Aligner la fenêtre GA4, documenter le modèle |
| GA4 range le trafic en « (direct) » | UTM ou fbclid manquants | Inspecter les URL de destination | Corriger les UTM, préserver fbclid |
| GA4 << Meta | Refus de consentement, tags bloqués | Taux de consentement, part Safari | Consent Mode, server-side, CAPI |
| Meta attribue une vente que GA4 donne au SEO | Cross-device + dernier clic Meta | Croiser les parcours dans BigQuery | Accepter l’écart, arbitrer sur une source de vérité |
| Conversions Meta en double | Dédup event_id cassée | Events Manager : « 1 event, 2 sources » | Réparer la déduplication Pixel + serveur |
Cette grille n’a pas vocation à supprimer l’écart, mais à le rendre explicable. Un écart que vous savez décomposer est un écart que vous maîtrisez.
Mesurer l’écart réel par campagne (requête BigQuery)
Les rapports d’interface donnent une vue globale ; pour objectiver l’écart campagne par campagne, rien ne vaut l’export GA4 vers BigQuery. La requête ci-dessous compte, par campagne Meta (repérée via source / medium), les conversions purchase côté GA4 sur les 7 derniers jours. Vous mettez ensuite ce résultat en regard du click-through de votre Ads Manager pour chaque campagne : l’écart ligne à ligne saute aux yeux, et vous voyez enfin quelles campagnes dérapent vraiment plutôt qu’un total noyé.
-- Conversions purchase GA4 par campagne Meta, 7 derniers jours
-- Remplacez `votre_projet.analytics_XXXXXX` par votre dataset d'export GA4.
SELECT
traffic_source.name AS campagne,
traffic_source.source AS source,
traffic_source.medium AS medium,
COUNT(DISTINCT user_pseudo_id) AS acheteurs,
COUNTIF(event_name = 'purchase') AS conversions_ga4
FROM
`votre_projet.analytics_XXXXXX.events_*`
WHERE
_TABLE_SUFFIX BETWEEN
FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY))
AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
AND LOWER(traffic_source.source) IN ('facebook', 'meta', 'fb', 'instagram', 'ig')
AND LOWER(traffic_source.medium) IN ('paid_social', 'cpc', 'paid', 'social')
GROUP BY
campagne, source, medium
ORDER BY
conversions_ga4 DESC;
Adaptez les listes de source et medium à votre convention UTM réelle (c’est tout l’intérêt d’avoir nettoyé vos UTM à l’étape 4). Pour aller plus loin dans l’exploitation de l’export, le recueil de requêtes BigQuery pour GA4 couvre les cas les plus utiles.
Quel chiffre utiliser pour décider ?
C’est la vraie question, bien plus que « lequel a raison ». Ma recommandation de praticien : choisissez une source de vérité par décision, et tenez-la.
Pour optimiser la diffusion et le budget à l’intérieur de Meta (quelle campagne scaler, laquelle couper), fiez-vous au click-through de Meta, parce que c’est le signal sur lequel l’algorithme optimise. Pour mesurer la performance business réelle et arbitrer entre canaux (Meta vs Google vs email), passez par GA4 ou, mieux, par votre back-office / CRM, parce que c’est là que vit le chiffre d’affaires réel. Et si vous voulez trancher l’incrémentalité (ces ventes auraient-elles eu lieu sans Meta ?), ni Meta ni GA4 ne répondront : il faut un test d’incrémentalité ou un MMM, mais c’est un autre sujet.
L’erreur à ne plus commettre : présenter un seul chiffre comme « la vérité » sans dire de quel référentiel il sort. Un bon reporting Meta vs GA4 n’affiche pas un chiffre magique réconcilié ; il affiche les deux, explique l’écart en une phrase, et indique lequel sert à quelle décision. C’est moins spectaculaire, mais c’est la seule version que vous pourrez défendre devant un CFO.
FAQ
Pourquoi Meta affiche-t-il toujours plus de conversions que GA4 ?
Parce que Meta inclut l’engage-through et les vues (que GA4 ignore), attribue en cross-device, et revendique le dernier clic payant là où GA4 répartit le crédit. Même après le changement de mars 2026, un Meta supérieur à GA4 reste la norme, pas l’anomalie.
Le changement d’attribution de mars 2026 a-t-il supprimé l’écart ?
Non, il l’a réduit. En ne comptant plus les likes et sauvegardes comme des clics, Meta a rapproché son click-through de ce que voit GA4, mais les différences de fenêtre, de modèle, de consentement et de cross-device subsistent.
Quel écart Meta vs GA4 est « normal » ?
Il n’y a pas de chiffre universel, mais un écart de 15 à 30 % entre le click-through Meta et les conversions GA4, après alignement des fenêtres, est courant et s’explique par les modèles d’attribution. Au-delà, cherchez un problème d’UTM, de consentement ou de déduplication.
Faut-il « forcer » Meta et GA4 à donner le même chiffre ?
Non. L’objectif n’est pas l’égalité parfaite, impossible par construction, mais un écart explicable et stable dans le temps. Un écart qui bouge brutalement est un signal d’alerte ; un écart stable et compris est un reporting sain.