O feed de produtos para agentes de IA sobreviveu ao botão de compra para o qual foi criado. OpenAI e Stripe lançaram o Agentic Commerce Protocol no fim de setembro de 2025 com a compra dentro do chat acoplada a ele; em março de 2026 a OpenAI encerrou o checkout no chat e manteve o feed. Isso não é uma nota de rodapé. Significa que a parte do padrão que ainda importa para você é a parte sem glamour — as colunas de dados estruturados de produto que um assistente de IA lê antes de decidir se vai sequer mencionar a sua loja.
Se você vende móveis, ferragens ou materiais de construção, há uma linha dessa especificação que vale o artigo inteiro: os campos que respondem "vai caber?" são opcionais.
Os quatro movimentos que trouxeram a gente até aqui
| Quando | O que aconteceu | O que significou para os lojistas |
|---|---|---|
| Fim de setembro de 2025 | Stripe e OpenAI publicam o Agentic Commerce Protocol e lançam o Instant Checkout no ChatGPT, começando por vendedores do Etsy nos EUA e lojistas Shopify | Duas tarefas chegam juntas: enviar um feed de produtos e montar o checkout iniciado pelo agente |
| Fim de 2025 até o início de 2026 | A adoção da compra dentro do chat segue tímida enquanto os compradores continuam pesquisando no assistente e comprando no site do próprio lojista | A metade da descoberta é a que trabalha; a do checkout, não |
| Março de 2026 | A OpenAI encerra o Instant Checkout e vira o foco para descoberta de produtos e integrações com varejistas dentro do ChatGPT | A integração de checkout deixa de ser urgente |
| Agora | A Product Feed Specification continua sendo a interface entre o seu catálogo e o assistente | A qualidade do feed é o jogo inteiro |
A lição desse percurso é sem brilho e duradoura: o trabalho de integração que venceu era o encanamento de pagamento. O que acumulou valor foi o dado.
O que é um feed de produtos para agentes de IA
Um feed de produtos para agentes de IA é um arquivo do seu catálogo legível por máquina e atualizado com regularidade — identificadores, títulos, descrições, preços, disponibilidade, mídia, logística e atributos físicos — que um assistente de IA ingere para poder exibir, filtrar e comparar seus produtos dentro de uma conversa. Não é uma varredura do seu site nem o HTML da sua vitrine. É um arquivo plano que você entrega, uma linha por produto ou variante.
Na prática, segundo a especificação atual, esse arquivo é texto delimitado em UTF-8 — .txt, .tsv ou .csv, separado por tabulação ou vírgula, gzip permitido — com uma linha de cabeçalho em minúsculas e separada por underscore. Toda URL nele precisa retornar HTTP 200. Os lojistas enviam um feed de amostra inicial para validação e depois snapshots diários, e o sistema aceita atualizações com frequência de até 15 minutos.
Essa exigência do HTTP 200 merece um parágrafo só dela. Uma URL de imagem morta não rebaixa a posição da linha; ela invalida a linha. Links de CDN quebrados são a forma mais silenciosa de sumir da resposta de um assistente.
Os campos, agrupados pelo custo de ignorá-los
Esta é a forma atual da especificação. O que importa não é a lista — é em qual camada cada campo está.
| Camada | Campos | Observações |
|---|---|---|
| Obrigatórios | item_id, title, description, url, brand, image_url, price, availability, seller_name, seller_url, target_countries, store_country, mais as flags is_eligible_search / is_eligible_checkout / is_ads_eligible |
title tem limite de 150 caracteres, description de 5.000, brand e seller_name de 70 |
| Obrigatórios sob condição | gtin ou mpn, a menos que identifier_exists esteja marcado como não; availability_date para pré-venda e encomenda; return_policy; política de privacidade e termos do vendedor onde o checkout está ativo |
Identificador faltando é o clássico bug de supressão silenciosa herdado de todos os outros padrões de feed |
| Recomendados | group_id, listing_has_variations, variant_dict, size, size_system, q_and_a, reviews, related_product_id com relationship_type |
relationship_type aceita valores como part_of_set, required_part, often_bought_with, substitute, accessory |
| Opcionais | dimensions, length, width, height, dimensions_unit, weight, item_weight_unit, material, condition, product_category, additional_image_urls, video_url, model_3d_url, return_rate, popularity_score, warning, age_restriction |
Tudo que é físico no seu produto mora nessa camada |
Olhe de novo para a última linha. image_url é obrigatório. length, width, height e dimensions_unit são opcionais. A pergunta que os compradores fazem a um assistente mais do que quase qualquer outra — isso cabe no meu espaço, no meu carro, na minha estrutura atual — depende justamente dos campos que a maioria dos feeds deixa em branco.
A lacuna das dimensões, e por que ela é uma brecha
Opcional não quer dizer ignorado. Quer dizer não fiscalizado, que na economia dos feeds é o status mais interessante que um campo pode ter: todo concorrente tem permissão para pular esse campo, e a maioria pula, porque preencher length / width / height / dimensions_unit em alguns milhares de SKUs dá trabalho de verdade e nenhum log de erro de checkout reclama disso.
Um assistente a quem se pede "uma estante com menos de 80 cm de largura para um nicho" só consegue selecionar linhas em que a largura existe e é interpretável. Uma linha com uma foto linda e width vazio não fica em posição pior nessa busca — ela nem é candidata. A foto não é plano B. Nenhum assistente mede o seu JPEG.
São três consequências práticas:
- Preencha os campos físicos antes de otimizar qualquer outra coisa.
dimensionsaceita uma string compacta como12x8x5 in;length,widtheheightrecebem valores individuais, comdimensions_unitcarregandoinoucm. Preencha tanto o campo composto quanto os individuais sempre que seus dados permitirem — consumidores diferentes leem campos diferentes. - Declare
dimensions_unitde forma explícita, em toda linha. Um80sem rótulo não é uma medida. É a mesma falha que aparece nos próprios anúncios, tratada em dados estruturados de dimensões de produto. - Trate
material,weighteitem_weight_unitcomo parte do mesmo bloco. Material é como o comprador filtra "carvalho maciço, não laminado". Peso é como um comprador atento à logística filtra o que uma pessoa sozinha consegue subir pela escada.
A especificação também traz um campo opcional return_rate, expresso em porcentagem. Seja lá o que um assistente faça com esse sinal, vale parar no fato de ele existir no schema: o desempenho de devoluções agora é um atributo de produto estruturado e comparável, não uma métrica interna privada. Se você nunca colocou um número no que as devoluções custam por SKU, a calculadora de taxa de devolução é o caminho mais rápido para ter um.
O que o feed não resolve
O dado do feed coloca você na lista curta. Ele não fecha a venda, porque o comprador ainda cai na sua página.
Essa passagem de bastão é onde muito trabalho bom de feed vaza em silêncio. O assistente diz ao comprador que a estante tem 78 cm de largura; o comprador clica e chega a um anúncio em que as fotos mostram um ambiente decorado e nenhuma medida em lugar nenhum. Nada confirma o que ele ouviu. Os dois desfechos mais comuns são uma mensagem de pré-venda que alguém vai ter que responder na mão ou uma compra feita na esperança, que volta como devolução por tamanho.
Fechar esse ciclo é um trabalho visual, não um trabalho de dados. Significa que a página do produto carrega uma imagem em que as dimensões reais e medidas estão desenhadas sobre o próprio produto — os mesmos números que o feed declarou, mostrados onde o comprador já está olhando. Medição determinística importa aqui de um jeito que nunca importou antes: o número no seu feed e o número na sua imagem agora podem ser confrontados por uma máquina, e uma imagem gerada por IA que inventa uma medida plausível vai contradizer publicamente os seus próprios dados estruturados.
Próximos passos, na ordem que dá retorno
Escolha a camada mais alta que você consegue de fato terminar neste trimestre. Fazer um destes itens por inteiro vale mais do que começar todos.
- Audite primeiro as linhas inválidas. Qualquer
urlouimage_urlque não retorne HTTP 200 derruba a linha inteira. É um script de uma tarde e costuma ser a maior recuperação isolada. - Conserte os identificadores. Preencha
gtinoumpn, ou marqueidentifier_existscom honestidade. Supressão silenciosa é pior do que um erro que você enxerga. - Preencha o bloco físico.
length,width,height,dimensions_unit,weight,item_weight_unit,material— primeiro nos SKUs mais vendidos, depois descendo a cauda por faturamento. - Estruture as variantes direito.
group_id,listing_has_variationsevariant_dictsão como um assistente entende que as versões de 60 cm e 80 cm são o mesmo produto, para então oferecer a que cabe. - Reconcilie os números do feed com as imagens da página. Seja com um fluxo de design interno, uma agência ou um software que trava as dimensões medidas sobre a foto e exporta no tamanho de imagem de cada plataforma, o objetivo é idêntico: o número que o assistente cita está visível na página para a qual ele manda o comprador. Se você vende o mesmo catálogo em vários canais, o conselho de sequenciamento em venda multiplataforma também se aplica aqui.
- Só então se preocupe com
reviews,q_and_a,popularity_scoree o resto da camada de enriquecimento.
FAQ
Ainda preciso de um feed de produtos agora que o Instant Checkout acabou?
Sim — mais do que antes, porque o feed agora é a integração inteira, e não metade dela. A compra dentro do chat foi encerrada em março de 2026; a descoberta de produtos, não. O feed é como um assistente sabe que o seu catálogo existe, e o checkout continua acontecendo no seu próprio site.
O que é o Agentic Commerce Protocol?
O Agentic Commerce Protocol é uma especificação aberta desenvolvida em conjunto por OpenAI e Stripe, publicada no fim de setembro de 2025, que define como lojistas trocam dados de produto, carrinho e pedido com agentes de IA. A Product Feed Specification é a parte que rege como o seu catálogo é descrito.
Quais campos do feed permitem que um agente de compras de IA filtre por tamanho?
length, width, height com dimensions_unit, mais a string composta dimensions, e weight com item_weight_unit. Todos estão na camada opcional da especificação, e é por isso que a maioria dos catálogos não pode ser filtrada por encaixe — e por isso preenchê-los é uma das poucas vantagens baratas que ainda restam no trabalho de feed.
Com que frequência um feed de produtos para agentes de IA precisa ser atualizado?
Os lojistas enviam um feed de amostra inicial para validação e depois snapshots diários, com atualizações aceitas com frequência de até 15 minutos. O diário é a linha de base de trabalho; o teto de 15 minutos existe para volatilidade de preço e estoque, não para repetir um catálogo que não mudou.
Uma ótima foto de produto compensa a falta dos campos de dimensão?
Não, e essa é a suposição que vale descartar primeiro. Fotos são renderizadas para humanos; a filtragem que decide se você entra na lista curta acontece nos campos de texto. Uma foto não pode ser medida pelo sistema que faz a correspondência — ela só pode confirmar, para um humano, o que os campos já afirmaram.
Sources & References
- OpenAI Developers — Especificação de Feed de Produtos
- OpenAI Developers — Comércio agêntico: conceitos-chave
- Agentic Commerce Protocol — Especificação de Feed de Produtos
- Stripe Newsroom — A Stripe viabiliza o Instant Checkout no ChatGPT e lança o Agentic Commerce Protocol
- CNBC — A primeira tentativa da OpenAI nas compras online tropeçou; ela se prepara para a próxima onda
