Plataformas de anúncios e lojas online

Meta Conversions API (CAPI): um guia prático

Um guia prático da Conversions API do Meta: use-a junto com o pixel com um único event_id, envie os parâmetros certos, teste eventos e corrija erros comuns.

·Atualizado em ·9 min de leitura·Pela equipe do ROASaurus

Principais conclusões
  • 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.

CampoO que contém
event_nameA ação, por exemplo Purchase, AddToCart ou InitiateCheckout
event_timeQuando aconteceu, como timestamp Unix em segundos
event_idUm ID único para este evento, usado para deduplicá-lo em relação ao pixel
action_sourceOnde aconteceu: website para compras na loja
event_source_urlA URL da página em que o evento aconteceu
user_dataInformações do cliente para a correspondência: e-mail e telefone com hash, endereço IP, user agent, fbp e fbc
custom_dataDetalhes como value, currency e content_ids
Todo evento da Conversions API tem o mesmo formato: a ação, as informações do cliente e os detalhes.

Um evento Purchase resumido fica assim:

Conversions API: um evento Purchase (resumido)
{
  "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.

Pixel do Meta (navegador)
  • 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
Conversions API (servidor)
  • 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 pixel traz os identificadores do navegador e o servidor traz o pedido. Cada um sozinho deixa parte do quadro de fora.

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.

Pixel do Meta: o mesmo Purchase com eventID
fbq('track', 'Purchase', { value: 74.00, currency: 'USD' }, { eventID: 'order-1042' });
O comprador pagaPedido 1042, $74.00
O pixel envia o PurchaseeventID order-1042, do navegador
O servidor envia o Purchaseevent_id order-1042, do pedido
O Meta conta umMesmo nome e ID em até 48 horas
As duas cópias têm o mesmo nome de evento e o mesmo ID, então o Meta mantém uma compra em vez de duas.

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-1042 e 1042 são IDs diferentes.
  • Use exatamente o mesmo nome de evento. Purchase e purchase sã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.

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âmetroEventos de siteO que enviar
event_nameObrigatórioUm evento padrão, como Purchase, ou um nome de evento personalizado
event_timeObrigatórioHora Unix em segundos, no máximo 7 dias no passado
action_sourceObrigatóriowebsite para eventos na sua loja
event_source_urlObrigatórioA URL da página em que o evento aconteceu
client_user_agentObrigatórioA string do navegador do comprador, não a do seu servidor
user_dataObrigatórioPelo menos um parâmetro de informações do cliente
event_idRecomendadoO mesmo ID que o pixel usa, para a deduplicação
em, phRecomendadoE-mail e telefone, normalizados e com hash SHA-256
client_ip_addressRecomendadoO endereço IP do comprador, sem hash
fbp, fbcRecomendadoOs cookies de ID do navegador e de ID de clique, sem hash
external_idRecomendadoO seu próprio ID de cliente, o mesmo nos eventos do navegador e do servidor
value, currencyEnviar com o PurchaseO valor do pedido e um código de moeda de três letras
O Meta lista action_source, event_source_url e client_user_agent como obrigatórios para eventos de site enviados pela Conversions API.

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.com e anna@example.com geram 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 o fbclid da URL da página de entrada. O fbclid diferencia 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.

  1. 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.

  2. Adicione o código aos seus eventos de servidor

    Envie-o como test_event_code na requisição. No ROASaurus, cole-o no campo Test event code do pixel do Meta.

  3. Faça um pedido de teste

    Visite a loja, adicione um produto e pague, para que o pixel e o servidor enviem um Purchase.

  4. Compare as duas cópias

    As duas cópias devem mostrar o mesmo nome de evento, ID de evento, valor e moeda.

  5. 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.

  6. 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 pixel
Purchase server order-1042 74.00 USDDa Conversions API
event_name + event_id matchContado como uma compra
em ph fbp fbc client_ip_address client_user_agentInformações do cliente no evento do servidor
O que um bom pedido de teste mostra (valores de exemplo): duas cópias, um ID e informações completas do cliente.

Erros comuns da Conversions API e como corrigi-los

O que você vêCausa provávelSolução
A requisição inteira falha e nenhum evento é processadoUm evento do lote tem um event_time com mais de 7 diasEnvie 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 teveIDs de evento diferentes, um evento do pixel sem eventID ou um segundo app que envia o mesmo pixelUse um único ID para as duas cópias e um único remetente de servidor por pixel.
Baixa qualidade de correspondência nos eventos do servidorO seu servidor envia o próprio endereço IP e user agentRepasse o endereço IP e o user agent registrados do navegador ou do pedido do comprador.
Poucos eventos com fbcO fbclid não foi salvo na página de entrada, ou foi alteradoGuarde o fbclid exatamente como ele chega e monte o fbc a partir dele.
E-mail e telefone não correspondemValores com hash sem normalização, ou enviados sem hashRemova 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 expiradoO token de acesso veio de um login do Facebook, e tokens de login expiramReconecte, ou use um token de System User do Business Manager, que você pode criar sem data de expiração.
A maioria dos problemas da Conversions API aparece como requisições rejeitadas, contagens em duplicidade ou baixa qualidade de correspondência.

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 fbp e o fbc salvos 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

  1. Meta for Developers: Handling Duplicate Pixel and Conversions API Events
  2. Meta for Developers: Server Event Parameters
  3. Meta for Developers: Customer Information Parameters
  4. Meta for Developers: Using the API - Conversions API
  5. Meta for Developers: ClickID and the fbp and fbc Parameters

No ROASaurus

Continue lendo

Plataformas de anúncios e lojas onlineRastreamento de conversões com pagamento na entrega e checkouts externosRastreamento de conversões com pagamento na entrega: por que os pixels não enxergam pedidos COD e de checkouts externos, quando enviar a compra e como lidar com pedidos recusados.Plataformas de anúncios e lojas onlineRastreamento de conversões no CCV Shop: um guia de configuraçãoRastreamento de conversões no CCV Shop: envie pedidos pagos para o Meta e o TikTok com um webhook assinado, associe-os aos cliques em anúncios, configure, teste e lide com pagamentos tardios.Plataformas de anúncios e lojas onlineConversões otimizadas do Google Ads no ShopifyAs conversões otimizadas adicionam dados de clientes com hash às compras do Google Ads no Shopify. Como funcionam, como se diferenciam das importações offline e a configuração.
Perguntas frequentes

Perguntas respondidas

Preciso do pixel do Meta e da Conversions API ao mesmo tempo?

O Meta recomenda usar os dois. O pixel adiciona dados do navegador, como o cookie fbp, e a Conversions API entrega os eventos que o navegador perde. Dê às duas cópias o mesmo nome de evento e o mesmo ID de evento para que o Meta conte cada evento uma única vez.

Quanto tempo o Meta espera para deduplicar um evento do navegador e um do servidor?

O Meta deduplica um evento do navegador e um evento do servidor com o mesmo nome de evento e o mesmo ID de evento quando eles chegam com até 48 horas de diferença entre si. Uma cópia que chega depois é contada de novo.

A Conversions API exige que os dados do cliente passem por hash?

Sim, no caso de dados de contato. Os campos de e-mail, telefone, nome e endereço precisam ser normalizados e passar por hash SHA-256. O endereço IP, o user agent, o fbp e o fbc são enviados sem hash.

Quais campos são obrigatórios para um evento de site?

Todo evento precisa de event_name, event_time, action_source e pelo menos um parâmetro de informações do cliente. Para eventos de site, o Meta também exige event_source_url e client_user_agent.

Posso enviar pedidos antigos pela Conversions API?

Só os recentes. O event_time pode estar no máximo 7 dias no passado, e se um evento de uma requisição for mais antigo, o Meta rejeita a requisição inteira.

Cada venda, rastreada até o anúncio que a gerou

Rastreamento server-side, lucro e valor vitalício em um só app. 14 dias de teste grátis, sem cartão de crédito.

Comece seu teste grátis →