| Resumo | Adiciona o rastreamento do Meta Pixel com a Conversions API (CAPI) ao seu fórum Discourse. | ||
| Link do Repositório | Plugin Discourse Meta Pixel & Conversions API | ||
| Guia de Instalação | Como instalar plugins no Discourse |
A maneira usual de adicionar o Meta Pixel ao Discourse é colar o código base em um componente de tema. Isso dispara fbq('track', 'PageView') uma vez no carregamento do documento e, como o Discourse nunca recarrega o documento, você obtém uma única PageView por visita, não importa quantos tópicos alguém leia. Este plugin dispara por navegação, adiciona eventos de conteúdo e conversão e envia uma cópia do lado do servidor através da Conversions API para que os eventos sobrevivam a bloqueadores de anúncios.
Por que não usar apenas um componente de tema?
Um componente de tema roda apenas no navegador, o que tem três consequências.
Bloqueadores de anúncios e o ITP do Safari removem uma parcela significativa dos eventos do navegador, e não é possível saber quais estão faltando. Ele não consegue fazer a Conversions API de forma alguma, porque isso requer um token de acesso e não há lugar em um componente de tema para colocar um segredo que os visitantes não possam ler. E ele dispara em todos os lugares onde é injetado, incluindo mensagens privadas, /admin e páginas de redefinição de senha.
Se tudo o que você quer é uma PageView para uma audiência de retargeting, um componente de tema é genuinamente suficiente e leva dois minutos. Este plugin é para a qualidade das conversões.
Eu preciso disso para o meu fórum?
Provavelmente não. O Pixel e a CAPI são projetados para ajudar você a rastrear conversões e criar audiências publicitárias. Embora possa fornecer alguns dados analíticos, o painel administrativo do Discourse já possui dados analíticos robustos. Este plugin é para usuários que desejam principalmente rastrear conversões e gerenciar anúncios do Meta que ajudem a atrair usuários para o seu fórum e para o seu site.
Recursos
- Pixel do navegador e Conversions API do lado do servidor em um único plugin, compartilhando um ID de evento para que o Meta faça a deduplicação em vez de contar duas vezes
PageView,ViewContent,Search,TopicEngaged,CompleteRegistration,TopicCreated,ReplyCreated- Dispara por navegação SPA, não por carregamento de página
- Conversões do lado do servidor ainda chegam quando o Pixel do navegador é bloqueado
- Mensagens privadas, categorias restritas e rotas administrativas não geram nenhum evento
- Títulos de UGC e texto de busca nunca são enviados
- Tráfego de staff pode ser excluído por grupo, aplicado também nos eventos do servidor
- Entrega em lote com classificação de retry, backoff de rate-limit e uma tabela de idempotência durável
- Página de diagnóstico mostrando entregas recentes e seu status
Configuração
1. Instalação
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/multidimension-al/discourse-meta-pixel-capi.git
Depois, execute ./launcher rebuild app. A reconstrução executa uma migração que cria a tabela de entrega.
2. Pixel. Admin → Configurações → Meta Pixel & Conversions API. Coloque seu Pixel ID em meta pixel dataset id e, em seguida, ative discourse meta pixel enabled. Isso configura um Pixel funcional apenas no navegador.
(O Meta chama isso de Pixel ID no Events Manager e de dataset ID na documentação da Conversions API. É o mesmo número.)
3. Conversions API (opcional). Gere um token em Events Manager → seu dataset → Configurações → Conversions API. Coloque-o em meta pixel capi access token e, em seguida, ative meta pixel capi enabled. A configuração se recusa a ativar sem um token e um dataset ID.
4. Verificação. Coloque um código de Events Manager → Test Events em meta pixel test event code e navegue pelo fórum. Cada evento deve chegar uma vez, não duas. Isso é a deduplicação funcionando. Limpe o campo depois, pois eventos enviados com um código de teste não contam como conversões.
5. Checagem. Admin → Plugins → Meta Pixel → Diagnósticos mostra a configuração, o estado do navegador, as contagens de entrega e as últimas 25 entregas com quaisquer erros.
Configurações
| Nome | Descrição |
|---|---|
discourse meta pixel enabled |
Ativa o plugin. Desativado por padrão. |
meta pixel pixel enabled |
Carrega o Meta Pixel no navegador. |
meta pixel dataset id |
Seu Meta Pixel ID (chamado de dataset ID na documentação da CAPI). |
meta pixel capi enabled |
Envia uma cópia do lado do servidor através da Conversions API. Requer um token. Desativado por padrão. |
meta pixel capi access token |
Token da Conversions API do Events Manager. Segredo do lado do servidor, nunca enviado ao navegador. |
meta pixel graph api version |
Versão da Graph API para solicitações CAPI. Padrão v26.0. |
meta pixel test event code |
Código de Test Events. Defina apenas durante a verificação, pois estes não contam como conversões. |
meta pixel track page view |
Envia PageView para páginas elegíveis. |
meta pixel track view content |
Envia ViewContent quando um tópico publicamente visível é aberto. |
meta pixel track search |
Envia Search quando uma busca em página inteira é executada. O texto da busca nunca é encaminhado. Desativado por padrão. |
meta pixel track topic engaged |
Envia TopicEngaged após leitura significativa. |
meta pixel topic engaged seconds |
Segundos de leitura ativa antes de TopicEngaged disparar. Padrão 30. |
meta pixel track complete registration |
Envia CompleteRegistration quando uma conta é criada. |
meta pixel track topic created |
Envia TopicCreated para um novo tópico público. |
meta pixel track reply created |
Envia ReplyCreated para uma resposta a um tópico público. |
meta pixel enhanced email matching |
Inclui um hash SHA-256 do e-mail do membro para melhorar a qualidade do match. Desativado por padrão. |
meta pixel external id matching |
Inclui um HMAC opaco do ID do usuário. Nunca um nome de usuário ou e-mail. |
meta pixel excluded groups |
Membros desses grupos não geram nenhum evento do Meta. Padrão: administradores, moderadores. |
meta pixel respect do not track |
Não envia nada para visitantes cujo navegador reporte Do Not Track. |
meta pixel public content only |
Envia eventos de conteúdo apenas para tópicos que um visitante anônimo poderia ler. |
meta pixel batch size |
Conversões por solicitação. O Meta aceita até 1000. Padrão 100. |
meta pixel batch max wait seconds |
Quanto tempo um lote parcialmente preenchido espera. Padrão 300. |
meta pixel delivery retention days |
Dias para manter registros de entrega. Mínimo 7, padrão 30. |
meta pixel debug mode |
Registra eventos despachados no console do navegador. |
Notas
- Cópias do navegador e do servidor de um evento compartilham um ID. O Meta deduplica com base no nome do evento mais o ID dentro de 48 horas, é por isso que a janela de espera do lote é de minutos e não de horas.
- A criação de tópicos e respostas é apenas do lado do servidor. Uma cópia do navegador não adicionaria nenhum sinal de identidade, e um cliente que pudesse afirmar que “um tópico foi criado” poderia afirmar isso falsamente.
- O registro é enviado do servidor, mas emparelhado com um evento do navegador, porque na criação da conta não há solicitação em andamento da qual obter IP, user agent ou
_fbp. - Grupos excluídos são aplicados em todos os caminhos de despacho do servidor, não apenas no navegador.
TopicCreated,ReplyCreatedeCompleteRegistrationnunca envolvem um navegador. - O endpoint para o qual o navegador envia dados não é um proxy CAPI. Ele aceita quatro nomes de evento, um ID de evento e, opcionalmente, um ID de tópico e um caminho. Não é uma URL, nem
user_dataarbitrário.
Existe um plugin companheiro Google Analytics 4 construído da mesma forma.

