Você achou que o ChatGPT era só um chat inteligente?
Quando a OpenAI começou a falar sobre monetização além das assinaturas, muita gente assumiu que seria algo discreto — talvez links patrocinados na interface, algo parecido com o que o Google faz há duas décadas. A realidade é muito mais sofisticada. Um pesquisador de segurança acaba de dissecar o tráfego de rede do ChatGPT e revelou uma infraestrutura de anúncios com quatro tokens criptografados, cookies de rastreamento com 30 dias de validade e um SDK completo que carrega silenciosamente nos sites dos anunciantes.
Eu passei as últimas horas analisando essa pesquisa e, honestamente, a engenharia por trás é impressionante — e preocupante.
Como os anúncios entram na conversa
A primeira surpresa: os anúncios não são injetados na interface como banners separados. Eles chegam pelo mesmo canal que as respostas do modelo.
Quando você manda uma mensagem, o ChatGPT abre um stream via Server-Sent Events (SSE) no endpoint chatgpt.com/backend-api/f/conversation. É por esse stream que o texto vai aparecendo palavra por palavra na tela. O que ninguém esperava é que, pelo mesmo canal, objetos estruturados de anúncio são entregues junto com o output do modelo.
Cada unidade de anúncio carrega:
- Branding do anunciante (logo, nome)
- Cards em carrossel com imagens e copy
- URLs de destino com parâmetros de rastreamento embutidos
Na prática, o anúncio é parte da resposta. Não é um iframe, não é um widget externo. É um objeto JSON que viaja junto com os tokens de texto do modelo.
Targeting contextual: o ChatGPT sabe do que você está falando
O pesquisador documentou seis conversas diferentes em seis tópicos distintos. O padrão ficou claro rápido:
| Conversa | Anúncio servido |
|---|---|
| Planejando viagem a Pequim | Grubhub (delivery de comida) |
| Buscando voos | Axel (companhia aérea) |
| Discutindo NBA playoffs | Gametime (ingressos esportivos) |
| Perguntando sobre moda | Aritzia (loja de roupas) |
A correlação é direta: o conteúdo da conversa determina qual anúncio aparece. A questão que ficou sem resposta definitiva na pesquisa é se o histórico de conversas anteriores também influencia o targeting. O pesquisador não encontrou evidência conclusiva disso, mas também não conseguiu descartar.
Se a OpenAI usar apenas o contexto da conversa atual, isso já é poderoso o suficiente. Pense: quando você descreve um problema para o ChatGPT, você dá um nível de detalhe sobre suas intenções que nenhuma busca no Google chega perto. “Estou planejando uma viagem de 10 dias a Pequim em julho com minha esposa, orçamento de $5000” — isso é ouro publicitário.
Os 4 tokens criptografados: a engenharia que ninguém viu
Aqui é onde a coisa fica realmente técnica. Cada anúncio no ChatGPT carrega quatro tokens criptografados com Fernet (AES-128-CBC + HMAC-SHA256). Cada token tem uma função diferente na cadeia de atribuição.
Token 1: ads_spam_integrity_payload
Esse é o token anti-fraude. Ele é validado server-side quando o usuário clica no anúncio. Se alguém tentar forjar cliques — seja um bot, um script, ou qualquer tentativa automatizada — esse token vai falhar na verificação e o clique é descartado.
É o equivalente ao reCAPTCHA dos anúncios, mas invisível e criptográfico.
Token 2: oppref (forward attribution)
Esse é o mais importante para o rastreamento. Quando você clica em um anúncio, o oppref é armazenado em um cookie chamado __oppref no site do anunciante. Esse cookie tem um TTL de 720 horas — ou seja, 30 dias.
Cookie: __oppref=<token_criptografado>
Expires: 720 hours (30 days)
Domain: merchant.com (first-party)
Isso significa que se você clicar em um anúncio do ChatGPT para a Home Depot, e 29 dias depois comprar algo no site deles, a OpenAI recebe crédito pela conversão.
Token 3: olref (impression logging)
O olref é pareado com o oppref na URL de clique, mas não é retido pelo SDK do lado do merchant. Provavelmente serve para logging server-side de impressões — a OpenAI sabe que o anúncio foi exibido, mesmo que o usuário não clique.
Token 4: ad_data_token
O mais misterioso dos quatro. É um JSON encodado em Base64 que contém outra camada de criptografia Fernet dentro. O pesquisador sugere que ele é reconciliado server-side durante o processamento do clique, provavelmente carregando metadados sobre a sessão, o contexto da conversa, e dados de targeting.
O detalhe que o pesquisador descobriu
Uma observação inteligente: os primeiros 9 bytes de qualquer token Fernet são públicos. O primeiro byte é a versão (0x80) e os próximos 8 bytes são o timestamp Unix de quando o token foi gerado. Isso significa que qualquer pessoa que intercepte esses tokens pode saber exatamente quando foram mintados — sem precisar da chave de decriptação da OpenAI.
import struct, base64
token = b"gAAAAABn..." # token Fernet
decoded = base64.urlsafe_b64decode(token)
version = decoded[0] # 0x80
timestamp = struct.unpack(">Q", decoded[1:9])[0]
print(f"Token mintado em: {timestamp}") # Unix epoch
Isso abre portas para análise de timing: quanto tempo entre a geração do token e o clique? O pesquisador capturou um exemplo da Home Depot com 95 segundos de latência entre a geração da URL (11:30:08 UTC) e o fetch da página do merchant (11:31:43 UTC).
O SDK que carrega nos sites dos anunciantes
Quando você clica em um anúncio do ChatGPT e chega no site do anunciante, algo acontece nos bastidores: um SDK chamado OAIQ (versão 0.1.3) é carregado silenciosamente a partir de bzrcdn.openai.com/sdk/oaiq.min.js.
O que esse SDK faz:
- Extrai o
opprefda URL (parâmetro na query string) - Grava em cookie first-party (
__oppref) no domínio do merchant - Envia eventos de conversão via POST para
bzr.openai.com/v1/sdk/events - Seta um cookie de probe (
__oaiq_domain_probe) para verificar se cookies estão funcionando
O fluxo completo fica assim:
[ChatGPT mostra anúncio]
│
▼
[Usuário clica] → URL com oppref + olref
│
▼
[Página do merchant carrega]
│
▼
[OAIQ SDK injetado via bzrcdn.openai.com]
│
▼
[oppref extraído → cookie __oppref setado (30 dias)]
│
▼
[Eventos de conversão → POST bzr.openai.com/v1/sdk/events]
Isso é essencialmente o mesmo modelo que o Meta Pixel ou o Google Ads conversion tracking usam. A diferença é que aqui o ponto de entrada é uma conversa em linguagem natural, não uma busca ou um feed social.
Por que isso é mais poderoso que ads tradicionais
Pensa no modelo de advertising do Google: o usuário digita “melhor notebook 2026”, vê anúncios baseados nessas palavras-chave, e os anunciantes pagam por clique.
No ChatGPT, a dinâmica muda completamente:
Intenção explícita: Quando alguém pergunta “qual notebook comprar para programar em Python, orçamento de R$5000, preciso de tela boa e 32GB de RAM”, o nível de detalhe sobre a intenção de compra é infinitamente maior que uma busca por “melhor notebook 2026”.
Contexto rico: O ChatGPT sabe não só o que você quer, mas por que você quer. Ele tem acesso ao raciocínio completo que levou à decisão de compra.
Confiança do canal: Quando uma recomendação vem dentro de uma conversa com uma IA que você já está tratando como “assistente confiável”, o impacto persuasivo é diferente de um anúncio claramente marcado no Google.
Dados de sessão: O modelo vê toda a conversa, não apenas uma query isolada. Se você passou 20 minutos discutindo os prós e contras de diferentes notebooks, o targeting fica cirurgicamente preciso.
Como se proteger: dois domínios para bloquear
O pesquisador recomenda que quem se preocupa com privacidade bloqueie dois domínios:
bzrcdn.openai.com → CDN do SDK de rastreamento
bzr.openai.com → Endpoint de eventos de conversão
Você pode fazer isso no nível de DNS (Pi-hole, AdGuard Home, NextDNS), no /etc/hosts, ou com extensões de bloqueio como uBlock Origin.
Além disso, monitore estes cookies:
| Cookie | Domínio | Função | TTL |
|---|---|---|---|
__oppref |
Site do merchant | Attribution forward | 720h (30 dias) |
__oaiq_domain_probe |
Site do merchant | Teste de cookies | Sessão |
Se você usa o ChatGPT no navegador e quer zero rastreamento de anúncios, bloquear bzrcdn.openai.com é suficiente — sem o SDK, nenhuma conversão é rastreada.
A criptografia é robusta, mas o modelo tem brechas
Do ponto de vista de segurança, a implementação é sólida. Fernet com AES-128-CBC e HMAC-SHA256 é um padrão bem estabelecido. Os tokens não podem ser decriptados sem a chave da OpenAI, e o ads_spam_integrity_payload dificulta fraude de cliques.
Mas existem pontos de atenção:
Timing analysis: Como mencionei, os primeiros 9 bytes do Fernet são públicos. Isso permite correlação temporal entre tokens sem precisar da chave. Para um adversário motivado, essa informação de timing pode ser útil.
First-party cookies: O uso de cookies first-party (no domínio do merchant) faz com que bloqueadores de third-party cookies — como o que os navegadores estão adotando progressivamente — não afetem o rastreamento. É uma decisão de arquitetura inteligente por parte da OpenAI.
Opacidade: O ad_data_token com dupla criptografia é uma caixa-preta. Não sabemos quais dados sobre a conversa são incluídos nesse token. O contexto da conversa é enviado ao anunciante de alguma forma? A OpenAI diz que não, mas verificar isso sem a chave é impossível.
O que isso significa para o ecossistema de ads
Essa não é mais uma especulação sobre “a OpenAI vai colocar ads”. Os ads já estão lá, a infraestrutura está madura (versão 0.1.3 do SDK, quatro tipos de tokens, integração com merchants), e o modelo de atribuição compete diretamente com Google e Meta.
Alguns números para contextualizar:
- O ChatGPT tem mais de 400 milhões de usuários ativos semanais
- Cada conversa gera dados de intenção mais ricos que qualquer busca
- O cookie de 30 dias garante atribuição de longo prazo
- A integração via SSE (sem widgets externos) elimina ad-blockers no nível da aplicação
Para anunciantes, a proposta de valor é clara: acesso a intenções de compra em linguagem natural, com targeting contextual em tempo real, e atribuição de conversão de 30 dias.
Para usuários, a pergunta incômoda é: quando você descreve um problema em detalhe para o ChatGPT, está alimentando um sistema de targeting publicitário?
Os domínios bzr e bzrcdn — uma pista interessante
Um detalhe que chamou atenção na comunidade: os domínios escolhidos pela OpenAI para o sistema de ads (bzr.openai.com e bzrcdn.openai.com) usam o prefixo “bzr”. Especula-se que seja referência a “bazaar” — literalmente, mercado. É um namespace separado do resto da infra da OpenAI, o que sugere que o time de ads opera como uma unidade independente dentro da empresa.
Isso é consistente com rumores de que a OpenAI contratou veteranos do Google Ads e Meta Ads nos últimos meses para construir essa infraestrutura.
Usuários pagantes estão imunes?
A pesquisa analisou contas gratuitas. A OpenAI já declarou que assinantes do ChatGPT Plus e Teams não veem anúncios — por enquanto. Mas a infraestrutura está pronta. Se um dia a empresa decidir que assinantes do plano básico também verão ads “relevantes”, a engenharia já existe.
Vale lembrar que o YouTube Premium também começou como uma promessa de “sem anúncios para sempre”. A história do SaaS mostra que essas fronteiras são porosas quando a pressão por receita aumenta.
O que fazer como desenvolvedor
Se você está construindo aplicações que usam a API do ChatGPT (não a interface web), pode ficar tranquilo — a API não inclui anúncios. O sistema de ads opera exclusivamente na interface web do chatgpt.com e no app mobile.
Mas se você integra o ChatGPT via web embeds ou iframes, vale investigar se o tráfego de ads está passando pela sua aplicação.
Para quem trabalha com ad-tech ou privacy engineering, essa implementação da OpenAI é um case study fascinante. A combinação de tokens Fernet, cookies first-party, e SDK leve é uma arquitetura que resolve problemas reais do ecossistema de ads moderno — particularmente a morte iminente dos third-party cookies.
# Bloqueio rápido via /etc/hosts
echo "0.0.0.0 bzrcdn.openai.com" | sudo tee -a /etc/hosts
echo "0.0.0.0 bzr.openai.com" | sudo tee -a /etc/hosts
Transparência ou caixa-preta?
A OpenAI não publicou documentação sobre esse sistema. Tudo que sabemos vem de reverse engineering do tráfego de rede. A empresa poderia argumentar que os detalhes de implementação são proprietários, mas quando se trata de tracking de usuários, a transparência deveria ser o padrão.
A GDPR na Europa e a LGPD no Brasil exigem consentimento informado para tracking. Um cookie de 30 dias que rastreia conversões no site de um anunciante definitivamente se enquadra como dado pessoal. A questão é: o “Aceitar” nos termos de uso do ChatGPT cobre esse tracking de forma suficientemente explícita?
A pesquisa original foi publicada no Buchodi’s Threat Intel e está gerando debate intenso no Hacker News. Se você quer se aprofundar nos detalhes técnicos — incluindo capturas de tráfego e análise de headers HTTP — recomendo a leitura completa.
Fonte de inspiração: How ChatGPT serves ads — here’s the full attribution loop














