Deduplicação de eventos no Pixel e CAPI: guia prático
Quem roda Pixel e CAPI juntos — a configuração recomendada pela própria Meta — esbarra cedo ou tarde numa dúvida: por que o número de conversões da campanha parece maior do que deveria? Na maioria dos casos, a resposta é deduplicação malfeita: o mesmo evento chegando por dois canais e sendo contado duas vezes. Este guia mostra o mecanismo por trás disso, como implementar o event_id compartilhado corretamente e como validar que está funcionando.
Se você ainda não sabe o que é CAPI ou por que ele passou a ser necessário num funil de Telegram, vale ler primeiro o guia educacional de API de Conversões — este artigo assume esse contexto e foca só no mecanismo de deduplicação. A definição rápida de deduplicação de eventos também está no glossário, caso só precise do resumo.
Por que Pixel e CAPI duplicam o mesmo evento
Pixel e CAPI não sabem, por padrão, que estão reportando a mesma coisa. O Pixel dispara no navegador quando o script carrega numa página; o CAPI dispara pelo servidor quando o backend identifica que o evento aconteceu. Se os dois estão configurados pra reportar o mesmo evento — por exemplo, o Lead de um formulário enviado ou o Purchase de um checkout — cada um manda sua própria chamada ao Meta, sem nenhuma relação entre elas por padrão.
Do ponto de vista do Meta, duas chamadas sem identificador em comum são dois eventos distintos. O resultado é uma conversão real virando duas linhas no relatório da campanha — inflando o número reportado sem que exista qualquer ganho de verdade por trás.
Como o event_id resolve isso
O mecanismo de deduplicação da Meta funciona em cima de um campo específico: o event_id. Quando o mesmo event_id é anexado tanto à chamada do Pixel quanto à chamada do CAPI, o Meta reconhece que as duas chamadas descrevem o mesmo evento visto por dois canais diferentes — e conta só uma vez no relatório.
Pra isso funcionar, três condições precisam ser verdadeiras ao mesmo tempo:
- O
event_idprecisa ser idêntico nas duas chamadas (não parecido, idêntico). - O
event_nametambém precisa bater entre as duas chamadas — umevent_idcompartilhado entre um eventoLeade um eventoPurchasenão deduplica, mesmo que o identificador seja o mesmo. - As duas chamadas precisam chegar dentro da janela de deduplicação que a Meta aplica — não é instantâneo, mas também não é ilimitado no tempo.
Sem qualquer uma dessas três condições, o Meta trata as duas chamadas como eventos separados, e a duplicação volta a acontecer mesmo com um event_id presente nos dois lados.
Passo a passo: implementando a deduplicação corretamente
- Gerar o
event_idno primeiro disparo. Normalmente isso acontece no Pixel, na página onde a ação acontece — um identificador único é criado no momento em que o script dispara (um UUID, por exemplo). - Repassar esse mesmo
event_idaté onde o CAPI é disparado. Na prática, o identificador viaja junto com a própria ação — no envio do formulário, no pedido gravado pelo checkout — pra estar disponível quando o servidor montar a chamada de CAPI daquele mesmo evento. - Usar o mesmo
event_namenos dois disparos. Se o Pixel manda um cadastro comoLeade o servidor manda o mesmo cadastro comoCompleteRegistration, os dois eventos nunca vão deduplicar — ainda que compartilhem o mesmoevent_id. - Montar a chamada de CAPI incluindo o
event_idrecebido, sem gerar um novo — o erro mais comum aqui é o backend criar seu próprio identificador em vez de reaproveitar o que veio da página. - Validar no Gerenciador de Eventos antes de considerar o fluxo pronto (ver seção seguinte).
Como validar se a deduplicação está funcionando
O Gerenciador de Eventos do Meta Ads, na aba Eventos de Teste, mostra em tempo real cada evento recebido — de qual fonte veio (Pixel ou CAPI) e se ele foi reconhecido como duplicado de outro. Um evento corretamente deduplicado aparece com as duas fontes agrupadas sob o mesmo evento; um evento mal configurado aparece como duas linhas separadas, cada uma com sua própria fonte.
Antes de rodar verba de verdade com uma configuração nova, vale disparar um evento de teste (uma conversão real num ambiente controlado, como um cadastro ou uma compra de teste) e confirmar visualmente que Pixel e CAPI aparecem agrupados como um único evento, não dois.
Erros comuns que quebram a deduplicação
- Gerar um
event_idnovo em cada lado: o erro mais frequente. O backend monta sua própria chamada de CAPI com um identificador próprio, em vez de reaproveitar oevent_idque a página gerou — sem saber disso, os dois eventos nunca se encontram. event_namediferente entre Pixel e CAPI: mesmo comevent_ididêntico, nomes de evento diferentes impedem a deduplicação.- Perder o
event_idno caminho até a chamada de CAPI: se o identificador não é enviado junto com a ação na página (ou é truncado, ou mal formatado), não há como recuperá-lo na hora de montar a chamada do servidor. - Achar que a deduplicação é automática numa implementação própria: rodar Pixel e CAPI montados por você, sem esse compartilhamento de
event_id, não deduplica nada — só dobra o volume de chamadas. - Não testar antes de escalar verba: um problema de deduplicação não trava campanha nem gera erro visível — só infla um número que parece bom até alguém comparar com o resultado real.
Deduplicação no fluxo específico de Telegram
Num funil de Telegram, a pergunta muda de forma. O evento que mais importa — a entrada no canal (enter_channel), e também a saída (left_channel) — acontece dentro do app do Telegram, onde nenhum navegador está olhando. Não existe Pixel no navegador capaz de ver essa entrada, então não existe cópia client-side desse evento pra deduplicar: ele só chega à Meta pelo servidor, uma vez.
Isso também desfaz uma confusão comum: o clique no botão da página e a entrada no canal são eventos diferentes, não o mesmo evento visto por dois canais. Um Lead no clique e um enter_channel na entrada não devem deduplicar — os dois precisam ser contados, cada um com seu nome.
Sobram os eventos da página (visita e clique). Num funil montado na mão, em que o Pixel no navegador e o seu servidor mandam o mesmo evento pro mesmo pixel, valem as três condições acima. Num funil da Track4you, o próprio script já manda esses eventos, e a recomendação é não instalar um Pixel à parte nas páginas — a seção seguinte explica. Ver o guia de Pixel e CAPI no Telegram pro fluxo completo do funil.
O que a experiência prática mostra
Na prática, o padrão mais comum de deduplicação quebrada não é ausência total de event_id — é um event_id que existe nos dois lados, mas é gerado de forma independente em cada um. Isso costuma passar despercebido justamente porque tudo parece configurado: o campo está preenchido, a chamada é aceita, nenhum erro aparece. Só quando alguém compara o número de conversões reportado com o volume real (pedidos, cadastros) ou nota o event_id duplicado ao abrir a aba de Eventos de Teste é que o problema fica visível.
Onde a Track4you entra nisso
A Track4you manda pro pixel escolhido no funil um evento por etapa: ViewContent na visita à página, Lead no clique no botão, enter_channel na entrada no canal e left_channel na saída. Os dois eventos do canal só existem do lado do servidor — nenhum Pixel no navegador vê a entrada —, então não há cópia da entrada pra deduplicar nem event_id pra você configurar. O que fica do seu lado é confirmar o enter_channel e o left_channel, que são eventos personalizados: o “Evento Teste” faz os dois aparecerem no Gerenciador de Eventos, e a confirmação é feita uma vez por pixel. A lista completa está no help oficial, em quais eventos a Track4you manda pro pixel.
E o Pixel da Meta na página? Como o script da Track4you já manda ViewContent e Lead pro pixel escolhido no funil, a recomendação é não instalar o seu próprio Pixel nas páginas do funil — pros eventos do funil, ele não acrescenta nada. Se ele já estiver instalado (por um tema, um plugin ou um teste antigo), não precisa correr pra tirar: a Meta deduplica automaticamente, sem event_id nenhum pra você montar. Mas, num funil novo, o caminho mais limpo é deixar só o script. Planos e condições em track4you.app.
Perguntas frequentes
Termos como event_id, CAPI e Event Match Quality têm definição rápida no glossário — vale a leitura se algum deles ainda não é familiar. Pra melhorar a qualidade dos eventos depois de resolver a deduplicação, ver o guia de Event Match Quality.
Conclusão
Deduplicação de eventos não é um detalhe técnico menor — é a diferença entre um relatório de campanha confiável e um inflado por eventos contados duas vezes. O mecanismo em si é simples (um event_id e um event_name idênticos nos dois disparos, dentro da janela de tempo aceita pela Meta), mas exige atenção em cada ponto onde esse identificador precisa passar de um sistema pro outro. Num funil de Telegram, a entrada no canal nem entra nessa conta — ela só chega pelo servidor. Com a Track4you, os eventos da página também já saem pelo script, sem Pixel à parte pra deduplicar. Quem monta o rastreamento na mão, com Pixel e servidor mandando o mesmo evento, precisa validar no Gerenciador de Eventos antes de escalar verba — é o passo que evita descobrir o problema tarde demais.
Pare de otimizar no escuro
Rastreie quem realmente entra no seu canal do Telegram e otimize suas campanhas para conversão real.
Conhecer a Track4youPerguntas frequentes
Rodar só CAPI, sem Pixel, elimina o risco de duplicação?
Elimina — sem dois canais reportando o mesmo evento, não tem o que deduplicar. Num site com implementação própria, abrir mão do Pixel custa sinal client-side (útil sobretudo pra remarketing), e por isso a Meta recomenda rodar os dois com deduplicação correta. Num funil de Telegram com a Track4you a conta é outra: o script já manda ViewContent e Lead pro pixel do funil, então a recomendação é não instalar o seu Pixel nas páginas do funil — e, se ele estiver lá, a Meta deduplica automaticamente.
O event_id precisa ser um UUID, ou pode ser qualquer string?
Pode ser qualquer string, desde que seja única por evento e idêntica nos dois disparos (Pixel e CAPI) do mesmo evento. Um UUID v4 é a escolha mais comum porque garante unicidade sem esforço, mas um identificador próprio (por exemplo, um hash do ID do clique + timestamp) funciona igual, contanto que a mesma lógica gere o mesmo valor nos dois lados.
Dá pra saber quantos eventos foram deduplicados?
O Gerenciador de Eventos mostra, por fonte de evento, quantos chegaram via Pixel, quantos via CAPI e quantos foram reconhecidos como duplicados — não é preciso adivinhar. Um número de 'eventos deduplicados' muito abaixo do esperado costuma indicar que o event_id não está sendo compartilhado corretamente entre os dois disparos.
Deduplicação errada derruba a campanha ou só infla o número?
Só infla o número — a campanha continua rodando normalmente. O problema é indireto: decisões de otimização, orçamento e CPL passam a ser tomadas em cima de um volume de conversão maior do que o real, o que distorce qualquer análise até alguém perceber a inconsistência.

CEO - Track4you
Estrategista e especialista em negócios digitais, trackeamento e tráfego pago para os mais diversos nichos de mercado. Responsável pelo backstage de diversas das maiores operações de iGaming, OB e infoprodutos do Brasil.
Artigos relacionados
Quer ver isso rodando na sua operação?
Rastreie quem realmente entra no seu canal do Telegram e otimize suas campanhas para conversão real.
Testar a Track4you