- A Conversions API do Meta envia eventos como o Purchase a partir do seu servidor, e por isso eles chegam ao Meta mesmo quando o pixel do navegador está bloqueado.
- Use-a junto com o pixel e dê às duas cópias o mesmo nome de evento e o mesmo event_id; assim o Meta conta o evento uma só vez se as duas chegarem em até 48 horas.
- Eventos de site precisam de action_source, event_source_url e do user agent do comprador; e-mail e telefone em hash, endereço IP, fbp e fbc definem o quanto o Meta consegue associá-los.
- Teste com a aba Test events do Events Manager e depois remova o código de teste, porque os eventos de teste não são descartados.
- A maioria dos problemas vem de IDs de evento que não coincidem, do próprio endereço IP do servidor, de um fbclid perdido ou de dados de contato que passaram por hash sem normalização.
A Conversions API (CAPI) do Meta permite que o seu servidor envie eventos como o Purchase direto ao Meta. O pixel do Meta envia os mesmos eventos a partir do navegador do comprador. A CAPI os envia a partir do seu servidor, então eles continuam chegando quando um bloqueador de anúncios barra o pixel, um cookie desaparece ou a página de agradecimento nunca carrega.
Este guia explica o que um evento da Conversions API contém, como usá-la junto com o pixel com um único event_id, quais parâmetros o Meta exige e recomenda, como testar com o Test events e os erros que aparecem com mais frequência.
O que é a Conversions API do Meta?
A Conversions API faz parte da Graph API do Meta. O seu servidor envia uma requisição HTTPS POST para graph.facebook.com/VERSION/PIXEL_ID/events com um token de acesso e uma lista data de até 1,000 eventos. Cada evento descreve uma ação, como uma compra, em três partes: o que aconteceu, quem fez e os detalhes.
| Campo | O que contém |
|---|---|
event_name | A ação, por exemplo Purchase, AddToCart ou InitiateCheckout |
event_time | Quando aconteceu, como timestamp Unix em segundos |
event_id | Um ID único para este evento, usado para deduplicá-lo em relação ao pixel |
action_source | Onde aconteceu: website para compras na loja |
event_source_url | A URL da página em que o evento aconteceu |
user_data | Informações do cliente para a correspondência: e-mail e telefone com hash, endereço IP, user agent, fbp e fbc |
custom_data | Detalhes como value, currency e content_ids |
Um evento Purchase resumido fica assim:
{
"data": [{
"event_name": "Purchase",
"event_time": 1792929600,
"event_id": "order-1042",
"action_source": "website",
"event_source_url": "https://yourstore.com/checkouts/thank-you",
"user_data": {
"em": ["<SHA-256 of the normalized email>"],
"ph": ["<SHA-256 of the normalized phone>"],
"client_ip_address": "203.0.113.24",
"client_user_agent": "Mozilla/5.0 (iPhone; ...)",
"fbp": "fb.1.1792928400000.1234567890",
"fbc": "fb.1.1792928400000.AbCdEf123"
},
"custom_data": { "value": 74.00, "currency": "USD" }
}]
}Campos de contato, como e-mail e telefone, são normalizados e passam por hash SHA-256 antes de saírem do seu servidor. O endereço IP, o user agent, o fbp e o fbc são enviados como estão.
Por que usar a Conversions API junto com o pixel?
O Meta recomenda usar a Conversions API junto com o pixel e enviar os mesmos eventos pelos dois. Cada lado enxerga algo que o outro não enxerga, e juntos dão ao Meta dados mais completos.
- Define o cookie _fbp e guarda o fbclid de um clique em anúncio no cookie _fbc
- Enxerga a página e o navegador enquanto a visita acontece
- Se perde quando o navegador o bloqueia ou a página não carrega
- Envia o pedido pago a partir dos dados da sua loja
- Pode acrescentar e-mail, telefone e endereço em hash vindos do pedido
- Não depende do navegador, então os bloqueadores de anúncios não o impedem
O custo de usar os dois é que o Meta passa a receber duas cópias de cada evento. A próxima seção mostra como o Meta mantém só uma.
Como funciona a deduplicação com um único event_id?
O Meta trata um evento do navegador e um evento do servidor como o mesmo evento quando duas coisas coincidem: o nome do evento e o ID do evento. No pixel, o ID vai na opção eventID. Na Conversions API, o mesmo valor vai em event_id.
fbq('track', 'Purchase', { value: 74.00, currency: 'USD' }, { eventID: 'order-1042' });O Meta só deduplica um par correspondente quando as duas cópias chegam com até 48 horas de diferença. Algumas regras fazem isso funcionar na prática:
- Crie o ID uma única vez. Gere-o a partir de algo que os dois lados conhecem, como o número do pedido, e passe-o ao navegador e ao servidor. Dois sistemas que criam cada um o seu próprio ID não vão corresponder.
- Use um único formato.
order-1042e1042são IDs diferentes. - Use exatamente o mesmo nome de evento.
Purchaseepurchasesão eventos diferentes. - Envie o evento do servidor sem demora. Um evento do servidor que chega mais de 48 horas depois do evento do navegador é contado uma segunda vez.
O Meta também descreve um segundo método, que associa eventos por fbp ou external_id. O Meta diz que ele geralmente só funciona quando o evento do navegador chega antes do evento do servidor, então um event_id compartilhado é a escolha mais confiável. Se o Meta ainda informa mais compras do que a sua loja teve, o nosso guia sobre eventos de compra duplicados lista as causas mais comuns.
Quais parâmetros são obrigatórios e quais são recomendados?
Os campos obrigatórios tornam um evento válido. Os campos recomendados determinam quantos dos seus eventos o Meta consegue associar a uma pessoa, e só os eventos associados podem ser usados na atribuição e na veiculação dos anúncios.
| Parâmetro | Eventos de site | O que enviar |
|---|---|---|
event_name | Obrigatório | Um evento padrão, como Purchase, ou um nome de evento personalizado |
event_time | Obrigatório | Hora Unix em segundos, no máximo 7 dias no passado |
action_source | Obrigatório | website para eventos na sua loja |
event_source_url | Obrigatório | A URL da página em que o evento aconteceu |
client_user_agent | Obrigatório | A string do navegador do comprador, não a do seu servidor |
user_data | Obrigatório | Pelo menos um parâmetro de informações do cliente |
event_id | Recomendado | O mesmo ID que o pixel usa, para a deduplicação |
em, ph | Recomendado | E-mail e telefone, normalizados e com hash SHA-256 |
client_ip_address | Recomendado | O endereço IP do comprador, sem hash |
fbp, fbc | Recomendado | Os cookies de ID do navegador e de ID de clique, sem hash |
external_id | Recomendado | O seu próprio ID de cliente, o mesmo nos eventos do navegador e do servidor |
value, currency | Enviar com o Purchase | O valor do pedido e um código de moeda de três letras |
Três detalhes causam a maioria dos problemas:
- Normalize antes de aplicar o hash. O Meta espera o e-mail sem espaços nas pontas e em minúsculas, e os telefones como dígitos com o código do país.
Anna@Example.comeanna@example.comgeram hashes diferentes, e só o segundo pode corresponder. - Não aplique hash nos identificadores do navegador.
fbp,fbc, o endereço IP e o user agent entram como valores simples. - Mantenha o ID de clique exatamente como ele é. O valor de
fbcéfb.1., a hora de criação em milissegundos, um ponto e ofbclidda URL da página de entrada. Ofbcliddiferencia maiúsculas de minúsculas. Salve-o quando o visitante chega, porque ele não está mais na URL no checkout.
O quanto esses campos correspondem é o que a pontuação de Event Match Quality do Meta mede. O nosso guia sobre Event Match Quality explica cada parâmetro, as regras de hash e a pontuação a buscar.
Como testar eventos com o Test events?
O Events Manager tem uma aba Test events que mostra os eventos conforme eles chegam. Use-a antes de confiar em uma configuração nova.
- Abra o Test events
No Events Manager, selecione o seu conjunto de dados (pixel) e abra a aba Test events. Copie o código de teste que ela mostra.
- Adicione o código aos seus eventos de servidor
Envie-o como
test_event_codena requisição. No ROASaurus, cole-o no campo Test event code do pixel do Meta. - Faça um pedido de teste
Visite a loja, adicione um produto e pague, para que o pixel e o servidor enviem um Purchase.
- Compare as duas cópias
As duas cópias devem mostrar o mesmo nome de evento, ID de evento, valor e moeda.
- Confira as informações do cliente
O evento do servidor deve trazer e-mail e telefone em hash, o endereço IP, o user agent e o fbp, além do fbc se a visita começou com um clique em anúncio.
- Remova o código de teste
O Meta diz que o campo é só para testes, então remova-o antes de confiar nos eventos.
Purchase browser order-1042 74.00 USDDo pixelPurchase server order-1042 74.00 USDDa Conversions APIevent_name + event_id matchContado como uma compraem ph fbp fbc client_ip_address client_user_agentInformações do cliente no evento do servidorErros comuns da Conversions API e como corrigi-los
| O que você vê | Causa provável | Solução |
|---|---|---|
| A requisição inteira falha e nenhum evento é processado | Um evento do lote tem um event_time com mais de 7 dias | Envie os eventos quando eles acontecem. Corrija ou descarte os eventos antigos antes de tentar de novo. |
| O Meta informa mais compras do que a sua loja teve | IDs de evento diferentes, um evento do pixel sem eventID ou um segundo app que envia o mesmo pixel | Use um único ID para as duas cópias e um único remetente de servidor por pixel. |
| Baixa qualidade de correspondência nos eventos do servidor | O seu servidor envia o próprio endereço IP e user agent | Repasse o endereço IP e o user agent registrados do navegador ou do pedido do comprador. |
| Poucos eventos com fbc | O fbclid não foi salvo na página de entrada, ou foi alterado | Guarde o fbclid exatamente como ele chega e monte o fbc a partir dele. |
| E-mail e telefone não correspondem | Valores com hash sem normalização, ou enviados sem hash | Remova os espaços das pontas e coloque o e-mail em minúsculas, mantenha os dígitos e o código do país do telefone e depois aplique hash SHA-256. |
| As requisições falham com um erro de token expirado | O token de acesso veio de um login do Facebook, e tokens de login expiram | Reconecte, ou use um token de System User do Business Manager, que você pode criar sem data de expiração. |
Depois de alguns dias de tráfego real, abra a aba Diagnostics do Events Manager. O Meta lista ali os problemas com recomendações de como corrigi-los. Depois compare a contagem diária de Purchase no Events Manager com os pedidos pagos na sua loja nos mesmos dias. Se o Meta estiver claramente acima, a nossa página de ajuda sobre como evitar a contagem em duplicidade lista as configurações a conferir.
Como configurar a Conversions API com o ROASaurus
O ROASaurus envia eventos da Conversions API a partir dos dados de pedido da sua loja, então você não precisa montar o lado do servidor por conta própria. Em Tracking & platforms, clique em Connect with Facebook e escolha a sua conta de anúncios e o seu pixel, ou cole o ID do pixel (conjunto de dados) e um token da Conversions API. O guia de configuração do Meta explica as duas opções, e a página de integração com o Meta lista todos os campos enviados.
- Um único ID nos dois lados. Os eventos do navegador e do servidor compartilham um ID de evento. Para uma compra, ele é
order-seguido do ID do pedido. - Uma breve espera antes da compra. O Purchase do servidor espera um instante depois que o pedido chega, para que o evento de compra do navegador possa ser associado primeiro. O endereço IP, o user agent e a URL da página dele saem então com o evento do servidor, junto com o
fbpe ofbcsalvos para o visitante. - Informações do cliente a partir do pedido. E-mail, telefone, nome e endereço são normalizados e passam por hash SHA-256. O ID de cliente da loja e o ID de visitante do ROASaurus entram com hash como
external_id. - Eventos que o Meta não consegue associar são descartados. Um evento sem
fbc,fbp, e-mail, telefone ou endereço IP não é enviado.
O Event log mostra cada envio do servidor com a requisição e a resposta do Meta. Se as suas margens variam muito entre produtos, você também pode enviar um valor de lucro junto com cada compra: o nosso guia sobre otimização por valor do Meta com foco em lucro explica como. Para o caminho completo dos dados do clique ao pedido, veja rastreamento server-side.
Fontes
- Meta for Developers: Handling Duplicate Pixel and Conversions API Events
- Meta for Developers: Server Event Parameters
- Meta for Developers: Customer Information Parameters
- Meta for Developers: Using the API - Conversions API
- Meta for Developers: ClickID and the fbp and fbc Parameters
No ROASaurus
- Integração com o Meta
- Ajuda: conectar o Meta
- Ajuda: evitar a contagem em duplicidade
- Rastreamento server-side