Meta Pixel y Conversions API

:information_source: Resumen Añade el seguimiento de Meta Pixel con la Conversions API (CAPI) a tu foro de Discourse.
:hammer_and_wrench: Enlace al repositorio Plugin de Meta Pixel y Conversions API para Discourse
:open_book: Guía de instalación Cómo instalar plugins en Discourse

La forma habitual de añadir el Meta Pixel a Discourse es pegar el código base en un componente de tema. Esto dispara fbq('track', 'PageView') una vez al cargar el documento, y como Discourse nunca recarga el documento, se registra una sola PageView por visita, sin importar cuántos temas lea alguien. Este plugin dispara eventos por cada navegación, añade eventos de contenido y conversión, y envía una copia del servidor a través de la Conversions API para que los eventos sobrevivan a los bloqueadores de anuncios.

¿Por qué no usar simplemente un componente de tema?

Un componente de tema se ejecuta solo en el navegador, lo que tiene tres consecuencias.

Los bloqueadores de anuncios y el ITP de Safari eliminan una parte significativa de los eventos del navegador, y no se puede saber cuáles faltan. No puede realizar la Conversions API en absoluto, porque esto requiere un token de acceso y no hay lugar en un componente de tema para guardar un secreto que los visitantes no puedan leer. Además, se dispara en todas las páginas donde se inyecta, incluyendo mensajes privados, /admin y páginas de restablecimiento de contraseña.

Si todo lo que quieres es una PageView para una audiencia de remarketing, un componente de tema es genuinamente suficiente y toma dos minutos. Esto es para la calidad de las conversiones.

¿Necesito esto para mi foro?

Probablemente no. Pixel y CAPI están diseñados para ayudarte a rastrear conversiones y crear audiencias publicitarias. Aunque puede darte algunos datos analíticos, el panel de administración de Discourse ya tiene datos analíticos robustos. Esto es para usuarios que principalmente quieren rastrear conversiones y gestionar anuncios de Meta que ayuden a atraer usuarios a tu foro y a tu sitio.

Características

  • Pixel del navegador y Conversions API del servidor en un solo plugin, compartiendo un solo ID de evento para que Meta deduplique en lugar de contar doble
  • PageView, ViewContent, Search, TopicEngaged, CompleteRegistration, TopicCreated, ReplyCreated
  • Se dispara por cada navegación SPA, no por cada carga de página
  • Las conversiones del servidor aún llegan cuando el Pixel del navegador está bloqueado
  • Los mensajes privados, las categorías restringidas y las rutas de administración no generan ningún evento
  • Los títulos de UGC y el texto de búsqueda nunca se envían
  • El tráfico del personal se puede excluir por grupo, aplicado también en los eventos del servidor
  • Entrega por lotes con clasificación de reintentos, retroceso por límite de tasa y una tabla de idempotencia duradera
  • Página de diagnóstico que muestra las entregas recientes y su estado

Configuración

1. Instalar

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/multidimension-al/discourse-meta-pixel-capi.git

Luego ./launcher rebuild app. La reconstrucción ejecuta una migración que crea la tabla de entregas.

2. Pixel. Administración → Ajustes → Meta Pixel & Conversions API. Coloca tu Pixel ID en meta pixel dataset id, luego activa discourse meta pixel enabled. Eso es una configuración funcional solo con Pixel.

(Meta llama a esto Pixel ID en Events Manager y dataset ID en la documentación de Conversions API. Es el mismo número.)

3. Conversions API (opcional). Genera un token en Events Manager → tu dataset → Ajustes → Conversions API. Colócalo en meta pixel capi access token, luego activa meta pixel capi enabled. La configuración se niega a activarse sin un token y un dataset ID.

4. Verificar. Coloca un código de Events Manager → Test Events en meta pixel test event code y navega por el foro. Cada evento debería llegar una vez, no dos. Eso es la deduplicación funcionando. Limpia el campo después, ya que los eventos enviados con un código de prueba no cuentan como conversiones.

5. Revisar. Administración → Plugins → Meta Pixel → Diagnóstico muestra la configuración, el estado del navegador, las cuentas de entrega y las últimas 25 entregas con cualquier error.

Ajustes

Nombre Descripción
discourse meta pixel enabled Habilita el plugin. Desactivado por defecto.
meta pixel pixel enabled Carga el Meta Pixel en el navegador.
meta pixel dataset id Tu Meta Pixel ID (llamado dataset ID en la documentación de CAPI).
meta pixel capi enabled Envía una copia del servidor a través de la Conversions API. Requiere un token. Desactivado por defecto.
meta pixel capi access token Token de Conversions API de Events Manager. Secreto del servidor, nunca enviado al navegador.
meta pixel graph api version Versión de Graph API para solicitudes de CAPI. Por defecto v26.0.
meta pixel test event code Código de Test Events. Solo se establece durante la verificación, ya que estos no cuentan como conversiones.
meta pixel track page view Envía PageView para páginas elegibles.
meta pixel track view content Envía ViewContent cuando se abre un tema visible públicamente.
meta pixel track search Envía Search cuando se ejecuta una búsqueda de página completa. El texto de búsqueda nunca se reenvía. Desactivado por defecto.
meta pixel track topic engaged Envía TopicEngaged después de una lectura significativa.
meta pixel topic engaged seconds Segundos de lectura activa antes de que se dispare TopicEngaged. Por defecto 30.
meta pixel track complete registration Envía CompleteRegistration cuando se crea una cuenta.
meta pixel track topic created Envía TopicCreated para un nuevo tema público.
meta pixel track reply created Envía ReplyCreated para una respuesta a un tema público.
meta pixel enhanced email matching Incluye un hash SHA-256 del correo electrónico del miembro para mejorar la calidad de la coincidencia. Desactivado por defecto.
meta pixel external id matching Incluye un HMAC opaco del ID de usuario. Nunca un nombre de usuario o correo electrónico.
meta pixel excluded groups Los miembros de estos grupos no generan ningún evento de Meta. Por defecto: administradores, moderadores.
meta pixel respect do not track No envía nada para visitantes cuyo navegador informe Do Not Track.
meta pixel public content only Solo envía eventos de contenido para temas que un visitante anónimo podría leer.
meta pixel batch size Conversiones por solicitud. Meta acepta hasta 1000. Por defecto 100.
meta pixel batch max wait seconds Cuánto tiempo espera un lote parcialmente lleno. Por defecto 300.
meta pixel delivery retention days Días para conservar registros de entrega. Mínimo 7, por defecto 30.
meta pixel debug mode Registra los eventos despachados en la consola del navegador.

Notas

  • Las copias del navegador y del servidor de un evento comparten un solo ID. Meta deduplica por nombre de evento más ID dentro de las 48 horas, por lo que la ventana de espera del lote es de minutos, no de horas.
  • La creación de temas y respuestas es solo del servidor. Una copia del navegador no añadiría ninguna señal de identidad, y un cliente que pudiera afirmar “se creó un tema” podría afirmarlo falsamente.
  • El registro se envía desde el servidor pero se empareja con un evento del navegador, porque en la creación de la cuenta no hay ninguna solicitud en curso de la cual tomar una IP, user agent o _fbp.
  • Los grupos excluidos se aplican en cada ruta de despacho del servidor, no solo en el navegador. TopicCreated, ReplyCreated y CompleteRegistration nunca involucran un navegador.
  • El punto final al que el navegador publica no es un proxy de CAPI. Acepta cuatro nombres de evento, un ID de evento y, opcionalmente, un ID de tema y una ruta. No es una URL, ni user_data arbitrario.

Hay un plugin complementario de Google Analytics 4 construido de la misma manera.

1 me gusta

¡No olvides rellenar esto! Sé que yo lo hice.

1 me gusta