Você Está Perdendo Vendas
que o Meta Ads Não Enxerga:
Como Criar Eventos Offline
e Recuperar a Atribuição
Se sua empresa fecha vendas por WhatsApp, ligação, na loja física ou em visitas presenciais, o Meta Ads não está vendo esses resultados — e está otimizando suas campanhas com dados incompletos. Os Eventos Offline resolvem exatamente isso. Neste guia você aprende do conceito ao passo a passo completo.
Eventos offline no Meta Ads são conversões que acontecem fora do digital — vendas no balcão, contratos presenciais, fechamentos por telefone — enviadas de volta ao Meta para serem atribuídas às campanhas que geraram o interesse. Para criar: Gerenciador de Eventos → Conectar fontes de dados → Offline → Criar conjunto de eventos offline → vincule à conta de anúncios → faça upload do arquivo CSV com os dados dos clientes (e-mail, telefone, nome, valor e data da compra) → o Meta faz a correspondência e atribui a conversão à campanha responsável.
- O que são eventos offline no Meta Ads
- Quem deve usar — setores e casos de uso
- O problema que os eventos offline resolvem
- Passo 1 — Criar o conjunto de eventos offline
- Passo 2 — Vincular à conta de anúncios
- Passo 3 — Preparar o arquivo CSV
- Passo 4 — Fazer o upload manual
- Passo 5 — Vincular ao conjunto de anúncios
- API de Conversões Offline — envio automático
- Automação com n8n e Make.com
- Pontuação de qualidade de dados
- Melhores práticas e erros comuns
- Recursos da Expert Digital
- FAQ — perguntas frequentes
O que são eventos offline no Meta Ads
Quando alguém vê um anúncio no Instagram, salva o contato e liga dois dias depois para fechar uma compra, o Meta Ads registra apenas que houve um clique no anúncio — mas nunca soube que a venda aconteceu. Seu Gerenciador de Anúncios mostra zero conversões para essa campanha, mesmo que ela tenha gerado uma venda real.
Eventos offline são o mecanismo que corrige essa lacuna: você envia os dados da transação offline (nome, e-mail ou telefone do cliente, valor da venda, data e hora) de volta para o Meta. A plataforma cruzará esses dados com os usuários que interagiram com seus anúncios e atribuirá a conversão à campanha correta.
Em outras palavras: o Meta sabe que João Silva clicou em um anúncio na sexta-feira. Quando você carrega um CSV informando que João Silva (mesmo e-mail) fez uma compra na loja no sábado, o Meta conecta os dois pontos e registra a venda como resultado da campanha.
Quem deve usar — setores e casos de uso reais
Imobiliárias
Lead vem do anúncio → visita presencial ao imóvel → contrato assinado. Evento offline: Lead na visita e Purchase no fechamento.
Concessionárias
Anúncio gera interesse → test drive na concessionária → venda de veículo. Ciclo de 7 a 30 dias — invisível sem eventos offline.
Clínicas e Saúde
Anúncio → ligação → consulta presencial → procedimento. Cada etapa é uma conversão offline mensurável.
Academias e Cursos
Lead via Meta Ads → matrícula presencial ou por telefone → pagamento na recepção. Taxa de conversão online subestimada sem offline.
Serviços B2B
Ciclo de venda longo: anúncio → reunião → proposta → contrato assinado semanas depois. O offline fecha o ciclo de atribuição.
Varejo Físico
Anúncio promove produto → cliente vai à loja → compra no balcão. Conexão entre campanha e venda física sem código.
O problema real que os eventos offline resolvem
Sem eventos offline, o Meta Ads vê apenas uma fração da sua realidade de conversão. Isso causa três problemas sérios:
- ! ROAS subestimado: o painel mostra R$0,80 de retorno para cada R$1 investido, mas a realidade (incluindo vendas offline) é R$4,50. Você corta uma campanha que estava funcionando
- ! Algoritmo mal calibrado: o Meta otimiza para o perfil de usuários que converte online — que pode ser diferente do perfil de quem realmente compra na sua loja ou fecha contrato presencialmente
- ! Decisões erradas de escala: sem visibilidade do impacto real das campanhas nas vendas offline, você não sabe qual campanha merece mais budget — e toma decisões baseadas em dados incompletos
business.facebook.com → no menu lateral, clique em Gerenciador de EventosO arquivo CSV contém os dados das transações offline que você quer enviar ao Meta. O Meta usará esses dados para cruzar com os usuários que interagiram com seus anúncios.
Colunas disponíveis no CSV
| Coluna no CSV | Obrigatório? | Descrição | Formato |
|---|---|---|---|
| match_keys.email | Obrigatório* | E-mail do cliente (com hash SHA-256) | hash SHA-256 |
| match_keys.phone | Recomendado | Telefone com código do país: +5511999999999 | hash SHA-256 |
| match_keys.fn | Recomendado | Primeiro nome do cliente (minúsculas, sem acento) | hash SHA-256 |
| match_keys.ln | Recomendado | Sobrenome do cliente (minúsculas, sem acento) | hash SHA-256 |
| match_keys.ct | Opcional | Cidade (minúsculas, sem acento: "sao paulo") | hash SHA-256 |
| match_keys.zp | Opcional | CEP (apenas números: 01310100) | hash SHA-256 |
| event_time | Obrigatório | Data e hora da transação | Unix timestamp |
| event_name | Obrigatório | Tipo de evento: Purchase, Lead, CompleteRegistration | Texto simples |
| value | Recomendado | Valor da transação em reais (ex: 297.00) | Número decimal |
| currency | Recomendado | Código da moeda ISO 4217 | BRL |
| order_id | Opcional | ID único da transação — evita duplicatas | Texto/Número |
* Pelo menos um identificador de correspondência (email, phone, fn+ln+zp) é obrigatório. Quanto mais identificadores incluir, maior a taxa de correspondência com usuários do Meta.
Sobre o hash SHA-256
O Meta exige que dados pessoais (e-mail, telefone, nome) sejam enviados em formato hash SHA-256 para proteger a privacidade. O hash é uma transformação unidirecional — o Meta consegue fazer a correspondência sem nunca ver os dados originais.
import hashlib
def hash_sha256(value):
# normalizar: minúsculas e sem espaços nas bordas
normalized = value.lower().strip()
return hashlib.sha256(normalized.encode('utf-8')).hexdigest()
# Exemplos de uso:
hash_sha256("joao@email.com") # → hash do e-mail
hash_sha256("+5511999999999") # → hash do telefone
hash_sha256("joao") # → hash do primeiro nome
match_keys.email,match_keys.phone,event_time,event_name,value,currency,order_id
a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3,b3a8e0e1f9ab1bfe3a36f231f676f78bb28a2d5d3b0b9a30bd285e6e29b9f7c3,1746612000,Purchase,297.00,BRL,ORD-2026-001
Após o upload, os dados são usados para atribuição histórica. Para que o Meta use os eventos offline também na otimização de campanhas futuras, você precisa vincular o conjunto diretamente ao conjunto de anúncios:
API de Conversões Offline — envio automático em tempo real
O upload manual de CSV funciona, mas tem limitações: é um processo manual, sujeito a esquecimento, e os dados chegam com atraso de horas ou dias. A solução profissional é a API de Conversões da Meta, que desde 2023 suporta tanto eventos online quanto offline numa única integração.
Com a API, cada vez que uma venda offline ocorre no seu sistema (PDV, CRM ou ERP), os dados são enviados automaticamente ao Meta em segundos.
import requests, hashlib, time
# Configurações
PIXEL_ID = "SEU_PIXEL_ID" # Dataset ID
ACCESS_TOKEN = "SEU_SYSTEM_USER_TOKEN"
def sha256(v):
return hashlib.sha256(v.lower().strip().encode()).hexdigest()
# Dados da venda offline
payload = {
"data": [{
"event_name": "Purchase",
"event_time": int(time.time()), # timestamp agora
"action_source": "physical_store", # CHAVE: indica offline
"user_data": {
"em": sha256("joao@email.com"),
"ph": sha256("+5511999999999"),
"fn": sha256("joao"),
"ln": sha256("silva"),
},
"custom_data": {
"value": 297.00,
"currency": "BRL",
"order_id": "ORD-2026-001"
}
}],
"access_token": ACCESS_TOKEN
}
response = requests.post(
f"https://graph.facebook.com/v25.0/{PIXEL_ID}/events",
json=payload
)
print(response.json())
action_source define se o evento é online ou offline. Use "physical_store" para vendas em loja física, "phone_call" para vendas por telefone, "in_person" para reuniões presenciais ou "crm" para fechamentos registrados no CRM.
Automação com n8n e Make.com — o fluxo ideal
Para equipes sem desenvolvedores, n8n e Make.com permitem configurar o envio automático de eventos offline sem escrever código:
crypto.createHash('sha256').update(email.toLowerCase()).digest('hex')https://graph.facebook.com/v25.0/{pixel_id}/events com o payload formatado e o token do System User no headerPontuação de qualidade de dados offline
O Meta avalia a qualidade dos dados enviados com uma pontuação de 0 a 10. Quanto maior a pontuação, melhor a taxa de correspondência e mais eficiente o uso dos dados para otimização.
| Pontuação | Significado | O que fazer |
|---|---|---|
| 8,5 – 10 | Excelente — qualidade suficiente para anúncios omnichannel | Mantenha o padrão atual de dados |
| 6 – 8,4 | Boa — resultados confiáveis de atribuição | Tente adicionar mais identificadores (phone + CEP) |
| 4 – 5,9 | Regular — atribuição parcial, otimização limitada | Revise a normalização dos dados (case, formatação) |
| 0 – 3,9 | Baixa — poucos matches, dados pouco úteis | Revise o hash, normalização e completude dos campos |
- ✓ Envie sempre o e-mail + telefone + nome — cada identificador extra aumenta significativamente a chance de correspondência
- ✓ Normalize antes do hash: e-mail em minúsculas, telefone com +55 e DDD, nome sem acentos e em minúsculas
- ✓ Inclua o order_id para evitar contagem duplicada caso o mesmo evento seja enviado mais de uma vez
- ✓ Envie dados frescos: eventos de menos de 7 dias têm melhor taxa de correspondência do que eventos antigos
- ! Não envie dados de pessoas que não consentiram: em conformidade com a LGPD, certifique-se de que os clientes cuja compra você envia ao Meta consentiram com o uso de seus dados para fins de marketing
Eventos offline são o próximo nível da mensuração no Meta Ads — construídos sobre uma base sólida de campanha, rastreamento e automação:
Imersão Meta Ads — Expert Digital
Antes de configurar eventos offline, você precisa de campanhas bem estruturadas — com objetivo correto, Pixel instalado, eventos de lead configurados e copy que converte. Na Imersão Meta Ads da Expert Digital você aprende tudo isso na prática, com casos reais do mercado brasileiro e estrutura que suporta a mensuração offline.
→ Ver próximas turmas e cidades disponíveisCurso n8n na Prática — Expert Digital
A seção de automação deste artigo — enviar eventos offline automaticamente ao Meta assim que uma venda é registrada no CRM — é o tipo de workflow que você constrói no Curso n8n da Expert Digital. Você sai com a integração funcionando: venda fechada no CRM → hash SHA-256 gerado → evento enviado à API do Meta em segundos.
→ Acessar o curso completo de automações com n8nArtigo: 10 Formas de Rastrear se os Leads Vêm do Tráfego Pago
Os eventos offline são a forma mais avançada de rastrear a origem das conversões — mas há outros 9 métodos igualmente importantes para ter uma visão completa da atribuição das suas campanhas. Veja o guia completo com UTMs, GA4, Pixel, campo oculto em formulários e dashboard no Looker Studio.
→ Ler o guia completo de rastreamento de leadsPerguntas frequentes (FAQ)
O que são eventos offline no Meta Ads?
São conversões que acontecem fora do ambiente digital — vendas na loja física, contratos fechados presencialmente, vendas por WhatsApp ou telefone — enviadas de volta ao Meta para serem atribuídas às campanhas que geraram o interesse. O Meta cruza os dados do cliente (e-mail, telefone, nome) com os usuários que viram ou clicaram nos anúncios, melhorando a atribuição e a otimização das campanhas.
Como criar um conjunto de eventos offline no Meta Ads?
Acesse business.facebook.com → Gerenciador de Eventos → Conectar fontes de dados → Offline → Criar conjunto de eventos offline. Dê um nome descritivo, vincule ao Portfólio Empresarial e à conta de anúncios. Depois faça upload de um arquivo CSV com os dados hasheados (SHA-256) dos clientes ou use a API de Conversões com o parâmetro action_source para envio automático.
Quais dados são necessários no CSV de eventos offline?
Obrigatórios: pelo menos um identificador de correspondência (match_keys.email, match_keys.phone ou match_keys.fn+ln+zp com hash SHA-256), event_time (timestamp Unix) e event_name (Purchase, Lead, etc.). Recomendados: value, currency (BRL) e order_id. Quanto mais identificadores incluir, maior a taxa de correspondência com usuários do Meta.
Qual a diferença entre upload CSV e API de Conversões Offline?
O upload CSV é manual — você exporta dados do CRM, formata o arquivo e sobe no Gerenciador de Eventos. Funciona mas tem atraso e depende de processo humano. A API de Conversões envia os eventos automaticamente cada vez que uma venda é registrada no sistema — em segundos, sem intervenção humana. Para operações com volume, a API é sempre preferível.
Os dados offline precisam ter hash SHA-256?
Sim. O Meta exige que dados pessoais (e-mail, telefone, nome, endereço) sejam enviados em formato hash SHA-256 — uma transformação unidirecional que protege a privacidade. O Meta consegue fazer a correspondência com os perfis sem nunca ver os dados originais. Antes do hash, normalize: e-mail em minúsculas, telefone com +55 e DDD completo, nome sem acentos.
Quantos dias após a venda posso fazer o upload dos eventos offline?
O Meta aceita eventos offline com até 62 dias de atraso em relação à data da transação. Eventos mais antigos que 62 dias não são processados. Porém, para melhor taxa de correspondência e atribuição, envie os dados o mais próximo possível da data da venda — idealmente diariamente ou, no máximo, semanalmente.
Sem eventos offline, você está otimizando com metade dos dados
Se o seu negócio fecha vendas fora do digital, o Meta Ads está trabalhando no escuro. Cada venda presencial não rastreada é um dado que falta para o algoritmo aprender, um investimento não atribuído e uma campanha possivelmente cancelada por parecer ineficiente quando na verdade estava funcionando.
Comece pelo upload manual de CSV — é o caminho mais rápido para validar a correspondência e ver o impacto nas métricas. Depois automatize com n8n ou API para garantir consistência sem depender de processo humano.
Gostou do conteúdo? Compartilhe com anunciantes que ainda não usam eventos offline no Meta Ads! 📊