Facebook (Meta)
Integração com Meta Pixel (client-side) — Conversions API (CAPI) server-side está no roadmap mas ainda não implementada. Esta página cobre o estado atual + o que falta pra CAPI completa.
Meta Pixel client-side
Carregado via useAnalytics hook (não via GTM diretamente — é um SDK próprio em app/utils/metrics/facebook.ts).
Configuração por brand
Em overrides/<brand>/app/config/analytics/analytics.ts:
{
pixelId: undefined, // ← undefined = fallback API
facebookDomainVerification: null, // ← string ou null
}
Resolução do pixelId
Mesmo padrão do GTM:
pixelId: undefined→ fallbackbrand.settings.analytics.pixelIdda APIpixelId: "1234567890"→ usa esse valorpixelId: null→ desativa explicitamente
facebookDomainVerification
String que vai como <meta name="facebook-domain-verification" content="..."> no <head>. Obrigatória pra que o Pixel + Conversions API tenham total funcionalidade (especialmente Aggregated Event Measurement em iOS 14+).
Pra obter o valor: Meta Business Manager → Domain → Verify → "Use Meta Tag" → copia o valor do content.
| Brand | facebookDomainVerification |
|---|---|
betpontobet-bet-br | "a66iz0zi3kxc7rkamy3itfx0uyqap7" |
donald-bet-br | "8l5rqve1u9e675kf7nun14rs3vxpf1" |
| Demais brands | null (a confirmar com time deploy se devem ter) |
pixelId por brand
A maioria das brands usa pixelId: undefined e resolve pelo backoffice. A exceção é cl-bet7k-com, que hardcoda pixelId: "1313486743470963" no override.
Eventos enviados
O front emite eventos pro Pixel via dispatcher central (app/utils/metrics/index.ts → app/utils/metrics/facebook.ts):
| Evento Front | Evento Meta | Tipo | Payload |
|---|---|---|---|
page_view | PageView | standard | — |
sign_up | Lead | standard | content_name: "Cadastro", status: true, value: 1 |
deposit_initiated | PixGenerated | custom (trackCustom) | content_name: "PIX Gerado", currency, value |
first_deposit | Purchase | standard | currency, value |
purchase (rebill) | Purchase | standard | currency, value |
:::danger sign_up dispara Lead, não CompleteRegistration
Esta página dizia sign_up → CompleteRegistration. O adapter dispara Lead. CompleteRegistration também é um evento Meta padrão, então um trigger montado com ele nunca dispara e não dá erro — falha silenciosa. Confira em app/utils/metrics/facebook.ts.
:::
page_view é enviado
O page_view é dispatchado explicitamente (trackFBEvent("PageView")), e a matriz declara page_view.meta_pixel = { name: "PageView" }. É o pageview de troca de rota SPA, que o snippet de init não enxerga. A afirmação anterior de que "o Pixel já injeta automaticamente e o front não envia" estava errada.
Por que first_deposit E purchase?
Paridade legado. Os dois disparam Purchase no Pixel (evento Meta canônico). Permite separar audiences "compraram pela primeira vez" vs "compraram em geral" no Meta Ads Manager pela origem do evento.
Eventos NÃO enviados
Estes não disparam pro Meta Pixel (slot meta_pixel: null na matriz):
loginview_game_page— não há equivalente Meta nativo (ViewContentpoderia ser adicionado)withdraw— Meta não tem evento padrão de saqueview_promotion/select_promotion— desabilitado intencionalmente (paridade legado)
A matriz completa por evento está em Catálogo de eventos.
Se marketing precisar adicionar, é mudança coordenada (back precisa aceitar evento custom no Meta Events Manager).
Conversions API (CAPI) — Roadmap
Status atual: NÃO implementado.
O que CAPI traz que o Pixel client-side não traz:
| Cenário | Pixel client | CAPI |
|---|---|---|
| iOS 14+ ATT prompt | Pode bloquear | Funciona |
| User com ad blocker | Bloqueado | Funciona |
| Browser com ITP estrito (Safari) | Pode bloquear | Funciona |
| Cookie de terceiro bloqueado | Pixel sem matching | CAPI usa external_id first-party |
| Server-side conversion (compra confirmada no banco) | Não funciona | Funciona perfeitamente |
Por que CAPI ainda não está implementada?
A integração CAPI exige trabalho coordenado de BFF + front. O front já tem o external_id pronto (cookie de remarketing da brand — rmk7k na 7k, ver Remarketing) — falta:
- BFF aceitar
external_idno payload de signup/deposit - BFF chamar Meta CAPI após confirmar conversão (server-side, com hashed email/phone +
external_id) - Configurar Dataset ID + Access Token no Meta Business Manager
- Validar deduplicação (mesmo evento dispara via Pixel client + CAPI server; Meta dedup por
event_idouexternal_id)
Quando o time de back priorizar, o front habilita sendToBff: true no remarketingFeaturesConfig da brand correspondente (ver Remarketing).
Como debuggar
Meta Pixel Helper (Chrome extension)
Pixel Helper mostra todos os eventos disparados na página com payload completo e pixel ID.
- Abre a página
- Clica no ícone do Pixel Helper
- Vê os eventos disparados ao vivo
Events Manager → Test Events
Meta Business → Events Manager → Test Events → cola o ID do test event no ?test_event_code=TEST... da URL ou setа no Pixel.
Eventos enviados aparecem em real-time com payload completo + status de match.
Cookies Meta
DevTools → Application → Cookies:
_fbp— browser ID gerado pelo Pixel (90 dias TTL)_fbc— click ID (vem defbclidna URL — 7 dias após primeiro clique)
Anti-patterns
- Adicionar Pixel novo via GTM tag quando
useAnalyticsjá carrega. Duplica eventos. - Esquecer
facebookDomainVerification. Reduz match rate em iOS 14+. - Montar trigger em
CompleteRegistration. O front disparaLeadno signup — o trigger nunca vai disparar, sem erro visível. - Disparar
Purchaseantes de confirmação BFF (emdeposit_initiatedao invés depix_confirmado). Infla conversão com depósitos abandonados.deposit_initiatedjá tem o seu evento próprio: o customPixGenerated. - Mudar
pixelIdem produção sem reset de audiência. Audiences velhas ficam órfãs; reativar com pixel novo perde histórico de matching.