Skip to contentRead our launch announcement on LinkedIn

7 min readGuide

How to optimize a product feed for search and AI agents

Kratik Agrawal

By Kratik Agrawal

Published Aug 10, 2026 Updated Aug 10, 2026

Product feed optimization used to mean one thing. Get more items approved in Merchant Center, then get cheaper clicks on the ones that mattered.

The readers changed. A feed now decides whether ChatGPT can quote your price, whether a shopping agent can tell your medium from your large, and whether any of it survives contact with a shopper who asked a question instead of typing a keyword. This guide covers what to fix, in what order, and what a feed cannot fix on its own.

Quick answer

Product feed optimization is the work of improving the product data inside a feed so more items are eligible, matchable, and worth recommending. In practice that means complete descriptions, real identifiers on every variant, accurate price and availability, and a product page that tells the same story as the file. A feed makes you eligible to appear. It does not make you the answer.

This is the correction practitioners keep having to make, so it belongs at the top. Submitting a product feed gets your items into a system's inventory of things it could show. It does not decide whether they get shown.

OpenAI's merchant feed carries two separate eligibility flags, one for appearing in search results and one for in-chat checkout. Eligibility is the entry ticket. After that, an assistant weighs whether your item answers the question, whether the data is current, and whether it can defend the recommendation to the person who asked.

The second half of that judgment reads your store rather than your file. Assistants pull from product pages, policies, and structured data on the page as well as the feed, which is why brands with a clean feed still watch a competitor get named for the query they thought they had covered.

OpenAI Developers feed reference page for ChatGPT product feeds, showing the Google-compatible product data feed path, the is_ads_eligible flag, and the requirement to include one product or variant per row
OpenAI's feed reference, captured 10 August 2026. A Google-compatible file uploads without renaming columns, and every buyable variant needs its own row. Source: OpenAI Developers.

The correction

A feed is an availability signal. A product record that answers a shopper's actual question is a ranking signal. Brands that stop at the first one stay eligible and unnamed.

Start with the description, because that is the field being read

We read 22 live DTC catalogs on 10 August 2026, 1,017 products and 8,424 variants, to see what a feed built from them would actually say. The median product description ran 46.5 words. Five of the 22 stores sat under 25.

That is enough for a fabric, a color, and a mood. It is not enough to say who the product is for, what it is worth wearing with, how it fits against the size above it, or which of the three questions a shopper actually asked it answers. A system that has to justify a recommendation reaches for that material and finds a mood.

The fix is unglamorous and it is not a mapping rule. Descriptions get longer by someone writing the attributes down, which is why most feed optimization projects stall at exactly this step.

Under 25 words: 5 storesUnder 25 words5 stores25 to 49 words: 7 stores25 to 49 words7 stores50 to 74 words: 6 stores50 to 74 words6 stores75 words or more: 4 stores75 words or more4 stores
Median product description length per store, across 22 verified Shopify DTC catalogs, 10 August 2026. Kinect first-party scan, up to 50 products sampled per store.
What a thin description saysWhat a complete one adds
Organic cotton crewneck in boneWeight and opacity, so a shopper knows it is not a summer tee
Fits true to sizeHow it fits against the size above, and who should size up
Everyday comfortThe occasions it is right for, in the words shoppers use for them
Machine washableWhat happens after twenty washes, which is the question being asked
Available in five colorsWhich colors sell out first, and what each pairs with
The left column is what most catalogs carry. The right column is what a system needs in order to name you rather than list you.

58%

of a store's products, on average, describe themselves in under 50 words

11%

of products, on average, ship with an empty description field

1,017

products read across 22 live DTC catalogs, August 2026

Give every variant something to be matched by

Identifiers are the second lever, and they fail quietly. Across the 8,424 variants we read, 15% carried no SKU. On the product pages, 6 of 22 exposed a GTIN or MPN in their structured data.

An item with no identifier cannot be reconciled with the same item sold anywhere else. Price comparisons skip it, availability checks cannot confirm it, and an agent asked to find the best price on a specific product has no way to know your listing is that product.

Roll-up matters as much as the identifier itself. OpenAI's feed reference is explicit that a file carries one product or variant per row. When sizes are flattened into an options string instead, an assistant can say the product exists and cannot say whether the medium is in stock. The operational side of that work is covered in product feed management.

  • SKU on every variant. It is the minimum unit of being referred to.
  • GTIN wherever one exists. Private label and bundles are the legitimate exceptions, and MPN plus brand covers those.
  • Variants as rows, not as text. One row per buyable thing.
  • One identifier scheme everywhere. The feed, the page markup, and the order record should agree on what the product is called.

Keep the page and the feed telling the same story

Optimizing the file while the page contradicts it is the most common way this work gets wasted. Google names conflicting data between your feed and your website in its own list of what causes disapprovals, alongside missing identifiers and missing variant attributes. If the feed says 89 dollars and in stock while the page says 79 dollars and back-ordered, you have taught two systems two different facts about one product.

Structured data on the page is where that agreement is usually broken. On the 22 stores we read, 17 carried Product markup, 17 stated availability, and 10 named a SKU. The markup is present and the fields underneath it are half filled.

Access is worth checking too. Eight of the 30 verified Shopify stores in the sample blocked or broke their public catalog endpoint. That is a defensible choice, and it means every reader now depends entirely on the feed you publish and the pages you render, so both have to carry the whole story.

A checklist you can run this week

Ordered by what returns the most for the least. The first three are data work. The last three are hygiene that stops the first three from decaying.

  • Find every product under 50 words and rewrite the worst 50 first. Sort by revenue, not alphabetically.
  • Fill the empty description field. An empty field is a product that cannot be recommended at all.
  • Add SKU to every variant, and GTIN where one exists. Then confirm both appear in the page markup as well as the feed.
  • Reconcile price and availability between feed and page, and pick the update frequency your inventory movement actually requires.
  • Check what your product page renders without JavaScript. Structured data that only appears after hydration is structured data most crawlers never see.
  • Re-read your titles as a stranger. Internal naming conventions and size codes in a shopper-facing title cost you the first-pass match.
  • Confirm your images show the product, not a lifestyle crop where the item is 8% of the frame.
  • Watch what assistants say about you after the changes land, because that is the only place the result shows up.

Nothing on that list is a mapping rule. Feed tooling moves data faster and has no opinion about what the data says.

Where Kinect fits

Kinect reads your catalog, writes the attributes that were never captured, and keeps that enriched record consistent on your product pages and in the feeds leaving your store. It is the step the checklist above stalls on, done once and then maintained.

The same intelligence runs an AI sales rep on the storefront, so the data written for machines also answers the shoppers already there. Brands running Kinect see 3 to 6% more revenue, measured against their own baselines. It is an integration rather than a theme rebuild, and it goes live the same day.

Frequently asked questions

Is a product feed enough to show up in ChatGPT?

No. A feed makes your products eligible to appear, and OpenAI's specification even splits that into separate flags for search eligibility and checkout eligibility. Whether a product is actually named depends on how well its data answers the question asked, which assistants also judge from your product pages and structured data.

How are products ranked in ChatGPT shopping?

Assistants weigh whether the item matches the stated intent, whether price and availability are current, and whether the seller is the primary source for that product. Feed participation affects eligibility rather than order, so complete descriptions and accurate stock data do more for placement than resubmitting a file.

How do I optimize my product catalog for AI shopping agents?

Write descriptions that answer real purchase questions, publish every variant as its own row with an identifier, keep price and availability accurate, and make sure the product page renders the same facts in server-rendered HTML. Agents read the page and the feed, so consistency between them is part of the optimization.

How do I optimize product schema for AI agents?

Use Product markup with brand, sku, gtin or mpn, price, and availability, and make sure it appears in the HTML before JavaScript runs. In a scan of 22 live DTC storefronts in August 2026, 17 carried Product markup but only 10 named a SKU and 6 carried a GTIN or MPN, so the common gap is depth rather than presence.

What is the OpenAI product feed spec?

It is the flat-file schema OpenAI ingests for ChatGPT product feeds, covering the core product record plus eligibility flags such as is_eligible_search and is_eligible_checkout. A Google-compatible product data file can be uploaded without renaming columns, and Shopify and Etsy merchants participate through platform integrations instead of submitting the file themselves.

Does product feed optimization help SEO?

Indirectly, and mostly through the page rather than the file. The same work that improves a feed, which is fuller descriptions, real identifiers, and accurate structured data, is what makes a product page eligible for rich results and easier for an assistant to quote.

How long does product feed optimization take to show results?

Feed-side corrections such as identifiers and availability propagate within a normal refresh cycle, so days rather than weeks. Description rewrites show up more slowly, because the gain comes from being chosen more often rather than from being approved.

Related reading

Find out which products cannot be recommended yet.

Book a demo and we will read your live catalog on the call, then show you what fills the gaps.