Tutorial · Atribuição · Meta Ads

Como Corrigir a Atribuição Incorreta no Meta Ads

Como diagnosticar e corrigir os principais problemas de atribuição no Meta Ads — pixel que não dispara, parâmetros fbc/fbp ausentes, limitações do Safari e webhooks de conversões offline.

15 min de leitura Atualizado em 23 mai 2026 Fonte: stape.io

01 Como funciona a atribuição do Meta

Adaptado de conteúdo original em inglês Tradução e adaptação do artigo publicado pelo Stape em https://stape.io/blog/meta-attribution-troubleshooting. Imagens reproduzidas com fins educativos — todos os direitos pertencem ao Stape.io.

Para entender por que a atribuição às vezes parece inconsistente, é preciso entender o mecanismo por trás dela. A atribuição no Meta Ads funciona conectando dois eventos: a interação com o anúncio (clique ou visualização) e o evento de conversão (compra, lead, etc.).

Para fazer essa conexão, o Meta usa identificadores como:

  • fbclid — ID do clique, presente na URL após o clique no anúncio
  • fbc — identificador de clique armazenado em cookie; derivado do fbclid
  • fbp — identificador de navegador; identifica o usuário entre sessões
  • Dados hasheados do usuário — e-mail, telefone e outros identificadores enviados pela CAPI

O fluxo funciona assim:

Quando o usuário clica num anúncio do Meta, a URL de destino recebe o parâmetro fbclid. O pixel do Meta (ou a tag do GTM no servidor) converte esse parâmetro em um cookie fbc. O Meta registra o evento de clique com timestamp e metadados da campanha — e o usuário fica "marcado" para atribuição futura.

Se o usuário converter depois (ex: finalizar uma compra), o Meta recebe o evento via pixel (client-side) e via CAPI ou Gateway (server-side, se configurado). Cada evento inclui sinais como fbp, fbc e dados do usuário. O Meta então tenta associar essa conversão ao clique no anúncio. Se conseguir, a conversão é atribuída à campanha.

Como funciona a atribuição do Meta Ads
Diagrama de como a atribuição do Meta conecta cliques a conversões — Fonte: stape.io
Janelas de atribuição

A atribuição depende também das janelas configuradas na sua conta: clique de 1 ou 7 dias, visualização de 1 dia. Conversões fora dessas janelas não são atribuídas. Se seu ciclo de vendas é longo (ex: high ticket com 30 dias de nurture), a janela padrão pode estar subcontando conversões reais.

02 Causas de atribuição imprecisa no Meta Ads

Pixel do Meta não dispara corretamente

A causa mais óbvia — e sempre a primeira a verificar. Se o pixel (ou a CAPI/Gateway) não dispara, ou dispara com erros, você recebe menos conversões do que o real no Meta. Isso afeta diretamente a atribuição porque o Meta não tem como conectar a conversão ao clique se o evento nunca chegou.

Comece sempre pelo básico

Antes de investigar fbc/fbp ausentes ou problemas de Safari, confirme que o pixel está disparando em todas as páginas críticas do funil. Um pixel ausente na página de confirmação de compra é um erro simples que causa impacto enorme na atribuição.

Safari e limitações de rastreamento (ITP)

Cookies e ITP do Safari
Limitações de cookies em navegadores com ITP — impacto na atribuição — Fonte: stape.io

Se uma parcela significativa dos seus leads ou clientes usa iPhone ou Mac com Safari, o ITP (Intelligent Tracking Prevention) da Apple — ativo desde 2021 — está impactando sua atribuição.

Cookies de terceiros são amplamente bloqueados no Safari. Sem eles, dois identificadores críticos são afetados:

  • Dados do usuário — cookies first-party podem compensar parcialmente. Quanto mais dados de qualidade você envia (e-mail, telefone, etc.), melhor o Meta consegue fazer o match de conversões com usuários reais.
  • fbc (click ID) — o Safari encurta drasticamente a vida útil de cookies, o que pode fazer o identificador de clique expirar antes da conversão acontecer. Quando isso ocorre, a precisão da atribuição cai.

Parâmetros fbc/fbp ausentes no payload do evento

Como explicado acima, o Meta depende dos identificadores fbc e fbp para conectar conversões a cliques e sessões de navegador. Quando esses parâmetros estão ausentes no payload do evento enviado à CAPI, o Meta perde sinais de matching — o que resulta em score de Event Match Quality mais baixo e conversões classificadas como "Outra" ou sem atribuição.

Webhooks mal configurados (conversões offline)

Webhooks e conversões offline
Fluxo de webhooks para conversões offline — onde a atribuição pode falhar — Fonte: stape.io

Webhooks são usados para rastrear conversões offline — compras por telefone, fechamentos via CRM, atendimentos presenciais. Assim como nas conversões online, o payload do webhook precisa incluir fbc/fbp para que o Meta consiga atribuir a conversão ao anúncio correto. O diagnóstico é diferente do pixel — por isso tratamos como causa separada.

03 Ferramentas para diagnosticar problemas de atribuição

Setup recomendado para este diagnóstico

As etapas abaixo assumem uma configuração com rastreamento client-side + server-side (pixel do navegador + CAPI ou Gateway). Essa combinação é mais confiável que pixel sozinho e é a recomendada pelo próprio Meta para atribuição precisa.

1. GTM Preview Mode

O modo de pré-visualização do Google Tag Manager permite ver o que acontece no navegador e no servidor quando um usuário interage com o site. Com ele você verifica se as tags do Meta pixel e da CAPI estão disparando corretamente e inspeciona o payload de cada evento — incluindo a presença (ou ausência) dos parâmetros fbc e fbp.

2. Extensão Chrome do Stape

Stape Chrome Extension
Extensão Chrome do Stape — interface de inspeção de eventos e payloads — Fonte: stape.io

A extensão facilita o diagnóstico: você identifica rapidamente quais tags dispararam ou falharam, inspeciona os payloads das requisições (incluindo eventos do Meta) com JSON formatado e parâmetros de URL legíveis. Especialmente útil para depurar a página de checkout em lojas Shopify, que tem acesso restrito no GTM padrão.

3. Stape Logs

Stape Logs — requisições outgoing para o Meta
Painel de Stape Logs com requisições de entrada e saída — Fonte: stape.io

Diferente de outras soluções de rastreamento server-side (como GCP), o Stape oferece tanto logs de entrada quanto de saída — ou seja, você vê exatamente o que foi enviado ao Meta, não apenas o que chegou ao seu servidor. No contexto de diagnóstico de atribuição, isso é decisivo: você analisa se o payload enviado ao Meta realmente contém os parâmetros fbc e fbp.

4. Stape Store (para webhooks offline)

Para conversões offline via webhook, o corpo do POST não é logado por padrão no Stape Logs. Para acessá-lo, você configura a tag Logger, que armazena o payload completo do webhook no Stape Store. Com isso é possível inspecionar exatamente o que chegou no webhook e verificar se os identificadores de atribuição estão presentes.

04 Passo 1: Verificar se o pixel e a CAPI estão funcionando

1.1 — Ativar o Preview Mode nos containers web e servidor

Botão GTM Preview Mode
Botão de Preview Mode no GTM para ativar o modo de depuração — Fonte: stape.io

1.2 — Ativar a extensão Chrome do Stape

Configurações da extensão Stape
Painel de configurações da extensão Chrome do Stape — Fonte: stape.io

Com a extensão ativa, você tem visibilidade completa dos eventos disparados — mesmo em páginas de checkout com acesso restrito.

1.3 — Disparar eventos no site e verificar as tags

Navegue pelo site e execute as ações que disparam eventos (visualização de página, adicionar ao carrinho, compra). No container web do GTM, você deve ver as tags do Meta disparando:

Tags Meta no container web GTM
Tags do Meta pixel disparadas no container web do GTM — Fonte: stape.io

E no container servidor:

Tags Meta no container servidor GTM
Tags da CAPI disparadas no container servidor do GTM — Fonte: stape.io

1.4 — Conferir os event_id nos dois containers

O Meta recomenda usar pixel + CAPI simultaneamente para rastreamento mais preciso — mas sem um identificador único, os eventos ficam duplicados. O event_id é esse identificador. Você deve ver o mesmo event_id para o mesmo evento tanto no container web quanto no servidor.

Container web — tag do pixel:

event_id no container web
event_id no payload da tag do pixel no container web — Fonte: stape.io

Container servidor — tag da CAPI:

event_id no container servidor
event_id no payload da tag CAPI no container servidor — Fonte: stape.io
event_id diferente = evento duplicado no Meta

Se o event_id do container web e do servidor for diferente para o mesmo evento, o Meta vai contar duas conversões. Isso infla o ROAS reportado e distorce a otimização das campanhas. Configure uma variável compartilhada que gera o mesmo ID em ambos os containers.

1.5 — Verificar erros nos Stape Logs

O Preview Mode testa o ambiente de desenvolvimento. Para ver o que está acontecendo em produção (com usuários reais), use o Stape Logs:

  1. Acesse a seção Logs no painel do Stape
Seção Logs no Stape
Seção Logs no painel administrativo do Stape — Fonte: stape.io
  1. Clique na aba Outgoing requests (requisições de saída)
  2. Filtre por plataforma (Facebook) e por evento (ex: Purchase)
  3. Procure requisições com status de erro:
  • 4xx — a requisição chegou ao servidor mas não foi processada (caminho errado ou container não publicado)
  • 5xx — a requisição foi recebida mas falhou durante o processamento
Outgoing requests no Stape Logs
Aba Outgoing requests com filtros de plataforma, evento e status de erro — Fonte: stape.io

Para cada requisição com erro, clique em More para ver os detalhes e identificar a causa raiz. Você também pode baixar o relatório em CSV para análise no Google Sheets.

Stape Monitoring — relatório agregado
Exemplo de relatório do Stape Monitoring com taxa de sucesso por plataforma — Fonte: stape.io

05 Passo 2: Validar fbc/fbp em eventos online

2.1 — Acessar Stape Logs e filtrar requisições de saída

No Stape Logs, filtre as Outgoing requests selecionando o período, a plataforma Facebook e o evento desejado (geralmente Purchase).

Filtros no Stape Logs
Filtros de Outgoing requests: plataforma Facebook e evento Purchase — Fonte: stape.io

2.2 — Analisar o payload das requisições enviadas ao Meta

Clique em More ao lado de um registro e procure pelos parâmetros:

  • fbc — identificador do clique no anúncio. É a chave para atribuição precisa de conversões a campanhas específicas.
  • fbp — identificador de navegador. Permite identificar o usuário entre diferentes sessões no mesmo dispositivo.

Na maioria dos casos de atribuição incorreta, o que você vai encontrar é o parâmetro fbc ausente:

Parâmetro fbc ausente no payload
Payload do evento Purchase com o parâmetro fbc ausente — Fonte: stape.io

2.3 — Quantificar o impacto com CSV + Google Sheets

Se o volume de requisições for grande, baixe o relatório em CSV:

Download as CSV no Stape Logs
Opção Download as CSV para análise em volume dos logs — Fonte: stape.io

No Google Sheets, use estas fórmulas para quantificar:

  • Total de requisições: =COUNTIF(H2:H, "*")
  • Com parâmetro fbp: =COUNTIF(H:H, "*fbp*")
  • Com parâmetro fbc: =COUNTIF(H:H, "*fbc*")
Google Sheets — análise de fbc/fbp
Planilha Google Sheets com fórmulas para quantificar eventos com fbc e fbp — Fonte: stape.io

2.4 — O que fazer quando fbc/fbp estão ausentes

Se os parâmetros estiverem zerados ou ausentes em todas as requisições, a causa mais provável é que eles não foram configurados nas tags do GTM. Verifique no Preview Mode: acesse a aba Event Data do evento e procure por fbc e fbp. Se não estiverem lá, o Client do sGTM não conseguiu extraí-los do HTTP request.

fbc só aparece em compras originadas de clique em anúncio

Se você registrou 100 compras mas o Ads Manager mostra 30 cliques, no máximo 30 eventos de Purchase devem ter o fbc — e somente se cada clique resultou em conversão. Se o GA4 indica tráfego do Facebook em mais compras e ainda assim não há nenhum fbc nos logs, aí há um problema real de captura.

Container em domínio de terceiro bloqueia cookies

Se o seu container servidor está hospedado num domínio diferente do seu site (ex: gtm-msr.appspot.com em vez de tracking.seusite.com.br), o navegador bloqueia o envio de cookies por política de segurança. Configure um subdomínio próprio para resolver — isso transforma cookies de terceiro em first-party, com vida útil muito maior.

Outros fatores que removem o fbc:

  • Ad blockers que removem parâmetros de rastreamento da URL antes da tag disparar. Mitigar com Custom Loader.
  • ITP do Safari que encurta a vida útil do cookie. Mitigar com Cookie Keeper para estender a duração dos identificadores.

06 Passo 3: Verificar fbc/fbp em conversões offline

Se você usa webhooks para enviar conversões offline ao Meta (vendas por telefone, fechamentos via CRM, atendimentos presenciais), vale verificar se esses webhooks estão incluindo os identificadores de atribuição.

3.1 — Configurar a tag Logger

O Stape Logs registra apenas a requisição original de entrada — para webhooks, isso não é suficiente. Configure a tag Logger no seu container servidor para capturar o corpo completo do POST request e armazená-lo no Stape Store.

Stape Store sem custo extra

O Stape Store está incluído sem custo adicional nos planos Pro e superiores do Stape.

3.2 — Analisar o payload via Stape Store

Após configurar o Logger, acesse a coleção logger no Stape Store:

Coleção logger no Stape Store
Coleção logger no Stape Store com payloads dos webhooks capturados — Fonte: stape.io

Nos campos do payload, procure por:

  • fbc/fbp — se estão presentes e com valor
  • Dados de usuário — e-mail ou outro identificador único
fbc e fbp presentes no Event data
Event data com parâmetros fbc e fbp presentes no payload do webhook — Fonte: stape.io

Se os parâmetros estiverem em branco:

fbc e fbp ausentes no webhook
Event data com fbc e fbp em branco — conversão sem identificadores de atribuição — Fonte: stape.io
Ausência de fbc nem sempre é problema

Se o usuário clicou num anúncio mas a compra foi concluída por outro canal (ex: ligação espontânea, indicação), o fbc naturalmente não estará no webhook. O problema é quando usuários que vieram de anúncios também chegam sem fbc — isso indica que o dado está se perdendo no caminho.

3.3 — Como corrigir a atribuição de conversões offline

O fluxo ideal para preservar fbc/fbp em conversões offline:

  1. Capturar os parâmetros fbc/fbp junto com um identificador único do usuário (e-mail) no momento da visita ao site
  2. Salvar esses dados no CRM ou no Stape Store
  3. Quando o webhook chegar ao sGTM, extrair o identificador do usuário do payload
  4. Comparar com os dados salvos e recuperar o fbc/fbp correspondente
  5. Anexar os parâmetros ao payload do webhook antes de enviar ao Meta

Para implementar com o Stape Store, configure quatro elementos:

1. Tag Stape Store Writer

Salva os dados de fbc, fbp e e-mail do usuário no momento do evento online (ex: Lead ou InitiateCheckout).

2. Variável de identificador do usuário

Extrai o e-mail (ou outro ID único) do payload do webhook recebido.

Variável Event Data — identificador do usuário
Configuração da variável Event Data para extrair o identificador do usuário do webhook — Fonte: stape.io

3. Variável Stape Store Lookup para fbp

Usa o e-mail extraído para buscar o fbp salvo anteriormente no Stape Store.

  • Lookup Type: Document path
  • Document ID: variável com o e-mail do webhook
  • Key Path: user_data.fbp
Stape Store Lookup — fbp
Configuração da variável Stape Store Lookup para recuperar o fbp salvo — Fonte: stape.io

Crie a mesma variável para o fbc, alterando o Key Path para user_data.fbc:

Stape Store Lookup — fbc
Variável Stape Store Lookup configurada para recuperar o fbc — Fonte: stape.io

4. Mapear variáveis na tag do Meta

Na tag Facebook Conversions API, seção User data, mapeie os campos Click ID e Browser ID para as duas variáveis Lookup criadas acima:

Mapeamento fbc/fbp na tag CAPI
Mapeamento das variáveis fbc e fbp na seção User data da tag Facebook Conversions API — Fonte: stape.io

Com esse fluxo, mesmo conversões offline que chegam via webhook carregam os identificadores capturados na visita original ao site — permitindo que o Meta atribua a conversão ao anúncio correto.

07 Perguntas frequentes

O fbc é o identificador de clique em anúncio — ele registra qual clique específico originou uma conversão. O fbp é o identificador de navegador — identifica o usuário entre sessões diferentes no mesmo browser. Os dois são essenciais para que o Meta consiga associar uma conversão a uma campanha. Sem eles, a conversão cai em 'Outra' ou fica sem atribuição.
O Safari aplica ITP (Intelligent Tracking Prevention) desde 2021, que limita a duração de cookies de terceiros a 7 dias (ou menos em alguns cenários). Se o usuário clicou num anúncio mas converteu após esse período, o fbc já foi apagado e a conversão não é atribuída ao clique. A solução é rastreamento server-side com cookies first-party (usando subdomínio próprio), que têm duração muito maior.
Não, quando configurados corretamente. A deduplicação usa o event_id: o mesmo identificador único é enviado tanto pelo pixel (navegador) quanto pela CAPI (servidor). O Meta detecta eventos com o mesmo event_id e conta apenas uma conversão. Sem event_id configurado, os eventos podem ser duplicados — inflando o ROAS reportado no Gerenciador de Anúncios.
Sim. Se você registrou 100 compras e o Ads Manager mostra 30 cliques, no máximo 30 compras poderiam ter o fbc — supondo que cada clique resultou em conversão. Mas se o GA4 indica que conversões vieram do Facebook e seus logs não têm nenhum evento de compra com fbc, isso aponta para problema real: o parâmetro não está sendo armazenado ou repassado corretamente.
O Event Match Quality Score (de 0 a 10) mede com que precisão o Meta consegue associar cada evento a um usuário real da plataforma. Quanto mais identificadores você envia (email, telefone, fbc, fbp), maior o score. Score alto significa mais conversões atribuídas corretamente, otimização de campanha mais precisa e públicos Lookalike de maior qualidade. Score abaixo de 6.0 já é sinal de problema de configuração.
Ambas enviam eventos via servidor — a diferença é operacional. A CAPI manual exige desenvolvimento backend próprio e configuração de deduplicação. A CAPI Gateway (como a do Stape) abstrai essa complexidade: você conecta o pixel, e ela gerencia o envio server-side automaticamente, incluindo a deduplicação via event_id. Para atribuição, as duas funcionam igualmente bem quando configuradas corretamente.
Precisa de rastreamento sem erros de atribuição?

Configuramos pixel + CAPI com atribuição otimizada

Auditamos seu setup atual, corrigimos parâmetros fbc/fbp ausentes, configuramos deduplicação e garantimos Match Quality acima de 8.0 — para que cada venda seja atribuída à campanha correta.

Ver o serviço