Como configurar a Conversions API da Meta em 2026
Tutorial completo de instalação de Meta Conversions API via Stape: setup do container server, configuração do Pixel + CAPI, deduplicação por event_id, EMQ acima de 8. Com screenshots e troubleshooting.
Há uns tempos abri uma conta Meta Ads de um cliente e o tracking estava só com o Pixel. Sabes o que é o Pixel? É um bocadinho de código que vive no browser da pessoa e avisa a Meta cada vez que alguém compra ou preenche um formulário. O problema é que desde o iOS 14 muitos browsers bloqueiam esse aviso, e a Meta deixa de ver metade das vendas.
A solução chama-se Conversions API (CAPI). Em vez de o aviso sair do telemóvel da pessoa, sai do teu servidor diretamente para a Meta (é a isto que chamam server-side). É um caminho que ninguém bloqueia. Em 2026, qualquer conta a sério precisa disto.
Há três formas de instalar CAPI. O Stape (a mais simples, e a que vou usar aqui), o GTM Server-Side em Cloud Run (mais flexível, mas dá mais trabalho) e a Direct API server-to-server (só compensa para volumes muito grandes, acima de 10M eventos/mês). Vamos pelo Stape, que resolve 90% dos casos.
Porque escolho o Stape
O Stape é um GTM Server-Side já montado por eles. Em vez de andares a configurar servidores na Google Cloud, eles tratam da parte chata da infraestrutura por ti.
Em 2026 o plano gratuito dá 1M de pedidos por mês, o que chega para a maioria dos negócios que gastam menos de €10k/mês em anúncios. O plano Pro (€49/mês) sobe para 10M e dá-te subdomínio próprio, containers ilimitados e logs mais detalhados.
Podias montar tudo à mão no Cloud Run e terias controlo total. Mas ficavas com o servidor às costas: escalar, monitorizar, pagar a fatura (€20 a €80/mês), tratar do DNS e do SSL. Para quase toda a gente, o Stape compensa.
Passo 1: criar conta no Stape e o container
Vai a app.stape.io e cria conta. Escolhe o plano Free para começar. Depois cria um container novo (pensa no container como a caixa onde toda a configuração vai viver):
- Container name:
obruno-pt-server(mete um nome que percebas depois) - Location: Europe (para clientes europeus é o melhor, fica mais rápido e respeita o RGPD)
No fim recebes um URL do container parecido com https://yourcontainer.eu.stape.io. É este endereço que vai receber os eventos.
Passo 2: subdomínio próprio (opcional, mas vale a pena)
Por defeito o tráfego vai para *.stape.io. Se usares um subdomínio teu, os cookies aguentam mais tempo (em iOS 17+ isso conta) e tens melhor first-party tracking, ou seja, a medição corre pela tua própria casa em vez de uma morada estranha. Faz-se assim:
- No Stape: Settings → Custom Domain → adicionar
gtm.obruno.pt - No teu DNS provider: criar CNAME
gtm→tracking.stape.io - Aguardar propagação (5-30 min)
Com isto, os pedidos passam a sair de gtm.obruno.pt e não de um domínio estranho. Os ad blockers tropeçam menos e o teu EMQ sobe um bocadinho.
Passo 3: criar o container Server no GTM
Vai a tagmanager.google.com e faz isto:
- Cria um container novo do tipo “Server”
- Quando perguntar “Manually provision tagging server”, cola a Container URL do Stape
- O GTM dá-te uma Container Config (uma string longa que vais colar no Stape)
Volta ao Stape, vai a Settings → Container Configuration, cola a string e grava. Em 1 a 2 minutos fica ativo.
Passo 4: pôr o Pixel a enviar para o servidor
No teu GTM Web container (atenção, é o Web, não o Server) edita a tag do Meta Pixel:
fbq('init', 'PIXEL_ID');
fbq('set', 'agent', 'tmgoogletagmanager', 'PIXEL_ID');
fbq('track', 'PageView');O mais importante vem agora. Nas tags de conversão (Purchase, Lead, AddToCart), em “Object Properties”, passa um event_id gerado na hora. Pensa no event_id como o bilhete de identidade do evento: é o que vai permitir à Meta perceber depois que o aviso do browser e o aviso do servidor são a mesma venda. Exemplo:
const eventId = crypto.randomUUID();
fbq('track', 'Purchase', {
value: 99.50,
currency: 'EUR',
content_ids: ['SKU-123'],
}, { eventID: eventId });
// E push para dataLayer para o server container ler
dataLayer.push({
event: 'purchase_server',
event_id: eventId,
value: 99.50,
currency: 'EUR',
email: '{{User Email Hashed}}',
});Passo 5: criar a tag CAPI no container Server
Volta ao container Server do GTM. Vai a Templates → Search Gallery e procura “Meta Conversions API Tag” (é o template oficial da Meta, gratuito). Importa.
Depois cria uma tag nova:
- Tag type: Meta Conversions API
- Pixel ID: o teu
- API Access Token: vai a Events Manager → o teu pixel → Settings → Generate Access Token. Copia para o GTM.
- Event Name: {{Event}} (referência ao GTM event)
- Event Source URL: {{Page URL}}
- Event ID: {{Event ID}} (lido do dataLayer)
Passo 6: mapear bem o user_data
O user_data é onde está o ouro. São os dados da pessoa que ajudam a Meta a perceber a quem pertence aquela venda. Quantos mais campos enviares, melhor a Meta consegue fazer o match, e mais alto fica o EMQ. Não te preocupes com privacidade: o template já transforma tudo num código ilegível (chama-se hashing SHA256) antes de sair.
- em (email), sempre que tiver
- ph (phone), sempre que tiver
- fbp, cookie
_fbpdo browser - fbc, query string
fbclidou cookie_fbc - client_ip_address, IP do request (auto)
- client_user_agent, User-Agent (auto)
- ge (gender), db (DOB), fn/ln (first/last name), ct/st/zp/country, quando disponível
Quantos mais campos reais enviares, maior o EMQ. O objetivo em produção é chegar a 8 ou mais.
Passo 7: não contar a mesma venda duas vezes
Isto é o ponto onde mais gente se queima. O Pixel e a CAPI têm de enviar o mesmo event_id para o mesmo evento. Quando isso acontece, a Meta percebe que é a mesma venda e conta uma vez só (a isto chama-se deduplicação). Se te esqueceres, ficas com vendas a dobrar e o algoritmo passa a otimizar com base em números errados.
Para confirmar: Events Manager → Test Events → envia 1 evento de teste. Deve aparecer com origem Server e Browser e o ícone de deduplicação visível.
Passo 8: testar com o Test Events
Events Manager → Test Events → gera um Test Event Code. Volta ao GTM e adiciona-o como variável temporária na tag CAPI, a disparar em todas as conversões.
Agora faz uma compra ou um lead de teste no site a sério. Em segundos aparece no Test Events com:
- Event name correto
- Source: Server + Browser
- Deduplicação: ✓
- EMQ score por parâmetro user_data
Se aparecer um Diagnostic warning, corrige antes de pôr isto a sério no ar.
Passo 9: confirmar o EMQ em produção
Passadas 24 horas no ar, vai a Events Manager → Data Sources → o teu Pixel → Diagnostics → Event Match Quality.
Por cada evento vais ver um número:
- EMQ 8-10: excelente. O algoritmo trabalha ao máximo.
- EMQ 6-7: assim-assim. Procura o que falta (email? telefone?).
- EMQ < 6: mau. O user_data está mal mapeado ou o hash está errado.
Passo 10: vigiar as primeiras 2 semanas
Nestas duas semanas, fica de olho em quatro coisas:
- Volume de eventos. O Pixel e a CAPI devem ter volumes parecidos (sinal de que a deduplicação está a funcionar). Se a CAPI tiver muito menos, há problema no servidor.
- EMQ por evento. Mantém em 8 ou mais.
- CPA e ROAS, o que aparece vs o que vendeste a sério. Com a CAPI bem feita, ao fim de 1 a 2 semanas os números apresentados aproximam-se da realidade, porque deixam de ficar vendas por contar.
- Avisos no Diagnostics. Vê todos os dias nesta fase inicial.
Problemas comuns e como os resolver
EMQ baixo: faltam campos no user_data. Adiciona fn, ln, ge, db, ct, st, zp, country sempre que os tiveres. Mesmo que só consigas alguns, já ajuda.
Vendas a dobrar: o event_id está diferente entre o Pixel e a CAPI. Confirma que estás a passar o mesmo UUID nos dois.
Eventos não chegam ao servidor: a Container URL está mal ou a Container Config não foi colada no Stape. Verifica outra vez.
Está lento: o container do Stape está numa região errada para o teu cliente. Se o cliente é europeu, muda o container para Europe.
E depois disto
Com a CAPI a funcionar e o EMQ em 8 ou mais, já podes:
- Ligar o Advantage+ Shopping com confiança, porque agora ele decide com dados limpos
- Subir o orçamento das campanhas, já que o algoritmo passou a decidir melhor
- Fazer o mesmo em Google Ads com as Enhanced Conversions (a lógica é igual)
- Pedir uma auditoria gratuita para validar a configuração antes de acelerares
Se este guia te poupou tempo, partilha com alguém. Toda a gente passa por esta curva técnica mais cedo ou mais tarde.
Continua a ler
Outros artigos relacionados
Ferramentas que podem ajudar
Precisas de ajuda com isto num cliente?
Faço auditorias gratuitas a contas Google Ads e Meta Ads em 24h.