Sommaire
- Pourquoi la qualité du tracking influence la santé du compte
- Pixel ou API Conversions : la différence
- Étape 1 : vérifier votre domaine
- Étape 2 : installer le Pixel au bon endroit selon votre outil
- Site sur mesure ou HTML statique
- WordPress
- Shopify et WooCommerce
- Next.js, React et autres applications monopages
- Google Tag Manager
- Étape 3 : envoyer les mêmes événements via l'API Conversions
- Hacher correctement les données personnelles
- Étape 4 : dédupliquer les événements navigateur et serveur
- Étape 5 : améliorer la qualité de correspondance des événements
- Vie privée et consentement dans l'UE
- Ce qu'il ne faut pas envoyer
- Tester avant de dépenser le premier euro
- Problèmes fréquents et solutions
- Utiliser son Pixel avec un compte agence
- Checklist
Beaucoup voient le Pixel Meta comme un simple outil de mesure. En réalité, c'est le flux de données qui apprend à l'algorithme qui sont vos clients. Un Pixel propre associé à l'API Conversions (CAPI) réduit le coût par résultat et montre à Meta qu'une vraie entreprise se cache derrière le domaine. Une installation bâclée produit l'effet inverse.
Ce guide vous montre étape par étape où placer le code et comment vérifier que tout fonctionne. Il vaut pour vos propres comptes comme pour un compte agence Facebook utilisé via nos services.
Pourquoi la qualité du tracking influence la santé du compte
Les systèmes de Meta évaluent l'ensemble du profil d'un annonceur. Une entreprise qui envoie régulièrement des conversions de qualité depuis un domaine vérifié ressemble à ce qu'elle est : une vraie société avec de vrais clients. Un compte qui envoie du trafic vers un domaine sans événements, ou avec des événements défaillants, paraît plus risqué.
Le coût compte aussi : de meilleures données donnent une meilleure optimisation, donc un CPA plus bas. Chez nos clients, passer de « Pixel seul » à « Pixel plus CAPI correctement dédupliquée » réduit le CPA de 10 à 25 % en moyenne.
Pixel ou API Conversions : la différence
| Pixel Meta | API Conversions | |
|---|---|---|
| S'exécute dans | Le navigateur du visiteur | Votre serveur |
| Touché par les bloqueurs de pubs | Oui | Non |
| Touché par les limites iOS/Safari | Oui | Beaucoup moins |
| Événements hors ligne | Non | Oui |
| Difficulté | Faible | Moyenne |
Il vous faut les deux : le Pixel capte ce qui est possible dans le navigateur, la CAPI envoie les mêmes événements depuis le serveur pour ne rien perdre.
Étape 1 : vérifier votre domaine
Dans les paramètres de l'entreprise, ouvrez Sécurité de la marque → Domaines et ajoutez votre domaine. Vérifiez-le par un enregistrement DNS TXT (recommandé) ou une balise meta. Cela prouve que le domaine vous appartient et conditionne la configuration des événements web.
Avec un Business Manager loué, vérifiez le domaine dans le BM qui possède le Pixel, idéalement le vôtre.
Étape 2 : installer le Pixel au bon endroit selon votre outil
Le code de base est le même partout, seul l'emplacement change. Trouvez l'ID du Pixel dans le Gestionnaire d'événements → Sources de données → votre Pixel.
Site sur mesure ou HTML statique
Collez le code dans le modèle partagé par toutes les pages, juste avant la balise de fermeture du head. Remplacez YOUR_PIXEL_ID par votre identifiant.
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
WordPress
Utilisez le plugin officiel Meta for WordPress (Facebook for WordPress). Connectez votre compte Meta, choisissez le Pixel et activez l'API Conversions. Si vous collez le code à la main, placez-le dans l'en-tête et non dans le pied de page, pour que PageView se déclenche avant que le visiteur ne parte.
Shopify et WooCommerce
Installez le canal de vente Facebook & Instagram (Shopify) ou Facebook for WooCommerce. Choisissez votre Pixel, réglez le partage de données sur Maximum et vérifiez que l'e-mail et le téléphone sont envoyés. Purchase, AddToCart et ViewContent passent alors par le navigateur et la CAPI.
Next.js, React et autres applications monopages
Chargez le code de base une seule fois dans le layout racine et déclenchez PageView à chaque changement de route. Envoyez les événements de conversion depuis le composant qui gère l'action, par exemple le gestionnaire de formulaire.
// after the form is saved successfully
const eventId = crypto.randomUUID();
fbq('track', 'Lead', { content_name: 'contact-form' }, { eventID: eventId });
await fetch('/api/lead', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ ...formData, eventId }),
});
Google Tag Manager
Créez une balise HTML personnalisé avec le code de base, déclenchez-la sur Toutes les pages, puis ajoutez une balise par événement (Lead, Purchase) avec le déclencheur adapté. Vérifiez en mode Aperçu que chaque balise ne se déclenche qu'une fois. N'installez jamais le même Pixel à la fois via GTM et dans le code, sinon chaque événement est compté deux fois.
Les événements standard essentiels : ViewContent sur les fiches produit, AddToCart à l'ajout au panier, InitiateCheckout au début de la commande, Purchase sur la page de remerciement avec valeur et devise, Lead à l'envoi d'un formulaire. Privilégiez les noms standard : les événements personnalisés s'optimisent moins bien.
Étape 3 : envoyer les mêmes événements via l'API Conversions
Votre serveur envoie l'événement à la Graph API avec un jeton d'accès généré dans le Gestionnaire d'événements, sous Paramètres → API Conversions. Conservez-le dans une variable d'environnement, jamais dans le code front-end.
import crypto from 'node:crypto';
const sha256 = (v) =>
crypto.createHash('sha256').update(String(v).trim().toLowerCase()).digest('hex');
export async function sendLead({ email, phone, eventId, url, ip, userAgent, fbp, fbc }) {
const body = {
data: [{
event_name: 'Lead',
event_time: Math.floor(Date.now() / 1000),
event_id: eventId, // same value the browser sent
action_source: 'website',
event_source_url: url,
user_data: {
em: [sha256(email)],
ph: [sha256(phone.replace(/\D/g, ''))],
client_ip_address: ip, // not hashed
client_user_agent: userAgent, // not hashed
fbp, fbc, // not hashed
},
}],
// test_event_code: 'TEST12345', // only while testing
};
const res = await fetch(
`https://graph.facebook.com/v21.0/${process.env.PIXEL_ID}/events?access_token=${process.env.CAPI_TOKEN}`,
{ method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }
);
return res.json();
}
Les champs clés : event_name, event_time (secondes Unix), une event_id identique à celle du navigateur, action_source « website », l'URL de la page et user_data.
Hacher correctement les données personnelles
E-mail, téléphone, prénom, nom, ville et identifiant externe doivent être normalisés puis hachés en SHA-256 : e-mail sans espaces et en minuscules, téléphone en chiffres uniquement avec l'indicatif pays, noms en minuscules sans ponctuation. L'adresse IP, le user agent, ainsi que fbp et fbc ne sont pas hachés. Récupérez aussi le fbclid dans l'URL de la page d'atterrissage et stockez-le dans un cookie : il sert à construire fbc, grâce auquel Meta rattache le lead au clic exact sur la publicité.
Étape 4 : dédupliquer les événements navigateur et serveur
Si le Pixel et la CAPI envoient tous deux un événement Lead, Meta le compte deux fois sans déduplication. La règle : même event_name et même event_id des deux côtés. Générez l'identifiant dans le navigateur à l'envoi du formulaire, transmettez-le au Pixel comme eventID, puis envoyez-le au serveur avec les données du formulaire pour le réutiliser dans la requête CAPI. Le Gestionnaire d'événements affiche alors « Dédupliqué ».
Étape 5 : améliorer la qualité de correspondance des événements
La qualité de correspondance (EMQ) mesure la capacité de Meta à rattacher vos événements à de vraies personnes. Envoyez plus d'identifiants avec chaque événement serveur : e-mail haché (impact le plus fort), téléphone haché, fbp et fbc, adresse IP et user agent, identifiant externe haché. Beaucoup de clients passent d'une EMQ de 4–6 à plus de 8 en une semaine. Pour le trafic iOS, classez vos événements par priorité dans la mesure agrégée des événements et placez le plus précieux (Lead ou Purchase) en tête.
Vie privée et consentement dans l'UE
Pour les internautes de l'Espace économique européen, le Pixel dépose des cookies et transmet des données personnelles à Meta. En pratique, il faut un bandeau cookies avec un consentement avant le chargement du Pixel, conformément au RGPD et aux recommandations de la CNIL. Techniquement, le code de base ne s'exécute qu'après acceptation, par exemple via un déclencheur de consentement dans Tag Manager ou via la fonction de consentement de fbq. La CAPI ne doit elle aussi envoyer que les données des personnes ayant consenti. Ceci ne constitue pas un conseil juridique : faites vérifier bandeau, politique de confidentialité et transferts de données par un professionnel.
Ce qu'il ne faut pas envoyer
- Les catégories sensibles comme l'état de santé ou la situation financière dans les URL, les paramètres d'événement ou les noms de contenu.
- Les données personnelles non hachées dans n'importe quel paramètre, y compris dans les URL. Une page de remerciement comme /merci?email=jean@exemple.fr transmet l'e-mail au Pixel automatiquement.
- Les événements de pages qui ne vous appartiennent pas.
Tester avant de dépenser le premier euro
- Ouvrez Gestionnaire d'événements → Tester les événements, saisissez votre URL et déclenchez une conversion de test.
- L'événement Lead doit apparaître deux fois, en Navigateur et en Serveur, fusionnés en une ligne marquée « Dédupliqué ».
- Vérifiez dans l'aperçu que la qualité de correspondance de Lead atteint au moins 6,0.
- Installez l'extension Chrome Meta Pixel Helper. Une icône verte avec un seul PageView par page signifie que le code de base se déclenche une seule fois.
- Retirez le test_event_code avant la mise en ligne, pour que les vrais événements ne soient pas traités comme des tests.
- Après 24 heures, consultez les Diagnostics : paramètres manquants, événements en double, domaine non vérifié.
Problèmes fréquents et solutions
| Symptôme | Cause probable | Solution |
|---|---|---|
| Chaque événement compté deux fois | Pixel dans GTM et dans le code, ou event_id absente | Une seule installation, event_id identique côté navigateur et serveur |
| Événements serveur « non dédupliqués » | event_id ou event_name différent | Générer l'ID une fois et le transmettre aux deux |
| Qualité de correspondance sous 5 | Seuls IP et user agent envoyés | Ajouter e-mail et téléphone hachés, fbp et fbc |
| Purchase sans valeur | value et currency manquants | Envoyer value en nombre et currency en code à 3 lettres |
| Pixel Helper n'affiche rien | Bloqueur de pubs, mauvaise page ou code après la fin du body | Tester dans un profil propre, placer le code dans le head |
| Les événements arrivent, mais les pubs ne s'optimisent pas | Mauvais événement comme objectif | Choisir l'événement adapté, par exemple Lead pour une campagne de prospects |
Utiliser son Pixel avec un compte agence
Quand vous utilisez un compte publicitaire via nous, le Pixel reste dans votre Business Manager et est partagé avec le compte agence. Données, audiences et apprentissage restent à vous. Si le compte devait être remplacé, vous partagez le Pixel avec le nouveau compte et les campagnes reprennent avec tout l'historique. C'est pourquoi l'installation du Pixel est incluse dans nos formules Growth et Scale : voir les offres et tarifs. Associez un tracking propre à une montée en budget progressive, et la phase d'apprentissage se termine bien plus vite.
Checklist
- Domaine vérifié dans le BM qui possède le Pixel
- Code de base sur toutes les pages, PageView à chaque changement de route
- Événements standard sur les actions clés
- CAPI qui envoie les mêmes événements avec une event_id identique
- E-mail et téléphone hachés en SHA-256
- EMQ de 6 ou plus sur l'événement principal
- Consentement recueilli avant le Pixel (UE)
- Aucune donnée sensible dans les URL ou paramètres
À lire aussi : Pourquoi votre compte publicitaire Facebook est banni et Location de compte publicitaire Facebook : coûts et risques.
Vous préférez ne pas le faire vous-même ? HD Agency installe le Pixel, vérifie votre domaine et configure l'API Conversions dédupliquée. Écrivez-nous sur Telegram ou WhatsApp, réponse en environ 5 minutes. Découvrez aussi nos solutions par secteur.
Questions fréquentes
Ai-je encore besoin du Pixel si j'utilise l'API Conversions ?
Oui. Meta recommande les deux en parallèle. Le Pixel capte les événements du navigateur, l'API Conversions (CAPI) comble les pertes dues aux bloqueurs de publicités et à la protection de la vie privée. La déduplication par event_id évite le double comptage.
Quel score de qualité de correspondance des événements est bon ?
Visez au moins 6,0 pour Lead et Purchase. Au-dessus de 8, c'est excellent, et cela vient en général de l'envoi d'un e-mail, d'un téléphone et d'un identifiant externe hachés avec chaque événement serveur.
Faut-il un consentement pour le Pixel Meta en France ?
En règle générale, oui. Le Pixel dépose des cookies et transmet des données à Meta : pour les internautes de l'UE, un consentement via un bandeau cookies est en pratique nécessaire, et le Pixel ne doit se déclencher qu'après acceptation. Faites valider la mise en oeuvre par un juriste.
Puis-je utiliser mon Pixel avec un compte agence loué ?
Oui. Le Pixel reste dans votre propre Business Manager et est partagé avec le compte agence. Données, audiences et apprentissage vous appartiennent toujours.
Écrit par
HD Agency
L'équipe media buying de HD Agency. Plus de 5 ans à scaler des offres e-commerce, lead-gen et apps sur Meta aux États-Unis et en Europe, avec des millions de budget géré. Nous écrivons sur l'infrastructure des comptes pub, le tracking et le scaling sans interruption.
Écrire à HD Agency