Resposta rápida: o erro de deduplicação CAPI event_id acontece quando o Meta Pixel e a Conversions API enviam o mesmo evento, mas a Meta não consegue reconhecer que é a mesma ação. Para corrigir, envie o mesmo event_name e o mesmo event_id no evento do navegador e no evento do servidor, valide no Gerenciador de Eventos e confirme se o evento não está sendo contado duas vezes.
Esse problema aparece muito quando a pessoa instala Pixel e CAPI ao mesmo tempo, mas trata os dois como rastreamentos separados. O resultado pode ser evento duplicado, diagnóstico ruim no Gerenciador de Eventos, compra inflada ou uma leitura confusa da campanha.
Se você ainda está montando a base, comece pelo guia de como configurar Meta Pixel e CAPI. Se o problema é que o Pixel nem aparece, veja antes o guia Meta Pixel não dispara.
- Regra central: mesmo evento duplicado precisa ter o mesmo
event_namee o mesmoevent_id. - Erro comum: Pixel envia
Purchasecom um ID e CAPI enviaPurchasecom outro ID. - Hotmart: clique no checkout não é compra. Use
Purchaseapenas quando a venda for aprovada. - Teste: valide em Test Events e Diagnostics no Gerenciador de Eventos da Meta.
O que é deduplicação na CAPI?
Deduplicação é o mecanismo usado pela Meta para identificar quando dois eventos representam a mesma ação.
Exemplo:
- O usuário clica em um botão de compra.
- O Pixel envia
InitiateCheckoutpelo navegador. - O servidor também envia
InitiateCheckoutpela CAPI. - A Meta compara os eventos.
- Se
event_nameeevent_idbatem, a Meta entende que é um evento duplicado e conta uma vez.
Sem deduplicação correta, você pode acabar com dois problemas:
- contar a mesma ação duas vezes;
- ou perder qualidade de sinal porque a Meta não consegue reconciliar navegador e servidor.
O que é event_id?
event_id é um identificador único de um evento.
Ele não é o Pixel ID. Também não é o ID da campanha, do anúncio, do usuário ou da compra sozinho.
Pense nele como uma etiqueta da ação.
Se o mesmo Purchase é enviado pelo Pixel e pela CAPI, os dois envios precisam carregar o mesmo event_id.
Exemplo:
“text event_name: Purchase event_id: purchase_123456 “
O evento do navegador e o evento do servidor devem carregar essa mesma combinação quando representam a mesma compra.
Como a Meta deduplica Pixel e CAPI
Para eventos web enviados pelo Pixel e pela Conversions API, a deduplicação depende principalmente de:
- mesmo
event_name; - mesmo
event_id; - eventos enviados em uma janela de tempo compatível;
- evento realmente representar a mesma ação.
Leitura rápida: se o nome do evento ou o ID mudam entre navegador e servidor, a deduplicação tende a falhar.
| Pixel | CAPI | Resultado provável |
|---|---|---|
Purchase + abc123 |
Purchase + abc123 |
Deduplicação correta |
Purchase + abc123 |
Purchase + xyz999 |
Pode duplicar |
InitiateCheckout + abc123 |
Purchase + abc123 |
São eventos diferentes |
Lead sem event_id |
Lead com event_id |
Deduplicação fraca ou ausente |
Como corrigir erro de deduplicação CAPI event_id
1. Escolha onde o evento nasce
Primeiro defina qual ação gera o evento.
Exemplos:
- clique no botão de compra;
- envio de formulário;
- lead capturado;
- compra aprovada;
- assinatura confirmada.
Não misture ação de intenção com ação final. Clique no botão não é compra aprovada.
2. Gere um ID único para a ação
Quando a ação acontece, gere um identificador único.
Exemplos conceituais:
“text checkout_20260625_abc123 lead_78910 purchase_hotmart_123456 “
O formato exato pode variar. O importante é que o ID seja estável para aquela ação e reutilizado nos dois envios quando houver Pixel + CAPI.
3. Envie o mesmo event_id no Pixel
No navegador, o evento precisa carregar o ID.
Exemplo conceitual:
“javascript fbq('track', 'InitiateCheckout', {}, { eventID: 'checkout_abc123' }); “
Dependendo da implementação, o nome do campo pode variar no código ou ferramenta, mas a lógica é a mesma: o evento do navegador precisa ter o ID.
4. Envie o mesmo event_id na CAPI
No servidor, envie o mesmo ID no payload do evento.
Exemplo conceitual:
“json { "event_name": "InitiateCheckout", "event_id": "checkout_abc123" } “
Se o servidor gerar outro ID aleatório, a Meta não tem como saber que é o mesmo evento enviado pelo navegador.
5. Valide no Gerenciador de Eventos
Depois de implementar:
- Abra o Gerenciador de Eventos.
- Use Test Events.
- Dispare a ação real no site.
- Confira evento de navegador e servidor.
- Veja se há alerta de deduplicação.
- Confira Diagnostics depois de algum tempo.
O teste precisa simular o fluxo real. Testar só PageView não valida deduplicação de Purchase.
Exemplo prático: checkout de infoproduto
Imagine um funil com landing page e Hotmart.
| Ação | Evento | Origem | Deduplicação |
|---|---|---|---|
| Visita na landing page | PageView |
Pixel | Normalmente não precisa duplicar no servidor |
| Clique no botão de compra | InitiateCheckout |
Pixel, servidor ou ambos | Se enviar pelos dois, usar mesmo event_id |
| Compra aprovada | Purchase |
CAPI/webhook | Pode ser só servidor |
| Página de obrigado | PageView ou evento auxiliar |
Pixel | Não substituir webhook de compra |
Para Hotmart, o evento Purchase mais confiável costuma vir de compra aprovada via webhook, integração, backend ou automação. Se você dispara Purchase no clique do botão, está medindo intenção, não venda.
Erros comuns
Pixel e CAPI geram IDs diferentes
Esse é o erro clássico.
O navegador gera:
“text event_id: abc123 “
O servidor gera:
“text event_id: xyz999 “
Mesmo que os dois eventos sejam Purchase, a Meta pode não deduplicar.
O evento muda de nome
Outro erro comum:
“text Pixel: InitiateCheckout CAPI: Purchase “
Esses eventos não deveriam ser deduplicados, porque representam etapas diferentes.
O servidor envia Purchase sem relação com o clique
Se a compra vem de checkout externo, o servidor precisa receber algum dado que ajude a ligar a compra à sessão/anúncio.
Dependendo da arquitetura, isso pode incluir:
fbp;fbc;src;sck;- UTM;
- ID de sessão;
- email ou telefone com hashing;
- ID do pedido.
Testar só pelo Ads Manager
O Ads Manager não é ferramenta de debug técnico. Use Test Events, Diagnostics, logs do servidor e o Pixel Helper.
Checklist de correção
- [ ] O evento duplicado tem o mesmo
event_nameno Pixel e na CAPI. - [ ] O evento duplicado tem o mesmo
event_idno Pixel e na CAPI. - [ ] O
event_idnão muda entre clique, checkout e servidor quando representa a mesma ação. - [ ]
Purchaserepresenta compra aprovada, não clique. - [ ] CAPI não está enviando eventos genéricos com ID aleatório.
- [ ] Pixel não está disparando o mesmo evento mais de uma vez na página.
- [ ] GTM não tem tags duplicadas para o mesmo evento.
- [ ] Test Events mostra navegador e servidor.
- [ ] Diagnostics não aponta falha de deduplicação.
Como testar se corrigiu
Faça um teste controlado:
- Abra Test Events no Gerenciador de Eventos.
- Abra a landing page pela ferramenta da Meta.
- Dispare o evento que você quer validar.
- Veja se o evento aparece como navegador, servidor ou ambos.
- Confira se o nome do evento bate.
- Confira se o ID bate.
- Se for compra, faça teste real/sandbox quando possível.
- Aguarde Diagnostics atualizar.
Se você não tem acesso ao payload do servidor, peça para quem implementou mostrar os campos event_name e event_id enviados para a CAPI.
Perguntas frequentes
O que causa erro de deduplicação na CAPI?
Normalmente o erro acontece quando Pixel e CAPI enviam o mesmo evento sem o mesmo event_id, com nomes de evento diferentes ou com eventos que não representam exatamente a mesma ação.
event_id é obrigatório?
Para deduplicar corretamente eventos iguais enviados pelo navegador e servidor, o event_id é essencial. Sem ele, a Meta tem menos capacidade de reconhecer que dois sinais representam a mesma ação.
Posso usar o ID do pedido como event_id?
Pode fazer sentido para Purchase, desde que o mesmo ID seja usado no evento correspondente e não exponha dado sensível. Para eventos anteriores, como InitiateCheckout, talvez seja melhor gerar um ID de checkout ou sessão.
O mesmo event_id pode ser usado em eventos diferentes?
Evite. O ideal é que o event_id identifique uma ação específica. Se InitiateCheckout e Purchase usam o mesmo ID, isso pode confundir sua análise, mesmo que a Meta trate nomes de evento diferentes como eventos diferentes.
Como corrigir deduplicação em Hotmart?
Preserve identificadores no clique para checkout, envie compra aprovada pelo webhook/servidor e garanta que o evento enviado pela CAPI represente a compra real. Não use clique no botão como Purchase.
GTM resolve deduplicação CAPI?
GTM web ajuda a controlar eventos do navegador. A deduplicação CAPI exige que o evento do servidor receba o mesmo event_id. Se o GTM gera um ID, esse ID precisa chegar ao servidor.
Como saber se a deduplicação está funcionando?
Use Test Events e Diagnostics no Gerenciador de Eventos. Confira se os eventos de navegador e servidor chegam com o mesmo nome e ID, e se a Meta não mostra alerta de duplicação ou baixa qualidade do evento.
