Purchase duplicado no painel da Meta — e ROAS inflado artificialmente.
A xTracky bloqueia isso em duas camadas.
Camada 1 — Dedup por LeadId + orderId (V2)
Na integração V2, cada evento é identificado por:POST na /api/integrations/api, a xTracky verifica se já processou esse par nas últimas horas. Se sim, retorna 200 OK mas não dispara nada.
Você pode reenviar à vontade — retries do seu backend, replays de fila, testes manuais. Só o primeiro conta.
Camada 2 — Hash SHA-256 do payload (V1)
Na integração V1 (webhooks legados de gateways), a xTracky gera um hash SHA-256 do payload inteiro do webhook e compara com hashes recentes:O que conta como “mesma venda”?
Mesmo orderId, mesmo LeadId
Mesmo orderId, mesmo LeadId
Duplicata — descartado.
Mesmo orderId, LeadId diferente
Mesmo orderId, LeadId diferente
Processado. Isso pode acontecer se o mesmo pedido for reportado por dois caminhos (webhook + API manual), ou se você reutilizou o
orderId pra outra venda (o que você não deveria fazer).orderId diferente, mesmo LeadId, mesmo produto
orderId diferente, mesmo LeadId, mesmo produto
Processado. É um cliente comprando duas vezes — deve mesmo virar dois
Purchase.Sem orderId (V1 UTM handler puro)
Sem orderId (V1 UTM handler puro)
A dedup cai no hash do payload. Se o payload inteiro for byte-a-byte igual → dedup. Se mudar um único caractere (timestamp, ID de transação, etc.), passa.