| Résumé | Ajoute le suivi Meta Pixel avec l’API de conversions (CAPI) à votre forum Discourse. | ||
| Lien du dépôt | Plugin Discourse Meta Pixel & Conversions API | ||
| Guide d’installation | Comment installer des plugins dans Discourse |
La méthode habituelle pour ajouter le Meta Pixel à Discourse consiste à coller le code de base dans un composant de thème. Cela déclenche fbq('track', 'PageView') une seule fois lors du chargement du document, et Discourse ne recharge jamais le document, de sorte que vous obtenez une seule PageView par visite, peu importe le nombre de sujets que quelqu’un lit. Ce plugin se déclenche à chaque navigation, ajoute des événements de contenu et de conversion, et envoie une copie côté serveur via l’API de conversions afin que les événements survivent aux bloqueurs de publicités.
Pourquoi ne pas simplement utiliser un composant de thème ?
Un composant de thème s’exécute uniquement dans le navigateur, ce qui a trois conséquences.
Les bloqueurs de publicités et l’ITP de Safari suppriment une part significative des événements du navigateur, et vous ne pouvez pas savoir lesquels manquent. Il ne peut pas du tout utiliser l’API de conversions, car celle-ci nécessite un jeton d’accès et il n’y a nulle part dans un composant de thème pour placer un secret que les visiteurs ne peuvent pas lire. Et il se déclenche partout où il est injecté, y compris dans les messages privés, /admin et les pages de réinitialisation du mot de passe.
Si tout ce que vous voulez est une PageView pour une audience de retargeting, un composant de thème est vraiment suffisant et prend deux minutes. Ceci est destiné à la qualité des conversions.
En ai-je besoin pour mon forum ?
Probablement pas. Le Pixel et le CAPI sont conçus pour vous aider à suivre les conversions et à créer des audiences publicitaires. Bien qu’il puisse vous fournir quelques données analytiques, le panneau d’administration Discourse dispose déjà de données analytiques robustes. Ceci est destiné aux utilisateurs qui souhaitent principalement suivre les conversions et gérer des publicités Meta qui aident à attirer les utilisateurs vers votre forum et vers votre site.
Fonctionnalités
- Pixel navigateur et API de conversions côté serveur dans un seul plugin, partageant un même identifiant d’événement pour que Meta déduplique au lieu de compter en double
PageView,ViewContent,Search,TopicEngaged,CompleteRegistration,TopicCreated,ReplyCreated- Se déclenche par navigation SPA, et non par chargement de page
- Les conversions côté serveur arrivent toujours lorsque le Pixel navigateur est bloqué
- Les messages privés, les catégories restreintes et les routes d’administration ne génèrent aucun événement
- Les titres UGC et le texte de recherche ne sont jamais envoyés
- Le trafic du personnel peut être exclu par groupe, appliqué également aux événements côté serveur
- Livraison par lots avec classification des nouvelles tentatives, attente en cas de limitation de débit et une table d’idempotence durable
- Page de diagnostic affichant les livraisons récentes et leur statut
Configuration
1. Installation
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/multidimension-al/discourse-meta-pixel-capi.git
Puis ./launcher rebuild app. La reconstruction exécute une migration qui crée la table de livraison.
2. Pixel. Administration → Paramètres → Meta Pixel & Conversions API. Placez votre ID de Pixel dans meta pixel dataset id, puis activez discourse meta pixel enabled. C’est une configuration fonctionnelle avec uniquement le Pixel.
(Meta appelle cela l’ID de Pixel dans le Gestionnaire d’événements et l’ID de jeu de données dans la documentation de l’API de conversions. C’est le même numéro.)
3. API de conversions (facultatif). Générez un jeton dans Gestionnaire d’événements → votre jeu de données → Paramètres → API de conversions. Placez-le dans meta pixel capi access token, puis activez meta pixel capi enabled. Le paramètre refuse de s’activer sans jeton et ID de jeu de données.
4. Vérification. Placez un code du Gestionnaire d’événements → Événements de test dans meta pixel test event code et parcourez le forum. Chaque événement devrait arriver une seule fois, pas deux fois. C’est la déduplication qui fonctionne. Effacez le champ par la suite, car les événements envoyés avec un code de test ne comptent pas comme des conversions.
5. Contrôle. Administration → Plugins → Meta Pixel → Diagnostics affiche la configuration, l’état du navigateur, les comptes de livraison et les 25 dernières livraisons avec les éventuelles erreurs.
Paramètres
| Nom | Description |
|---|---|
discourse meta pixel enabled |
Active le plugin. Désactivé par défaut. |
meta pixel pixel enabled |
Charge le Meta Pixel dans le navigateur. |
meta pixel dataset id |
Votre ID de Meta Pixel (appelé ID de jeu de données dans la documentation CAPI). |
meta pixel capi enabled |
Envoie une copie côté serveur via l’API de conversions. Nécessite un jeton. Désactivé par défaut. |
meta pixel capi access token |
Jeton de l’API de conversions depuis le Gestionnaire d’événements. Secret côté serveur, jamais envoyé au navigateur. |
meta pixel graph api version |
Version de l’API Graph pour les requêtes CAPI. Par défaut v26.0. |
meta pixel test event code |
Code des Événements de test. À définir uniquement lors de la vérification, car ceux-ci ne comptent pas comme des conversions. |
meta pixel track page view |
Envoie PageView pour les pages éligibles. |
meta pixel track view content |
Envoie ViewContent lorsqu’un sujet publiquement visible est ouvert. |
meta pixel track search |
Envoie Search lorsqu’une recherche pleine page est effectuée. Le texte de recherche n’est jamais transmis. Désactivé par défaut. |
meta pixel track topic engaged |
Envoie TopicEngaged après une lecture significative. |
meta pixel topic engaged seconds |
Secondes de lecture active avant que TopicEngaged ne se déclenche. Par défaut 30. |
meta pixel track complete registration |
Envoie CompleteRegistration lorsqu’un compte est créé. |
meta pixel track topic created |
Envoie TopicCreated pour un nouveau sujet public. |
meta pixel track reply created |
Envoie ReplyCreated pour une réponse à un sujet public. |
meta pixel enhanced email matching |
Inclut un hachage SHA-256 de l’e-mail du membre pour améliorer la qualité de correspondance. Désactivé par défaut. |
meta pixel external id matching |
Inclut un HMAC opaque de l’ID utilisateur. Jamais un nom d’utilisateur ou un e-mail. |
meta pixel excluded groups |
Les membres de ces groupes ne génèrent aucun événement Meta du tout. Par défaut : administrateurs, modérateurs. |
meta pixel respect do not track |
N’envoie rien pour les visiteurs dont le navigateur signale Do Not Track. |
meta pixel public content only |
N’envoie des événements de contenu que pour les sujets qu’un visiteur anonyme pourrait lire. |
meta pixel batch size |
Conversions par requête. Meta accepte jusqu’à 1000. Par défaut 100. |
meta pixel batch max wait seconds |
Durée d’attente d’un lot partiellement rempli. Par défaut 300. |
meta pixel delivery retention days |
Jours de conservation des enregistrements de livraison. Minimum 7, par défaut 30. |
meta pixel debug mode |
Journalise les événements expédiés dans la console du navigateur. |
Remarques
- Les copies navigateur et serveur d’un événement partagent un même ID. Meta déduplique sur le nom de l’événement plus l’ID dans un délai de 48 heures, c’est pourquoi la fenêtre d’attente du lot est de quelques minutes et non de quelques heures.
- La création de sujets et de réponses est uniquement côté serveur. Une copie navigateur n’ajouterait aucun signal d’identité, et un client capable d’affirmer « un sujet a été créé » pourrait l’affirmer faussement.
- L’enregistrement est envoyé depuis le serveur mais associé à un événement navigateur, car lors de la création du compte, il n’y a pas de requête en cours pour récupérer une IP, un agent utilisateur ou
_fbp. - Les groupes exclus sont appliqués sur chaque chemin de dispatch côté serveur, et pas seulement dans le navigateur.
TopicCreated,ReplyCreatedetCompleteRegistrationn’impliquent jamais un navigateur du tout. - Le point de terminaison vers lequel le navigateur envoie les données n’est pas un proxy CAPI. Il accepte quatre noms d’événements, un ID d’événement, et optionnellement un ID de sujet et un chemin. Pas une URL, pas de
user_dataarbitraire.
Il existe un plugin compagnon Google Analytics 4 construit de la même manière.

