Tráfego Pago
Ilustração do tema do artigo

Por dentro do pixel do ChatGPT Ads: implementamos em 142 páginas poucos dias depois de ele chegar ao Brasil

O piloto do ChatGPT Ads abriu no Brasil em 4 de agosto. Em 7 de agosto já tínhamos o pixel, o evento de conversão e a Conversions API rodando em 142 páginas. O código real, passo a passo, e o paralelo direto com o Meta Pixel.

Atualizado em

Conteúdo deste post
  1. O que chegou no painel
  2. Como implementamos nas 142 páginas
  3. O paralelo com o Meta Pixel
  4. Valor por lead, não só volume
  5. A lição: instrumentar antes de investir
  6. Perguntas frequentes

A OpenAI abriu o piloto do ChatGPT Ads no Brasil em 4 de agosto de 2026. Três dias depois, em 7 de agosto, o Grupo HRZ já tinha o pixel oficial instalado em 142 páginas do próprio site, o evento de conversão configurado em cada formulário de captação de lead e o lado servidor, a Conversions API, rodando em paralelo. Não é um plano para o próximo trimestre, é o que já está no ar agora.

Escrevemos este artigo no mesmo dia em que terminamos a implementação, com o código exatamente como veio do painel do ChatGPT Ads Manager e com as decisões técnicas que tomamos ao instalar. Boa parte do que circula sobre esse pixel até agora é especulação sobre o que a OpenAI provavelmente vai entregar. Aqui está o que ela realmente entregou, com o snippet real, e como ficou depois de rodar em produção, não em um ambiente de teste isolado.

Isso importa por um motivo simples. Quando um canal de mídia novo abre, a maioria das agências e dos times de marketing começa pela criatividade e pela verba, e só depois pensa em como medir o que aconteceu. Nós fizemos o caminho inverso: instrumentamos o rastreamento antes de existir uma única campanha ativa nesse canal. O resto deste artigo mostra exatamente como.

Quem escreve Hugo Silveira Co-fundador do Grupo HRZ

Lidera as operações de aquisição, dados e automação do Grupo HRZ, incluindo a instrumentação de pixel e Conversions API em todos os canais de mídia paga da empresa. Escreve sobre vendas, automação e crescimento de operações reais.

O que chegou no painel: pixel, evento e Conversions API

O ponto de partida foi o próprio painel do ChatGPT Ads Manager, na seção Configurações, dentro de Fonte de dados. É lá que a OpenAI entrega o pixel do jeito que qualquer anunciante recebe hoje, com um ID único de pixel gerado para a conta e um snippet pronto para colar no site.

O snippet base é este, com o pixelId mascarado neste artigo por segurança:

Snippet de instalação, colado no head
<script>!function(w,d,s,u){if(w.oaiq)return;var q=function(){q.q.push(arguments)};q.q=[];w.oaiq=q;var j=d.createElement(s);j.async=1;j.src=u;var f=d.getElementsByTagName(s)[0];f.parentNode.insertBefore(j,f)}(window,document,"script","https://bzrcdn.openai.com/sdk/oaiq.min.js");oaiq("init",{pixelId:"SEU_PIXEL_ID",debug:true});</script>

Esse trecho faz três coisas. Cria uma fila global (oaiq.q) que guarda as chamadas enquanto o script externo ainda não carregou, o mesmo truque que o gtag.js do Google e o fbevents.js do Meta usam há anos para não perder nenhuma chamada disparada cedo demais. Depois injeta, de forma assíncrona, o script real hospedado em bzrcdn.openai.com, o CDN da OpenAI para esse SDK. E por fim chama oaiq("init", ...) passando o pixelId da conta, com debug:true nesse exemplo, uma flag que só serve para expor logs no console do navegador enquanto se está testando.

Para quem nunca instalou um pixel de mídia, a leitura de negócio é direta: esse bloco de código é o que permite que o ChatGPT Ads saiba que alguém visitou uma página do site. Sozinho, ele não mede conversão nenhuma, só presença. A conversão de verdade vem do segundo pedaço, o evento.

O painel também trouxe o exemplo de evento de conversão, a chamada que dispara no momento em que algo de valor acontece, como um cadastro concluído:

Evento de conversão, disparado no navegador
oaiq("measure", "registration_completed", {
  type: "customer_action",
  amount: 0,
  currency: "USD"
});

Aqui o nome do evento (registration_completed) é escolhido pelo anunciante, e o parâmetro type:"customer_action" identifica o evento como uma ação de cliente para o sistema de otimização de campanha da OpenAI. O amount e o currency existem para casos em que a conversão já tem valor monetário conhecido no momento do disparo, como uma compra. Para lead, como vamos detalhar mais à frente, o amount não precisa ficar fixo em zero.

O terceiro pedaço é o que menos gente instala de cara, porque exige mexer no backend: a Conversions API. O painel entrega o endpoint e o formato do corpo esperado. É uma chamada POST para https://bzr.openai.com/v1/events, com o pixelId como parâmetro pid na própria URL e autenticação via header Authorization: Bearer com uma API key da conta. O corpo vai em JSON, com uma lista de eventos, e cada evento carrega id, type, timestamp_ms, source_url, action_source:"web" e um objeto data com o tipo do evento.

Chamada server-side, Conversions API
POST https://bzr.openai.com/v1/events?pid=SEU_PIXEL_ID
Authorization: Bearer <API-KEY>
Content-Type: application/json

{
  "events": [
    {
      "id": "evt_8f2e1c9a",
      "type": "lead_created",
      "timestamp_ms": 1754568000000,
      "source_url": "https://grupohrz.com/seja-um-representante",
      "action_source": "web",
      "data": { "type": "customer_action" }
    }
  ]
}

Por que isso é a mesma ideia de duas pernas do Meta e do Google: o pixel roda no navegador do usuário, a API roda no servidor do anunciante, e as duas precisam mandar o mesmo evento com o mesmo identificador, para que o sistema de anúncios não conte a mesma conversão duas vezes.

Como foi a implementação nas 142 páginas, na prática

Com o código do painel em mãos, o trabalho de implementação seguiu cinco etapas, nessa ordem.

Se você ainda não criou nenhuma campanha na plataforma, vale ver antes o passo a passo completo com prints reais de como o painel funciona, do zero até a publicação.

Prefere assistir? Veja o passo a passo completo em vídeo, com a mesma jornada mostrada nos prints.

  1. Script base em 142 páginas. Instalamos o snippet cobrindo o site institucional, o blog com mais de 130 posts publicados e o portal do CRM. Testamos primeiro em uma amostra pequena, confirmamos que o pixel carregava e disparava o evento init sem erro no console, e só depois aplicamos em massa nas 142 páginas, com validação de sintaxe automática rodando em cada arquivo antes de considerar a implementação concluída.
  2. Evento de conversão em toda página com formulário. Disparamos registration_completed em todas as páginas que têm formulário de captação de lead. O gatilho é o momento em que o formulário confirma o cadastro com sucesso, não o clique no botão de enviar, porque um clique pode falhar na validação e não deve contar como conversão.
  3. Conversions API no servidor. Reaproveitamos a mesma infraestrutura que já existia para deduplicar eventos do Meta Pixel, a mesma base que sustenta as integrações entre CRM, Meta e Google que já documentamos aqui. Bastou plugar mais um destino de evento nela. O mecanismo de dedup por event_id, compartilhado entre a chamada que sai do navegador e a chamada que sai do servidor, é praticamente idêntico ao que o Meta usa desde que lançou a Conversions API dele.
  4. Validação na aba Eventos de teste. Disparamos eventos de teste direto para a API da OpenAI e conferimos o resultado na aba Eventos de teste do próprio Ads Manager, que mostra em tempo real cada evento recebido, o método de configuração (servidor ou navegador) e o horário exato do recebimento.
  5. Score de valor por lead. Adicionamos um score de valor ao evento de conversão, usando a faixa de faturamento que o próprio lead informa no formulário para mandar um amount maior para leads de ticket potencial mais alto, a mesma lógica que já usamos nos eventos personalizados do Meta Ads.

Nenhuma dessas cinco etapas dependeu de esperar documentação adicional da OpenAI. O painel entregou o suficiente para reconhecer o padrão e aplicar a mesma disciplina de implementação que já usávamos em outro canal.

O paralelo direto com o Meta Pixel e o Meta CAPI

Quem já passou pela instalação de um Meta Pixel com Conversions API reconhece quase todas as peças do pixel do ChatGPT Ads. A OpenAI não inventou um modelo novo de rastreamento, ela seguiu o padrão que o mercado de mídia paga já validou.

ConceitoMeta AdsChatGPT Ads
Chamada de evento no navegadorfbq("track", ...)oaiq("measure", ...)
Identificador de dedupeventIDid (no corpo da API) / parâmetro do evento do pixel
Endpoint server-sideGraph API, Conversions APIbzr.openai.com/v1/events
AutenticaçãoAccess tokenAuthorization: Bearer com API key
Painel de verificaçãoTest Events, Gerenciador de EventosAba Eventos de teste, Ads Manager

As semelhanças mais diretas aparecem peça por peça. O pixel roda no navegador e depende de cookie e de JavaScript, exatamente como o fbevents.js do Meta ou o gtag.js do Google. Já a Conversions API roda no servidor do anunciante, então bloqueador de anúncio e restrição de cookie no navegador não afetam ela, a mesma razão de existir do Meta CAPI desde que o iOS passou a limitar rastreamento. A deduplicação usa o mesmo valor como id da chamada de API e como event_id da chamada de pixel, igual ao padrão eventID do Meta. E tem até uma camada parecida com o Advanced Matching do Meta: o próprio SDK cuida do cookie management e do agrupamento de eventos em lote, sem que o anunciante precise reimplementar esse controle na mão.

Quem sabe ler um payload de Meta CAPI lê um payload de ChatGPT Ads Conversions API sem precisar de documentação nova, só troca os nomes dos campos.

Isso reduz o custo real de adoção. A gente não precisa desenhar um modelo mental novo de rastreamento a cada canal de mídia que a IA generativa lança, só reconhecer o padrão que já existe e replicar a mesma disciplina de implementação: pixel no navegador, API no servidor, dedup por identificador compartilhado, validação numa tela de eventos de teste antes de confiar nos números de campanha. É o mesmo raciocínio que já vale para estruturar automação de topo de funil no Meta Ads, que detalhamos com mais profundidade neste outro post: o canal muda, a disciplina de medir antes de escalar não.

Valor por lead: pontuar por faturamento, não só contar lead

A maioria das implementações de pixel para captação de lead não vai além disso: dispara o evento com amount:0, conta volume de lead e para por aí. Funciona para o algoritmo de otimização entender que aconteceu uma conversão, mas deixa passar informação que o próprio formulário já coletou.

O nosso formulário de captação pede a faixa de faturamento mensal do lead, de abaixo de R$ 50 mil por mês até acima de R$ 500 mil por mês. Em vez de mandar amount:0 para todo mundo, mapeamos essa faixa para um valor de referência no evento de conversão, para que um lead que se identifica com faturamento mais alto chegue ao sistema de otimização da OpenAI com um sinal de valor maior do que um lead de faixa inicial.

Otimizar por valor, não só por volume: essa é a mesma lógica que já usamos nos eventos personalizados do Meta Ads, a mesma base por trás do que chamamos de públicos quentes por segmentação. Ela orienta o algoritmo de lance a buscar mais gente parecida com o lead que vale mais, não só mais gente parecida com qualquer lead que preencheu o formulário. Sem esse sinal, dois leads completamente diferentes em potencial de receita entram no sistema de otimização como eventos idênticos.

Vale uma ressalva sobre a honestidade desse dado: a faixa de faturamento é autodeclarada pelo lead no formulário, não é uma faixa validada. É um sinal direcional para a otimização de mídia, não uma fonte de verdade financeira. Tratamos isso como o que é, um proxy razoável, não uma métrica auditada.

Quer saber se o rastreamento da sua operação está pronto para um canal novo? Em 30 minutos, mapeamos como o CRM da sua operação está capturando (ou perdendo) conversão hoje, em qualquer canal, e onde entra a instrumentação que falta antes de investir em mídia.

A lição real: instrumentar antes de investir

O motivo de escrevermos sobre isso não é o pixel em si, é o hábito por trás dele. Quando um canal de mídia novo abre, a tentação natural é testar rápido: subir uma campanha pequena, ver o que acontece, decidir depois se vale escalar. O problema é que "ver o que acontece" sem rastreamento correto não é teste, é opinião.

Se a campanha tivesse ido ao ar antes do pixel e da Conversions API estarem prontos, qualquer conversão real teria acontecido sem ser contada, e qualquer decisão de escalar ou pausar o canal teria sido tomada sobre um número incompleto. É um erro que custa caro de um jeito silencioso: não aparece como um problema óbvio, aparece como um canal "que não converteu bem", quando na verdade o canal convertia e ninguém estava contando certo.

A regra que aplicamos aqui, e que vale para qualquer canal novo que surgir depois deste, é simples de enunciar e fácil de pular sob pressão de prazo: o rastreamento entra no ar antes da primeira campanha, não depois. Isso significa instalar o pixel, configurar o evento de conversão certo, ligar o lado servidor quando ele existir, e confirmar na ferramenta de teste do próprio canal que o evento está chegando, tudo isso antes de qualquer real investido em mídia.

Sobre resultado de campanha: este artigo documenta o dia em que a instrumentação ficou pronta para o ChatGPT Ads dentro da operação do Grupo HRZ. Nenhuma campanha rodou ainda nesse canal, e é por isso que não há aqui nenhum número de resultado de campanha, nenhuma taxa de conversão de anúncio, nenhum custo por lead. O que existe é a base sobre a qual esses números, quando vierem, vão poder ser medidos de forma confiável.

Essa disciplina de medir antes de escalar não é só teoria de post de blog. Foi ela que sustentou, por exemplo, os R$ 764.801 faturados pela Polishop, rede de 15 lojas, em 24 horas numa ação do Método Venda 10X: resultado de pico só acontece quando o rastreamento por trás dele já estava resolvido antes do primeiro real investido, não remendado às pressas depois. Vale para qualquer canal, novo ou antigo.

É esse o padrão que qualquer operação que anuncia em mídia paga deveria copiar quando um canal novo surgir: primeiro o rastreamento, depois a verba. O código deste artigo é o ponto de partida para quem ainda não tem o pixel do ChatGPT Ads no ar.

Quer garantir que seu rastreamento está pronto antes de investir em um canal novo?

Nosso time analisa como seu CRM captura conversão hoje, em quais canais o pixel e a Conversions API estão faltando, e desenha um plano de instrumentação sob medida. 30 minutos de conversa, sem custo.

Conhecer o CRM HRZ
Link copiado!
CRM HRZ

Vamos conversar sobre sua operação

Preencha os dados. Nosso time analisa o seu cenário e responde em até 1 dia útil com um plano sob medida.