
por DK
Conversions API em 2026: setup server-side que salva atribuição quando BM cai
Pixel browser morreu devagar e a maioria dos gestores ainda não percebeu. Com iOS 14 já datado, iOS 17+ com Private Relay ativado por padrão, Firefox bloqueando fbclid de terceiros e Safari com ITP reduzindo janela de cookie pra 7 dias, o fbevents.js rodando sozinho captura entre 40% e 65% dos eventos reais dependendo do mix de dispositivo da sua audiência. Em operações com ticket alto — onde o comprador provavelmente usa iPhone com proteção de privacidade ativa — esse número cai mais.
Mas o problema não é só perda de volume. É perda de qualidade no sinal. O algoritmo Advantage+ toma decisões de bid, segmentação e expansão de público com base nos eventos que ele recebe. Quando você alimenta o modelo com 55% dos purchases reais, ele otimiza pra um perfil de comprador que não é o seu. CPA sobe, ROAS cai, você aumenta orçamento tentando compensar — e piora o sinal ainda mais.
A Conversions API server-side resolve isso. E tem um benefício colateral que poucos exploram: quando sua BM cai, você porta o histórico de eventos pra um pixel novo via API em 24 horas, não em 14 dias de reaquecimento. Esse post cobre o setup técnico completo, deduplicação correta, enriquecimento de eventos e a estratégia de contingência quando a estrutura cai.
Por que o pixel browser não basta mais em 2026
O fbevents.js funciona no contexto do browser do usuário. Ele depende de:
- Cookie de terceiro
_fbc(fbclid armazenado) para atribuição de clique - Cookie
_fbppara identificação de navegador - Contexto de execução JavaScript não bloqueado por extensão (uBlock, Privacy Badger, etc.)
- Permissão de rede para chamar
connect.facebook.netsem bloqueio de DNS
Em 2026, nenhum desses quatro está garantido:
- Safari bloqueia cookies cross-site por padrão. O
_fbcsome em 7 dias (ITP 2.3+). Em muitos casos some antes, porque o domínio de referência é classificado como tracker. - iOS 17+ com Private Relay mascara IP e user-agent. O fingerprinting implícito que a Meta usava como fallback deixou de funcionar.
- Chrome vai manter cookies third-party por enquanto, mas depreciação por Privacy Sandbox continua em fases — o
_fbccomo cookie third-party já foi afetado em certos contextos. - Em Android com browsers alternativos (Samsung Internet, Brave), bloqueio de scripts de rastreamento é ativado por padrão em versões novas.
Resultado: se você olhar no Events Manager a métrica Taxa de correspondência de eventos (Event Match Quality — EMQ), vai ver score abaixo de 6.0 em operações que dependem só do pixel browser. EMQ abaixo de 6 significa que a Meta não consegue associar o evento a um usuário confiável — o evento vai pra pool de otimização genérica, não alimenta seu público custom nem seu modelo de conversão.
CAPI server-side manda o evento direto do seu backend pra API da Meta, sem depender do browser do usuário. Você controla o payload, enriquece com dados que você tem (email, telefone, nome, CEP), e manda em tempo real. Score de EMQ sobe pra 7.5-9.0 facilmente com payload bem construído.
Arquitetura: as três formas de rodar CAPI
Antes de entrar em código, é importante entender as três arquiteturas disponíveis, porque a escolha impacta tanto a qualidade do sinal quanto a capacidade de contingência.
1. CAPI via integração nativa de plataforma (Shopify, VTEX, WooCommerce)
Meta tem integrações nativas com as principais plataformas. Você ativa no painel, conecta o pixel ID, e a plataforma começa a mandar eventos server-side de purchase, add-to-cart, etc.
Vantagens: zero código, deduplicação automática via event_id gerado pela plataforma, manutenção mínima.
Desvantagens: você não controla o payload. Não consegue enriquecer com dados de CRM, não manda eventos customizados de funil, e — o ponto crítico — quando você troca de pixel (porque BM caiu), depende da plataforma reconectar. Em alguns casos leva 24-72h esperando suporte da própria plataforma.
2. CAPI via Gateway da Meta (server-side via Meta)
A Meta oferece um gateway que você sobe via container Docker ou VM gerenciada por eles. O gateway intercepta eventos do pixel browser e os retransmite server-side com enriquecimento automático.
Vantagens: setup rápido, Meta gerencia infra, boa cobertura de eventos.
Desvantagens: dependência de infraestrutura da Meta. Quando BM tem problema, o gateway pode ser afetado também. Não é o modelo de contingência mais sólido.
3. CAPI direta via API — servidor próprio
Você implementa chamadas diretas pra graph.facebook.com/v19.0/{pixel_id}/events a partir do seu backend (Node, Python, PHP, Go — tanto faz). Controle total do payload, do timing, do enriquecimento, e — o mais importante — da chave de acesso.
Essa é a arquitetura que te dá real capacidade de contingência. Quando BM cai, você atualiza o pixel ID e o access token no seu servidor e o histórico de eventos começa a fluir pro pixel novo imediatamente. Sem esperar plataforma, sem esperar gateway.
Setup técnico: CAPI server-side direto
Pré-requisitos
- Pixel criado e verificado no Events Manager
- Access token de sistema (não de usuário) com permissão
ads_managementebusiness_management— gere via System User na BM, não via usuário pessoal. Token de usuário pessoal expira e cai junto com problemas de conta pessoal. - Servidor com capacidade de fazer requisição HTTP POST (qualquer backend serve)
- Domínio verificado na BM (obrigatório pra CAPI funcionar com qualidade de sinal adequada)
Estrutura do payload de Purchase
O evento de Purchase enriquecido corretamente tem esta estrutura:
POST /v19.0/{pixel_id}/events
{
"data": [
{
"event_name": "Purchase",
"event_time": 1717200000,
"event_id": "order_12345_1717200000",
"event_source_url": "https://seudominio.com.br/obrigado",
"action_source": "website",
"user_data": {
"em": ["<SHA256 do email em lowercase>"],
"ph": ["<SHA256 do telefone em E.164>"],
"fn": "<SHA256 do primeiro nome em lowercase>",
"ln": "<SHA256 do sobrenome em lowercase>",
"zp": "<SHA256 do CEP>",
"ct": "<SHA256 da cidade em lowercase>",
"st": "<SHA256 do estado em lowercase — 'sp', 'rj', etc.>",
"country": "<SHA256 de 'br'>",
"client_ip_address": "<IP real do usuário>",
"client_user_agent": "<User-Agent real do browser do usuário>",
"fbc": "<valor do cookie _fbc do usuário se disponível>",
"fbp": "<valor do cookie _fbp do usuário se disponível>"
},
"custom_data": {
"currency": "BRL",
"value": 297.00,
"content_ids": ["produto_456"],
"content_type": "product",
"content_name": "Nome do Produto",
"num_items": 1
}
}
],
"access_token": "<seu_system_user_token>",
"test_event_code": "<remova em produção>"
}
Alguns pontos críticos nesse payload:
event_id — esse campo é o coração da deduplicação. Precisa ser único por evento real. O padrão {tipo}_{order_id}_{timestamp} funciona bem. O mesmo event_id enviado pelo pixel browser e pelo servidor diz pra Meta: "esses dois eventos são o mesmo — conta só uma vez".
Hash SHA256 — todos os campos de user_data pessoal (email, telefone, nome, endereço) devem ser hasheados com SHA256 antes de enviar. A Meta não aceita dados em texto claro. Email: lowercase, sem espaços. Telefone: formato E.164 (+5511999999999), sem formatação. Cidade: lowercase, sem acento.
client_ip_address e client_user_agent — sem esses dois campos, o evento server-side não contribui pro EMQ. Você precisa capturar o IP e o User-Agent do browser do usuário no momento do evento (normalmente na requisição que o frontend faz pro seu backend) e incluir aqui. Não use o IP do seu servidor.
fbc e fbp — se você captura os cookies do usuário (e deve), inclua. Eles são o elo de ligação entre o clique no anúncio e o evento server-side. Sem eles, a Meta associa o evento por dados pessoais hasheados (email/telefone), que funciona mas é menos preciso.
action_source — use "website" pra eventos de site. Use "crm" pra eventos retroativos de CRM. Use "email" pra eventos disparados por email marketing. Isso afeta como a Meta trata o evento no modelo de atribuição.
Enviando via Python (exemplo)
import hashlib
import time
import requests
def sha256_hash(value: str) -> str:
return hashlib.sha256(value.strip().lower().encode()).hexdigest()
def send_purchase_event(
pixel_id: str,
access_token: str,
order_id: str,
email: str,
phone: str,
value: float,
product_id: str,
ip: str,
user_agent: str,
fbc: str = None,
fbp: str = None
):
event_time = int(time.time())
event_id = f"purchase_{order_id}_{event_time}"
user_data = {
"em": [sha256_hash(email)],
"ph": [sha256_hash(phone)],
"client_ip_address": ip,
"client_user_agent": user_agent,
}
if fbc:
user_data["fbc"] = fbc
if fbp:
user_data["fbp"] = fbp
payload = {
"data": [{
"event_name": "Purchase",
"event_time": event_time,
"event_id": event_id,
"action_source": "website",
"user_data": user_data,
"custom_data": {
"currency": "BRL",
"value": value,
"content_ids": [product_id],
"content_type": "product",
"num_items": 1
}
}],
"access_token": access_token
}
url = f"https://graph.facebook.com/v19.0/{pixel_id}/events"
response = requests.post(url, json=payload)
return response.json()
Em Node.js o padrão é idêntico — crypto.createHash('sha256').update(value).digest('hex') pra hash, fetch ou axios pra POST.
Deduplicação browser + server: a parte que todo mundo erra
A deduplicação é o ponto onde a maioria das implementações quebra silenciosamente. O sintoma: Events Manager mostrando o dobro de purchases. Anunciante acha que vendeu mais e corta orçamento pra "não queimar". Na prática, está contando dois vezes.
O mecanismo de dedupe da Meta é simples: dois eventos com o mesmo event_name e o mesmo event_id, recebidos em menos de 48 horas, são deduplicados automaticamente. A Meta mantém o evento server-side (considerado mais confiável) e descarta o browser.
Para isso funcionar, você precisa:
No pixel browser (fbevents.js):
fbq('track', 'Purchase', {
currency: 'BRL',
value: 297.00,
content_ids: ['produto_456'],
content_type: 'product',
num_items: 1
}, {
eventID: 'purchase_12345_1717200000' // mesmo event_id que o servidor vai mandar
});
O eventID no objeto de opções (segundo argumento do fbq track) é o campo de dedupe do lado browser.
No servidor: o mesmo valor no campo event_id do payload.
O desafio prático: o event_id precisa ser gerado antes de renderizar a página de obrigado (onde o pixel browser vai disparar), e também precisa estar disponível pra chamada server-side que acontece no backend quando o pedido é confirmado.
A solução mais simples: gere o event_id no momento de confirmação do pedido no backend, grave no banco junto com o pedido, e passe pro frontend via variável na página de obrigado. O frontend usa pra disparar o pixel. O backend usa pra chamar CAPI. Mesma string, dedupe garantido.
Erro comum 1: Gerar event_id diferente em cada call. Acontece quando o frontend gera um UUID e o backend gera outro. Resultado: dois eventos distintos, sem dedupe.
Erro comum 2: Usar timestamp puro como event_id. Se o frontend dispara em T+0 e o servidor dispara em T+2s, os timestamps são diferentes. Use o timestamp do momento de geração do pedido, fixo, não do momento de envio do evento.
Erro comum 3: Não passar eventID no pixel browser. Sem esse campo, a Meta não tenta deduplicar — os dois eventos entram no modelo independentemente.
Eventos enriquecidos além do Purchase
Purchase é o evento mais crítico, mas o funil completo bem instrumentado alimenta o algoritmo muito melhor. A Meta usa os eventos upstream (ViewContent, AddToCart, InitiateCheckout) pra modelar probabilidade de conversão e expandir audiência pra pessoas similares.
Quais eventos valem a pena rodar via CAPI server-side:
- Lead — se você opera formulário, o submit do form deve disparar CAPI com email e telefone hasheados. Esse é o evento com maior impacto em campanhas de lead gen porque captura usuários que enviaram o form mas fecharam o browser antes do pixel browser disparar.
- InitiateCheckout — captura usuário que chegou no checkout mas não comprou. Útil pra remarketing e pra sinal de intenção.
- AddToCart — menor prioridade pra CAPI server-side, porque normalmente acontece via clique (JavaScript disponível). Mas em mobile com conexão instável, vale ter o fallback.
- Purchase — prioridade máxima. Qualquer compra confirmada no backend deve ir via CAPI, independente do pixel browser ter disparado ou não.
- Eventos customizados de CRM — se você tem funil de vendas com SDR/closer, pode mandar evento de
action_source: "crm"quando um lead qualifica ou fecha. Isso alimenta o modelo com sinal de qualidade que o pixel nunca veria.
Monitorando qualidade no Events Manager
Depois de implementar, você monitora em Events Manager → seu pixel → Atividade de eventos.
Métricas que importam:
Taxa de correspondência (EMQ): escala de 0 a 10. Abaixo de 5: sinal fraco, o algoritmo não consegue associar os eventos a usuários conhecidos. 6-7: aceitável. 8-9: ótimo. 10: praticamente impossível com tráfego real (indicaria dados artificiais).
O que eleva EMQ:
- Email hasheado (maior peso)
- Telefone hasheado (segundo maior peso)
fbcefbppresentes- IP e User-Agent corretos
- Nome e endereço hasheados (contribuição menor mas acumulativa)
Eventos recebidos (Server): deve bater com seu volume de pedidos real. Se você vende 100 orders/dia e CAPI mostra 60 eventos server-side de Purchase, tem bug de implementação — provavelmente o evento não está sendo disparado em todos os fluxos de checkout (PIX confirmado assincronamente, boleto, fallback de gateway, etc.).
Taxa de deduplicação: Events Manager mostra quantos eventos foram deduplicados. Se for zero com pixel browser também ativo, a deduplicação está quebrada — revise o event_id.
Cobertura de eventos: porcentagem de eventos que vieram apenas server-side, apenas browser, ou ambos (com dedupe). O ideal é que a maioria venha de ambas as origens — significa que você tem cobertura completa.
A estratégia de contingência: portando eventos quando BM cai
Aqui está o valor real do CAPI server-side pra operações que sofrem instabilidade de estrutura.
Quando uma BM cai, o pixel associado a ela fica inacessível. Se você só tinha pixel browser, o histórico de eventos está preso naquele pixel — e você começa do zero com pixel novo, sem dados de audiência, sem histórico de otimização, sem public custom de compradores. A fase de reaquecimento do algoritmo dura 7-14 dias dependendo do volume.
Com CAPI server-side próprio, o processo é diferente:
1. Crie pixel novo (numa BM cedida ou na sua BM de backup)
2. Atualize duas variáveis no seu servidor:
PIXEL_ID→ novo pixelACCESS_TOKEN→ novo system user token associado ao pixel novo
3. Retroalimente eventos dos últimos 7 dias via batch CAPI. A API aceita event_time até 7 dias no passado. Você pega o histórico de pedidos do seu banco e manda em batch:
# exemplo de retroalimentação de eventos passados
for order in last_7_days_orders:
send_purchase_event(
pixel_id=NEW_PIXEL_ID,
access_token=NEW_ACCESS_TOKEN,
order_id=order.id,
email=order.customer_email,
# ... demais campos
event_time=order.confirmed_at_timestamp # timestamp original do pedido
)
Em 2-4 horas de processamento da API, o pixel novo tem histórico de purchase dos últimos 7 dias. Público custom de compradores recentes está populado. Algoritmo tem sinal pra otimizar.
Comparado com zero dados num pixel completamente novo, essa diferença é enorme em termos de velocidade de reaquecimento. Campanhas retomam performance em 24-48h vs 10-14 dias.
4. Atualize o pixel browser na tag do GTM ou no código hardcoded — troque o pixel ID e republique.
Com GTM, essa última etapa leva menos de 5 minutos. Sem GTM (pixel no código), depende de deploy — argumento forte pra usar GTM em qualquer operação que sofra risco de troca de estrutura.
Gerando o System User Token corretamente
Esse passo é frequentemente feito errado. Token de usuário pessoal é o erro mais comum:
- Token de usuário pessoal expira em 60-90 dias
- Token de usuário pessoal fica inválido se a conta pessoal tiver problema
- Token de usuário pessoal não funciona se o usuário for removido da BM
System User Token:
- Não expira (a menos que você revogue manualmente)
- Não está associado a nenhuma conta pessoal
- Funciona mesmo se admin humano for removido da BM
Como gerar:
- BM → Configurações → Usuários → Usuários do Sistema
- Adicionar → Nome (ex: "CAPI Server") → Função: Admin
- Gerar token → selecione o app que você criou (ou crie app básico via developers.facebook.com)
- Permissões mínimas:
ads_management,pages_show_list(se precisar de fanpage) - Defina sem expiração
- Guarde o token em variável de ambiente no servidor — nunca no repositório
Assim o token sobrevive a qualquer turbulência de conta pessoal.
Checklist de implementação CAPI server-side
- Pixel criado com domínio verificado na BM
- System User Token gerado (não token de usuário pessoal)
- Token armazenado em variável de ambiente (não hardcoded)
- Backend dispara CAPI em todos os fluxos de confirmação de pedido (PIX, cartão, boleto após compensação)
- Payload inclui IP e User-Agent real do cliente (não do servidor)
- Todos os campos PII hasheados com SHA256 (email lowercase, telefone E.164)
event_idgerado no backend no momento do pedido e passado pro frontend- Pixel browser usando mesmo
event_idno campoeventIDdo fbq track - Events Manager mostrando deduplicação ativa
- EMQ acima de 7.0
- Alertas configurados pra queda de volume de eventos (ferramentas como Grafana, Datadog ou até um cron simples que alerta se purchase count cair 50% em relação à média)
- Script de retroalimentação testado com pedidos reais do último mês (roda em modo de teste com
test_event_codepra não poluir dados reais) - Novo pixel ID e token atualizáveis em menos de 5 minutos no servidor
Erros que comprometem silenciosamente a implementação
Alguns erros não quebram a implementação — eles apenas reduzem a qualidade do sinal sem erro visível:
Telefone sem DDI: 11999999999 hasheado é diferente de +5511999999999 hasheado. A Meta não consegue fazer match. Sempre normalize pro formato E.164 antes de hashar.
Email com letras maiúsculas: João@gmail.com hasheado é diferente de joão@gmail.com. Sempre .toLowerCase() antes do hash.
Envio atrasado: CAPI aceita eventos com até 7 dias de atraso, mas eventos com mais de 1 hora de delay têm peso menor no modelo de atribuição. Dispare o mais próximo possível do evento real.
Payload de valor errado: value deve ser o valor líquido da compra em BRL (ou na moeda configurada no pixel). Mandar valor bruto com frete quando o produto custa R$ 297 e o total com frete é R$ 327 distorce o modelo de ROAS.
Não mandar content_ids: sem content_ids correspondendo ao catálogo de produtos, campanhas de DPA (Dynamic Product Ads) não conseguem associar o evento ao produto — retargeting de produto específico fica cego.
Advantage+ e CAPI: por que o sinal ficou ainda mais crítico
Com Advantage+ assumindo controle de decisão de entrega, a qualidade do sinal de evento virou o principal alavanca que o gestor ainda controla. No modelo de campanha manual, você definia audiência, placement, CPA target — o algoritmo otimizava dentro dos seus parâmetros. Com Advantage+ Shopping e Advantage+ Audience, você entrega criativo e orçamento e o modelo decide tudo mais.
Isso significa que um sinal ruim (pixel browser sem CAPI, EMQ baixo, poucos eventos, dados sem enriquecimento) traduz diretamente em modelo pior, CPA mais alto, e dificuldade pra escalar. Não tem como compensar com ajuste de audiência ou bid manual porque você simplesmente não tem mais esses controles.
Na prática, gestor que opera Advantage+ com pixel browser sozinho em 2026 está dando ao concorrente — que tem CAPI com EMQ 8.5 — uma vantagem estrutural de custo por resultado. O mesmo orçamento, modelo melhor alimentado, CPM efetivo menor.
Isso se intensifica quando você considera que criativos em escala (30-50 variações por semana) geram mais eventos de revisão automática, e que o algoritmo depende de volume de sinal pra estabilizar performance após cada ciclo de teste. Sinal fraco + alto volume de variações = instabilidade crônica de campanha.
Considerações de privacidade e LGPD
CAPI transmite dados pessoais hasheados pra Meta. Do ponto de vista da LGPD, você é controlador dos dados do seu cliente e a Meta é operadora. Você precisa:
- Consentimento explícito do usuário pra coleta e compartilhamento de dados pra fins de publicidade (normalmente coberto pelo banner de cookies + política de privacidade)
- Política de privacidade que menciona explicitamente compartilhamento com Meta para fins de segmentação
- Contrato de Proteção de Dados com Meta (aceito nos termos de serviço do pixel quando você habilita CAPI)
O hash SHA256 não é anonimização completa (é pseudonimização — reversível se você souber o valor original), então não elimina a obrigação de consentimento. Mas a Meta exige o hash por contrato, não como bypass de privacidade.
Na prática, se você já tem banner de cookies e política de privacidade adequados pro pixel browser, CAPI não adiciona obrigação nova — apenas formaliza o compartilhamento que já estava acontecendo via pixel.
Quando a BM cai: o fluxo completo de continuidade
Condensando tudo acima num fluxo operacional pra momento de crise:
- BM caiu → campanhas pausadas → pixel inacessível
- Abre recurso pelo Support Home (não vai esperar — vai continuar operando em paralelo)
- Sobe nova estrutura: pixel novo em BM cedida ou BM de backup
- Atualiza pixel ID e access token no servidor de CAPI (2 variáveis de ambiente)
- Executa script de retroalimentação com pedidos dos últimos 7 dias
- Atualiza pixel no GTM (novo ID) — republica
- Sobe campanha nova no pixel novo — já tem histórico de purchase, audiência custom populada
- Monitor de Events Manager confirma volume de eventos voltando ao normal
- Operação retomada em 24-48h em vez de 10-14 dias de reaquecimento do zero
A diferença entre esse fluxo e o gestor sem CAPI: um retoma em 24h, o outro passa 2 semanas tentando reativar BM enquanto o caixa sangra.
Ferramentas complementares no stack de tracking
CAPI server-side resolve a camada de conversão pra Meta. Mas o stack de tracking completo de uma operação que sofre instabilidade de estrutura geralmente inclui:
- Tracker de servidor (RedTrack, Binom, Voluum) — captura 100% dos cliques no nível de servidor, independente de pixel. Quando você migra de pixel, histórico de clique continua no tracker.
- GTM server-side — container server-side que roda na sua infra, captura dados de primeiro partido antes de distribuir pra Meta, Google, TikTok. Mais resiliente que tags client-side e reduz carga no browser do usuário.
- Webhook de plataforma de pagamento — Stripe, PagarMe, Mercado Pago oferecem webhooks de confirmação de pagamento. Use esse webhook como gatilho pro CAPI de Purchase — é o sinal mais confiável de conversão real porque vem diretamente da plataforma de pagamento, não do comportamento do usuário no browser.
A integração webhook → CAPI é especialmente importante pra fluxos assíncronos: PIX confirmado 2 minutos depois do clique, boleto pago 2 dias depois. O pixel browser nunca captaria esses eventos. CAPI via webhook captura 100%.
Enquanto a BM não volta
Implementar CAPI server-side resolve a camada de tracking. Mas se a BM está caída, você também precisa de estrutura de anúncio pra rodar enquanto o recurso processa. Pixel com histórico sem conta de anúncio não anuncia nada.
Enquanto a BM bloqueada não volta — e o recurso pode levar de 2 dias a 3 semanas — dá pra retomar o gasto entregando contas de anúncio direto na sua BM (ou numa BM cedida) via ADS FLOW, com o pixel novo que você acabou de configurar com CAPI. Toda a estrutura de sinal que você montou já está funcionando pra novo pixel — só precisa do veículo de anúncio pra ativar. Conversa: t.me/oadsflow.
Precisa rodar sem queimar BM?
Provisionamos contas Meta compartilhadas direto na sua BM. 30 a 1.000+ contas, com fanpages 2021 opcionais, BMs cedidas — você não expõe sua estrutura.
Campanha pausada subitamente no Meta Ads: diagnóstico em 10 minutos
Campanha estável pausou sem aviso no Meta Ads? Seis causas prováveis em 2026, checklist de triagem por ordem de prioridade e caminhos de reativação para cada cenário.
Lookalike sumiu após queda da BM: como recriar sem perder qualidade
Pixel novo, LAL morto. Veja como exportar seed audience, fazer upload no pixel substituto e recriar lookalike com 70-85% da qualidade original em 24-72h.
Aquecer pixel novo após perda do original: 7 a 14 dias acelerados
Pixel zerado trava o Advantage+ em tráfego frio. Veja como acelerar a calibração via CAPI enriquecida, upload de histórico e audience matching antes de voltar a escalar.