Pixel da Meta e API de Conversões: como instalar, conferir e parar de perder lead
O Gerenciador de Anúncios mostra 80 leads no mês. O CRM recebeu 52. O time de mídia diz que o Meta está entregando, o comercial diz que o lead não chega, e ninguém consegue dizer qual dos dois números é o verdadeiro. Na maior parte das vezes, os dois estão certos sobre coisas diferentes: um conta evento, o outro conta pessoa. Este guia cobre o que é o Pixel da Meta, os eventos padrão e personalizados, os parâmetros, a API de Conversões e a desduplicação por event_id, a qualidade da correspondência de eventos, o Gerenciador de Eventos e o teste de eventos, o que mudou na Mensuração de Eventos Agregados, o retorno do CRM para a Meta, a escolha entre formulário instantâneo e formulário do site, o consentimento e os sintomas que mais aparecem em auditoria.
event_id e o mesmo nome de evento, para que ela descarte a duplicata em até 48 horas. Para lead B2B, o evento que importa é o Lead disparado no envio bem-sucedido do formulário, com e-mail e telefone para correspondência, e o estágio do CRM devolvido à Meta depois. O que é o Pixel da Meta e o que é a API de Conversões
Os dois fazem a mesma coisa por caminhos diferentes: contam à Meta o que aconteceu depois que alguém viu ou clicou num anúncio. É com esse sinal que a Meta atribui resultado à campanha e aprende em quem gastar.
Pixel da Meta: o caminho do navegador
O pixel é um trecho de JavaScript que roda no navegador do visitante. Ele carrega com a página, registra um PageView e, quando você manda, registra outros eventos com o comando fbq('track', ...).[2] É rápido de instalar, mas depende do navegador: bloqueador de anúncio, navegador restritivo, erro de carregamento e página que troca antes do disparo fazem o evento sumir. A Meta cita justamente a perda por problema de conexão e erro de carregamento de página como motivo para somar a API de Conversões.[3]
API de Conversões: o caminho do servidor
A API de Conversões (Conversions API, ou CAPI) envia o evento a partir do seu servidor, do servidor de tags ou de uma integração de parceiro, direto para a Meta. Ela não depende de o script carregar no navegador, e aceita eventos que não acontecem no site: ligação, conversa, loja física, e o estágio do lead no CRM. Cada evento leva um action_source, que diz onde ele aconteceu: website, email, app, phone_call, chat, physical_store, system_generated, business_messaging ou other.[5] Quem quer entender quando vale subir um servidor de tags próprio encontra o assunto em Rastreamento server-side.
Eventos padrão, personalizados e conversões personalizadas
A Meta tem 17 eventos padrão, com nome fixo. Os que mais importam para quem vende serviço ou produto B2B:[1]
- Lead: envio de cadastro, o formulário de contato ou de orçamento. É o evento de otimização da maioria das campanhas de geração de lead.
- CompleteRegistration: cadastro concluído, como criação de conta numa plataforma ou inscrição em evento.
- Contact: a pessoa inicia contato por telefone, SMS, e-mail ou chat, como o clique no botão de WhatsApp.
- Schedule: agendamento de visita ou reunião.
- SubmitApplication, StartTrial e Subscribe: candidatura, início de teste e assinatura paga.
- Purchase: compra concluída. É o único com parâmetros obrigatórios,
currencyevalue.[1]
Os demais (ViewContent, Search, AddToCart, InitiateCheckout, AddPaymentInfo e outros) servem mais ao comércio eletrônico. Quando nenhum evento padrão descreve a ação, você cria um evento personalizado com fbq('trackCustom', ...), com nome de até 50 caracteres.[2] E a conversão personalizada é uma regra montada no Gerenciador de Eventos em cima de eventos que já chegam (por exemplo, “Lead cuja URL contém /orcamento”), com limite de 100 por conta de anúncios.[2] A regra prática: use evento padrão sempre que houver um que sirva, porque é ele que a Meta reconhece como objetivo de otimização sem configuração extra.
Parâmetros: o que vai junto com o evento
Cada evento pode levar dois tipos de informação. Os parâmetros do evento descrevem a ação: value, currency, content_name, content_category, além de propriedades personalizadas.[2] Em lead, vale mandar um value estimado e o nome do formulário ou do serviço de interesse. Os parâmetros de informação do cliente dizem quem fez: e-mail (em), telefone (ph), nome, cidade, external_id, o identificador de clique fbc e o identificador do navegador fbp. Os dados de contato vão com hash SHA-256 depois de normalizados (e-mail em minúsculas e sem espaço; telefone só com dígitos e com código do país, 55 no Brasil). IP, user agent, fbc e fbp vão sem hash.[6] Na API de Conversões, normalizar e fazer o hash é trabalho seu.
Desduplicação: por que os dois caminhos não contam em dobro
Se o pixel e a API mandam o mesmo lead, a Meta precisa saber que é um só. O método recomendado é mandar, nos dois caminhos, o mesmo nome de evento (event no pixel, event_name na API) e o mesmo identificador (eventID no pixel, event_id na API). A Meta desduplica eventos recebidos em até 48 horas do primeiro, e fica com o que chegou antes.[4] Existe um método alternativo, por fbp ou external_id, que só funciona quando o evento do navegador chega primeiro.[4] Na prática: gere um ID único no envio do formulário (o ID do lead serve), coloque-o no pixel e repasse o mesmo valor ao servidor.
Qualidade da correspondência de eventos (EMQ)
A qualidade da correspondência de eventos (Event Match Quality, EMQ) é uma nota de 0 a 10 que a Meta dá a cada evento do servidor com action_source igual a site. Ela mede quanto das informações do cliente permite ligar o evento a uma conta da Meta, calculada sobre as últimas 48 horas.[8] A própria Meta lista a prioridade de cada dado: e-mail e identificador de clique têm prioridade alta; telefone, external_id, identificador do navegador, país e data de nascimento, média; nome, sobrenome, cidade e CEP, baixa.[8] Evento sem correspondência até chega, mas não ajuda a atribuir nem a otimizar.
O que mudou na Mensuração de Eventos Agregados
Muito guia ainda manda “priorizar os 8 eventos do domínio”. Isso acabou para eventos do site. A Meta informa que não é mais preciso priorizar oito eventos de conversão por domínio, que a aba Mensuração de Eventos Agregados saiu do Gerenciador de Eventos, que não é preciso escolher domínio de conversão ao criar a campanha e que a verificação de domínio deixou de ser exigida para configurar eventos.[9] O protocolo continua existindo por trás, para eventos de quem usa iOS 14 ou posterior, e eventos da API de Conversões também podem ser processados dentro desses limites.[9]
A verificação de domínio não morreu: a Meta avisa que ela ainda pode ser necessária por outros motivos, fora da configuração de eventos.[9] Faça, mas não porque o evento depende dela.
Como conferir se o que a Meta conta é o que o CRM recebe
A Meta conta evento atribuído a anúncio. O CRM conta pessoa que virou negócio. Os dois números nunca vão bater exatamente, e nem deveriam: a própria Meta explica que o Gerenciador de Eventos mostra a maioria dos eventos recebidos, enquanto o Gerenciador de Anúncios mostra só os eventos atribuídos à veiculação.[13] O que você precisa saber é se a distância é estável e explicável.
Taxa de desduplicação = eventos Lead recebidos (pixel + API) / eventos Lead após desduplicação
| Taxa de conciliação (exemplo) | Leitura provável | Primeira coisa a olhar |
|---|---|---|
| Acima de 100% (CRM tem mais que a Meta) | A Meta está perdendo evento | Pixel bloqueado, evento que não dispara em parte dos formulários, API de Conversões ausente |
| Entre 70% e 100% | Faixa comum de medição saudável | Diferença de atribuição (visualização, engajamento) e lead de teste |
| Abaixo de 70% | A Meta está contando a mais, ou o lead se perde no caminho | Duplicidade, disparo por carregamento de página, integração do formulário com o CRM falhando |
| Oscila muito de um mês para outro | Algo mudou na medição, não na campanha | Mudança no site, no formulário, no container de tags ou na configuração de atribuição |
Duas diferenças são de régua, não de erro. A primeira é a configuração de atribuição: no modelo padrão, a Meta pode creditar ao anúncio eventos que acontecem até 1 ou 7 dias depois do clique no link, até 1 dia depois da visualização e até 1 dia depois de um engajamento sem clique no link.[14] Lead que veio por visualização aparece na Meta, mas o CRM registra como orgânico ou direto. A segunda é o formulário instantâneo: o lead fica na Meta e só aparece no CRM se houver integração. Sem ela, os dados ficam disponíveis para download por até 90 dias a partir do envio; depois disso, somem da exportação.[12]
Limites e padrões oficiais da Meta
Não existe benchmark público confiável de “nota de EMQ boa” ou de “taxa de conciliação ideal”. O que existe, com fonte primária, são os limites da plataforma, e é neles que a configuração quebra.
| Item | Valor oficial | Fonte |
|---|---|---|
| Eventos padrão do pixel | 17, com nome fixo; Purchase exige currency e value | Meta for Developers[1] |
| Nome de evento personalizado | até 50 caracteres | Meta for Developers[2] |
| Conversões personalizadas | até 100 por conta de anúncios | Meta for Developers[2] |
| Janela de desduplicação pixel × API | 48 horas a partir do primeiro evento recebido | Meta for Developers[4] |
event_time na API de Conversões | até 7 dias antes do envio; fora disso, a requisição inteira é recusada | Meta for Developers[5] |
event_source_url | obrigatório para evento de site enviado pela API | Meta for Developers[5] |
| Eventos por requisição | até 1.000; um evento inválido faz o lote inteiro ser recusado | Meta for Developers[7] |
| Envio recomendado para campanha de lead | em até 1 hora; máximo de 7 dias | Central de Ajuda da Meta[10] |
| Evento offline | recomendado em até 24 horas para públicos e em até 7 dias para atribuição; máximo de 62 dias | Central de Ajuda da Meta[10] |
| Qualidade da correspondência de eventos | nota de 0 a 10, calculada sobre as últimas 48 horas | Central de Ajuda da Meta[8] |
| Priorização de 8 eventos por domínio | não é mais necessária para eventos do site | Central de Ajuda da Meta[9] |
| Retorno do CRM (meta de desempenho de leads de conversão) | ID do lead da Meta de 15 a 17 dígitos no CRM; pelo menos 200 leads por mês; envio ao menos diário; estágio que acontece em até 28 dias e converte entre 1% e 40% | Meta for Developers[11] |
| Download de leads do formulário instantâneo | até 90 dias após o envio | Central de Ajuda da Meta[12] |
| Configurações de atribuição (modelo padrão) | clique: 1 ou 7 dias; visualização: 1 dia; engajamento: 1 dia | Central de Ajuda da Meta[14] |
Como implementar na prática
Onde os números costumam estar
Quem precisa entrar
event_id, monta a API de Conversões e liga o consentimento.
fbclid, fbc, e-mail e ID do lead chegam ao CRM e monta o retorno dos estágios.
- 1 Crie ou encontre o conjunto de dados no Gerenciador de Eventos e confirme que só existe um pixel ativo por site. Pixel duplicado é comum em site que já trocou de agência.
- 2 Instale o código base em todas as páginas, pelo container de tags ou pela integração nativa da plataforma do site, depois do banner de consentimento.
-
3
Dispare o evento Lead no envio bem-sucedido do formulário, não no carregamento da página de obrigado, e mande
valueestimado e o nome do formulário. -
4
Gere um
event_idúnico por envio e use o mesmo valor no pixel e na API de Conversões. -
5
Monte a API de Conversões por integração de parceiro, Conversions API Gateway, servidor de tags ou código próprio, com e-mail e telefone normalizados e com hash,
fbc,fbp, IP e user agent. -
6
Teste no Teste de eventos do Gerenciador de Eventos com o
test_event_code, confira que o evento aparece pelos dois caminhos e que um deles foi desduplicado. Remova o código de teste antes de ir para produção. -
7
Grave no CRM o
fbclidda URL e o ID do lead, no caso do formulário instantâneo, para poder devolver o estágio depois. - 8 Devolva os estágios do CRM pela API de Conversões, pelo menos uma vez por dia, começando pelo lead qualificado.
- 9 Concilie todo mês: Leads atribuídos na Meta × leads com origem Meta no CRM. Anote a data de toda mudança de site, de formulário e de atribuição.
Sobre o teste: eventos enviados com test_event_code não são descartados. Eles entram no Gerenciador de Eventos e são usados para segmentação e mensuração.[7] Teste com volume pequeno e remova o código antes de liberar.
Formulário instantâneo ou formulário do site
O formulário instantâneo (Lead Ads) abre dentro do Facebook ou do Instagram, já preenchido com os dados da conta. Converte mais porque tem menos atrito, e por isso também traz mais gente que preencheu sem ler. O lead nasce com um ID da Meta, que é o que permite o retorno do CRM: a meta de desempenho de leads de conversão, que otimiza para o lead que avança no funil, hoje só funciona com formulário instantâneo.[11] O formulário do site tem mais atrito e mais controle: você decide os campos, a qualificação e a página, e o lead passa pelo seu site, o que dá UTM, fbclid e evento para o GA4. Nenhum dos dois é melhor em absoluto. O que decide é se o comercial dá conta de filtrar volume ou precisa de lead já qualificado. Para a página que recebe o clique, veja Landing page.
Consentimento e LGPD
O pixel tem um comando de consentimento: fbq('consent', 'revoke') antes do init pausa os envios, e fbq('consent', 'grant') libera quando a pessoa aceita; o revoke precisa ser chamado em todas as páginas.[15] A Meta também lembra que os seus termos exigem que o anunciante tenha direito legal de coletar e compartilhar os dados, e que envie as informações de contato com hash.[8] No Brasil, a base é a LGPD: dado pessoal só se trata com base legal, e e-mail e telefone são dado pessoal.[16] A API de Conversões não é atalho para mandar dado de quem recusou o banner. O servidor precisa respeitar a mesma escolha que o navegador respeita.
Armadilhas comuns
Os erros que mais encontro auditando o pixel e a API de Conversões de empresas que geram lead.
“Pixel sem atividade” no Gerenciador de Eventos
O aviso aparece e o time jura que o código está no site. As causas que mais encontro: o pixel foi instalado num container de tags que não está publicado; o ID no site é de outro conjunto de dados, criado por uma agência antiga; o banner de consentimento bloqueia o pixel e ninguém testou aceitando; uma atualização do tema ou do construtor de páginas apagou o código do cabeçalho; ou o pixel está no site certo, mas o conjunto de dados não foi atribuído à conta de anúncios. Confira nesta ordem: abra o site, aceite o banner, veja no Teste de eventos se o PageView chega e compare o ID com o do Gerenciador de Eventos.
Lead disparado no carregamento da página de obrigado
É a configuração mais comum e a que mais infla. A página de obrigado recarrega, é reaberta pelo histórico, recebe visita de quem guardou o link. Cada carregamento vira um Lead. O sintoma é a Meta com bem mais leads que o CRM, sem padrão por campanha. Troque pelo disparo no envio bem-sucedido do formulário, com event_id. A mesma armadilha do lado do Analytics está em Erros comuns no GA4, e como nomear e disparar o evento de envio, em Event tracking.
Evento duplicado: pixel e API sem o mesmo ID
O time liga a API de Conversões pela integração da plataforma do site e mantém o pixel manual no container. Os dois mandam Lead, cada um com um ID diferente, ou sem ID. A Meta conta dois. O relatório melhora de um dia para o outro, o custo por lead cai, alguém comemora, e o CRM não acompanha. A desduplicação só acontece com o mesmo nome de evento e o mesmo event_id dentro de 48 horas.[4] Um detalhe que pega muita gente: Lead e lead são nomes diferentes.
Meta mostra mais lead que o CRM, e ninguém sabe por quê
Quando a distância não é duplicidade, costuma ser uma de três coisas. Atribuição por visualização ou engajamento, que credita à Meta um lead que o CRM registra com outra origem.[14] Formulário instantâneo sem integração com o CRM, em que o lead existe na Meta e nunca foi baixado. Ou integração do formulário do site com o CRM que falha em silêncio: o evento dispara no navegador, mas o lead não é gravado. Separe as três antes de concluir qualquer coisa sobre a campanha. Por que cada plataforma conta diferente está em Atribuição.
API de Conversões sem dado do cliente
A API foi montada, os eventos chegam, e a qualidade da correspondência é baixa. Ao abrir o evento, ele só tem IP e user agent. Sem e-mail, telefone e fbc, a Meta não liga o evento a uma pessoa, e o sinal serve pouco para otimizar.[8] O outro lado do mesmo erro é mandar e-mail sem normalizar (com maiúscula ou espaço) antes do hash: o hash muda e a correspondência não acontece.[6]
Clique no WhatsApp como evento de otimização
O botão de WhatsApp dispara Contact, e alguém escolhe esse evento para otimizar porque tem mais volume. Clique em botão não é conversa, e conversa não é lead qualificado. A campanha aprende a trazer quem clica em botão verde. Deixe o clique como leitura e meça a conversa real, com origem, no CRM. O caminho para medir conversa de WhatsApp com origem está em WhatsApp com rastreio.
Otimizar para lead e nunca devolver o que o comercial descobriu
A campanha otimiza para Lead, e todo Lead vale o mesmo para a Meta: o estudante, o fornecedor e o diretor que vai comprar. Sem o estágio do CRM voltando, a plataforma nunca aprende a diferença. O retorno do CRM pede volume (a Meta fala em pelo menos 200 leads por mês) e um estágio que aconteça em até 28 dias.[11] Se o ciclo é mais longo, devolva o estágio mais cedo que já separa lead bom de lead ruim. O passo a passo de levar o estágio do CRM de volta às plataformas está em Integração de CRM e Ads.
Consentimento que bloqueia tudo, ou nada
Dois extremos. No primeiro, o banner bloqueia o pixel e ninguém liga o grant depois do aceite: o número cai e parece problema de campanha. No segundo, o pixel dispara antes do banner e a API de Conversões manda tudo pelo servidor, ignorando a recusa. Teste os dois estados, aceito e recusado, e confira no Teste de eventos o que chega em cada um.
Checklist de implementação
FAQ
Perguntas frequentes sobre o Pixel da Meta e a API de Conversões
As dúvidas que mais aparecem de quem gera lead com anúncio na Meta.
event_id evita contar em dobro. eventID no pixel, event_id na API). A Meta desduplica eventos recebidos em até 48 horas do primeiro e fica com o que chegou antes. fbq('consent', 'revoke') e fbq('consent', 'grant') para respeitar o banner, e a API de Conversões precisa seguir a mesma escolha. Ver no mesmo lugar o que a Meta contou e o que o comercial recebeu
A medição certa hoje pode quebrar amanhã com uma atualização do site ou do formulário. O Incuca Intelligence junta a mídia paga e o CRM e mostra quando a distância entre os dois muda, antes de alguém tomar decisão em cima de número errado. Se o pixel, a API de Conversões ou o retorno do CRM ainda não existem, o time da Incuca monta.
Referências
- [1] Meta for Developers. Meta Pixel: Reference (eventos padrão e parâmetros obrigatórios). https://developers.facebook.com/docs/meta-pixel/reference
- [2] Meta for Developers. Meta Pixel: Conversion Tracking (eventos padrão e personalizados, nome de até 50 caracteres, limite de 100 conversões personalizadas). https://developers.facebook.com/docs/meta-pixel/implementation/conversion-tracking
- [3] Meta for Developers. Conversions API: Best Practices (uso conjunto com o pixel e parâmetros recomendados). https://developers.facebook.com/docs/marketing-api/conversions-api/best-practices
- [4] Meta for Developers. Handling Duplicate Pixel and Conversions API Events (janela de 48 horas). https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events
- [5] Meta for Developers. Conversions API: Server Event Parameters (<code>event_time</code> de até 7 dias, <code>action_source</code>, <code>event_source_url</code>, <code>event_id</code>). https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event
- [6] Meta for Developers. Conversions API: Customer Information Parameters (normalização, SHA-256 e campos sem hash). https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters
- [7] Meta for Developers. Conversions API: Using the API (<code>test_event_code</code> e limite de 1.000 eventos por requisição). https://developers.facebook.com/docs/marketing-api/conversions-api/using-the-api
- [8] Central de Ajuda da Meta para Empresas. Sobre a qualidade da correspondência de eventos. https://www.facebook.com/business/help/765081237991954
- [9] Central de Ajuda da Meta para Empresas. Sobre a Mensuração de Eventos Agregados da Meta (fim da priorização de oito eventos para o site). https://www.facebook.com/business/help/721422165168355
- [10] Central de Ajuda da Meta para Empresas. Período de postergamento recomendado e máximo para eventos na web, do app e offline. https://www.facebook.com/business/help/801591810609156
- [11] Meta for Developers. Conversions API for CRM Integration (ID do lead, volume mínimo, frequência e janela de 28 dias). https://developers.facebook.com/documentation/ads-commerce/conversions-api/conversion-leads-integration
- [12] Central de Ajuda da Meta para Empresas. Sobre os cadastros expirados (download por até 90 dias). https://www.facebook.com/business/help/1526849577619206
- [13] Central de Ajuda da Meta para Empresas. Diferenças entre contagens de eventos no Gerenciador de Anúncios, no Relatório de Anúncios e no Gerenciador de Eventos. https://www.facebook.com/business/help/337196340694086
- [14] Central de Ajuda da Meta para Empresas. Sobre modelos de atribuição e configurações de atribuição. https://www.facebook.com/business/help/460276478298895
- [15] Meta for Developers. Meta Pixel: General Data Protection Regulation (comandos de consentimento). https://developers.facebook.com/docs/meta-pixel/implementation/gdpr
- [16] Brasil. Lei nº 13.709, de 14 de agosto de 2018 (Lei Geral de Proteção de Dados Pessoais). https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm