Meta Pixel + Conversions API (CAPI) pour améliorer l'Attribution
En résumé
- Dédupliquez avec un
event_ididentique côté navigateur (Pixel) et côté serveur (CAPI) — idéalement l’order_id. - Envoyez
value+currencysur tous les événements avec une valeur économique (optimisation à la valeur). - Visez un EMQ ≥ 7 en multipliant les identifiants (email, téléphone,
external_id, etc.).- Un EMQ (Event Match Quality) est un score de qualité de 0 à 10 que Meta attribue à vos événements (Pixel/CAPI). C’est un indicateur de diagnostic, pas un KPI de performance en soi. Vous le voyez par type d’événement dans Events Manager.
- Passez
fbpetfbcdu client vers le serveur. - Standardisez avec (SS)GTM : générez l’
event_idune seule fois (dataLayer), réutilisez-le côté Pixel et CAPI, et vérifiez la mention “Deduplicated” dans Events Manager.
Pourquoi c’est critique pour la mesure et l’optimisation
Sans déduplication robuste, les conversions sont double-comptées. La conséquence ? ROAS et CPA biaisés, signaux d’apprentissage dégradés, algorithmes moins performants (Value Optimization).
Un EMQ élevé améliore l’appariement utilisateur, accélère la phase d’apprentissage, et augmente la couverture de retargeting et de modélisation.
Les 6 fondamentaux d’un setup Pixel + CAPI fiable
1. Déduplication Pixel/CAPI : même event_id (obligatoire)
- Requis : l’exact même
event_identre l’event envoyé par le navigateur (Pixel) et l’event serveur (CAPI). - Recommandé : utilisez un identifiant stable par conversion (ex.
order_id) et ne le transformez pas différemment entre client et serveur. - À contrôler : dans Events Manager, les paires Browser/Server doivent apparaître comme “Deduplicated” (et non “Received ×2”).
2. Valeur & devise : indispensables pour la Value Optimization
- Pour chaque événement à valeur (ex.
Purchase), envoyez :value: montant exact issu du système de commande,currency: ISO 4217 (ex.EUR).
- Sans ces paramètres, l’optimisation à la valeur se dégrade (signaux incohérents).
3. EMQ (Event Match Quality) : ciblez 7–10
- L’EMQ mesure la capacité d’appariement d’un événement à un utilisateur en fonction des identifiants fournis.
- Plus le score est haut, mieux l’apprentissage fonctionne. Suivez l’EMQ par type d’événement et itérez sur les identifiants manquants.
4. Advanced Matching : multipliez les identifiants
- Activez Advanced Matching côté Pixel et répliquez les mêmes champs côté serveur (hachés) : email, téléphone, prénom/nom,
external_id. - Consistance des formats (normalisation, trimming) = meilleur EMQ.
5. fbp et fbc : ne les oubliez pas
fbp= ID navigateur (cookie).fbc= ID de clic (click-id) lorsqu’un utilisateur arrive via une publicité Meta.- Récupérez-les côté client et relayez-les côté serveur : ils améliorent l’appariement et aident la déduplication selon les intégrations.
6. Bonnes pratiques GTM / Server-Side GTM
- Générez l’
event_idune seule fois (au moment de la conversion), stockez-le endataLayer, réutilisez-le dans le tag Pixel et dans la requête CAPI. - Nom des événements : alignez
event_nameentre Pixel et CAPI (ex.Purchase). - Monitoring : vérifiez dans Events Manager → statut Browser/Server, déduplication, EMQ, paramètres manquants.
Implémentation (pas à pas)
A. Data layer (client)
- Au déclenchement de la conversion (ex. page de confirmation), créez un
event_idunique (order_id). - Push
event_id,value,currency, identifiants utilisateur disponibles (si consentis) dans ledataLayer. - Exposez
fbp/fbc(lecture cookies/URL) pour réutilisation serveur.
B. Pixel (navigateur)
- Dans le tag Meta Pixel (GTM), mappez
event_id,value,currency, et activez Advanced Matching en passant les identifiants normalisés. - Déclencheur : sur l’événement de conversion (ex. confirmation d’achat).
- Tests : utilisez un test event code pour valider la remontée en direct.
C. CAPI (serveur)
- En Server-Side GTM (ou via votre backend), retrouvez le
dataLayer(ou sa version serveur) pour réutiliser le mêmeevent_id. - Incluez
value,currency,fbp,fbc, les champs d’Advanced Matching (hachés si requis). - Envoyez l’event serveur avec le même
event_nameet unevent_timecohérent.
Checklist production
- Générer un
event_idunique par conversion → injecter dansdataLayer→ réutiliser côté Pixel et CAPI. - Envoyer
value(source commande) +currencyISO (ex.EUR) sur chaquePurchase. - Activer Advanced Matching (email / phone /
external_id) côté Pixel et refléter côté CAPI. - Capturer & relayer
fbpetfbcdu navigateur vers le serveur. - Auditer l’EMQ par event dans Events Manager → viser ≥ 7 et compléter les champs manquants.
Contrôles dans Events Manager
- Deduplication status : “Deduplicated” attendu pour les paires Browser/Server.
- Paramètres : alerte si
value/currencyabsents surPurchase. - EMQ : surveillez la moyenne et la distribution par événement ; ciblez 7–10.
- Appariement : validez la présence de
fbp/fbcet des champs d’Advanced Matching.
Erreurs fréquentes & correctifs
event_iddifférent entre Pixel et CAPI → centralisez sa génération et chaînez le même identifiant des deux côtés.value/currencymanquants → mappez-les depuis la commande (source de vérité), normalisez les formats.event_namenon aligné (ex.Purchasevspurchase) → uniformisez la casse et la nomenclature.- Identifiants utilisateur inconsistants (espaces, majuscules, encodage) → normalisez avant hachage.
- Oubli de
fbp/fbc→ lisez cookies/URL en client, passez-les au serveur.
FAQ
Comment choisir l’event_id ?
Un identifiant stable et unique par conversion (souvent order_id). Évitez les formats différents entre client et serveur.
Puis-je dédupliquer sans event_id ?
Non. Meta nécessite le même event_id pour associer les événements Browser/Server et éviter le double comptage.
L’EMQ est bas (< 7) : par où commencer ?
Normalisez et enrichissez les champs d’Advanced Matching (email, phone, external_id), ajoutez fbp/fbc, corrigez les formats.
value/currency sont-ils obligatoires ?
Pour la Value Optimization, oui. Sans eux, l’algorithme apprend sur des signaux incomplets.
GTM vs Server-Side GTM ?
GTM facilite le client. SS-GTM ajoute robustesse et contrôle serveur (latence, sécurité, gouvernance des données). L’idéal : les deux, avec un event_id centralisé.