# AI Product Discovery: What It Is and How It Works

> What AI product discovery is, where ChatGPT, Google AI Mode and agents get your products, and which data decides whether they show up.

URL: https://clione.ai/glossary/ai-product-discovery/
Lang: en

AI product discovery is not Google Discover, the news carousel on your phone, and it is not a site search with AI for your own website. It is what happens when someone asks an assistant for "waterproof hiking boots for wide feet" and the assistant has to know, before recommending anything, **which products exist that answer that**. It is the first stage of [agentic commerce](/glossary/agentic-commerce/), and the one that depends most on the store: an [AI agent](/glossary/ai-agent/) does not recommend what it has not found, and what it finds of yours is what your data says, not what your storefront shows.

## How it works

An agent does not walk through stores one by one when it gets the question. It works from what it already has or can query, and that reaches it three ways.

**Feeds the store sends.** OpenAI defines a [product feed](/glossary/product-feed/) so ChatGPT can accurately show a merchant's products in [ChatGPT search](/glossary/chatgpt-search/) and shopping: a file the store updates regularly, with identifiers, descriptions, prices, stock, images and delivery options.[^openai-key-concepts] Its specification accepts JSONL, CSV or TSV, requires nine fields and separates two permissions: **search is on by default and checkout inside ChatGPT is off by default**. It also warns that being enabled **does not guarantee the product will be shown**.[^openai-feed-spec] The protocol behind it has its own entry, [ACP (Agentic Commerce Protocol)](/glossary/acp/). On Google, the equivalent route is [Google Merchant Center](/glossary/google-merchant-center/): the first step to sell from [Google AI Mode](/glossary/google-ai-mode/) and [Gemini](/glossary/gemini/) is to have the account set up with the feed, shipping and returns.[^google-ucp-guide]

**Catalogs platforms expose.** Here it is the agent that asks. [Shopify Catalog](/glossary/shopify-catalog/) offers two interfaces for agents to discover products: the global catalog, which searches across all the Shopify stores that meet the requirements, and a single-store one. Both expose the same tools (`search_catalog` to search by keywords, `lookup_catalog` to look up by identifier and `get_product` for the detail) and return price, variant availability and checkout links. They run on [MCP (Model Context Protocol)](/glossary/mcp/) as the catalog capability of [UCP (Universal Commerce Protocol)](/glossary/ucp/).[^shopify-catalog-agents] The agent uses them through [tool calling](/glossary/tool-calling/).

**Pages that get crawled and indexed.** Google gives two ways to share product data: [structured data](/glossary/structured-data/) on product pages and uploading to Merchant Center, and it **recommends using both**.[^google-product-data] What a [crawler](/glossary/web-crawler/) reads on your pages is still raw material for discovery.

### From catalog to answer

Google explains how the pieces fit together in AI Mode. It combines Gemini with its Shopping Graph, which in May 2025 held **more than 50 billion product listings, more than 2 billion of them refreshed every hour**.[^google-ai-mode-shopping] Faced with a purchase request, it uses [_query fan-out_](/glossary/query-fan-out/): it runs several searches at once to understand the need, infers the requirements (in its example, a travel bag for Portland in May needs to be waterproof and have accessible pockets) and proposes products that meet them, in a panel that updates as the person refines.[^google-ai-mode-shopping]

That breakdown is what a store has to understand. **The query arrives split into requirements, and each requirement is checked against a piece of data**. If the data is not there, the product does not meet the requirement as far as the system is concerned, even if in the physical store it does.

## In a store

A **fictional example**: a mountain gear store gets, through an assistant, the request "sleeping bag rated to 20°F that weighs under 2 pounds, for a small backpack." Split into requirements, each one needs a specific piece of data:

| Requirement              | The data that answers it                                               | Where it has to be                                                                                  |
| ------------------------ | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| It is a sleeping bag     | Category and title                                                     | Feed, [product page](/glossary/product-page/) and structured data                                   |
| It holds up to 20°F      | Comfort or limit temperature, with its unit                            | Feed and product page, as a [product attribute](/glossary/product-attributes/), not just in a photo |
| Under 2 pounds           | Weight with unit                                                       | Feed and product page                                                                               |
| It fits a small backpack | Compressed volume or dimensions                                        | Product page, and in the feed if the format allows it                                               |
| It can be bought now     | Up-to-date [price and availability](/glossary/price-and-availability/) | Updated feed                                                                                        |

A sleeping bag that meets all four conditions and has the temperature only on the packaging image **competes at a disadvantage against one that has it written down**. That is the part Clione works on: from the enriched catalog it builds a feed that uploads to ChatGPT every day and a supplemental feed for Google Merchant Center; whether the products appear, and where, each platform decides.


Assuming the agent reads exactly what you wrote. In Shopify's global catalog, **some fields are inferred by Shopify's own AI**, and its documentation warns that they may be missing or of varying accuracy depending on the data available for the product.[^shopify-catalog-agents] If the attribute that decides the query is not written in your data, what the agent knows about it may be an inference.


## How to check it

1. **Write three purchase requests** the way a customer would, without your brand and with specific requirements, and run them in ChatGPT and in AI Mode. Note which products and which stores show up, and on which requirement yours drop out.
2. **Review your Google Merchant Center account**: feed with no errors, shipping and returns set up.[^google-ucp-guide]
3. **If you send a feed to OpenAI, validate every row**: the nine required fields and an explicit availability.[^openai-feed-spec]
4. **If you sell on Shopify, complete each product's data in your admin**, so the catalog does not have to infer it.[^shopify-catalog-agents]
5. **Compare the requirements in your queries with your data.** Every requirement without a written value, on the product page and in the feed, is a reason not to show up.

## Related concept: AI visibility

[AI visibility](/glossary/ai-visibility/) measures the outcome: whether your brand, your products or your pages appear in assistants' answers. Discovery is the mechanism before it: **how your products come to be among those the system can show**. You can have good visibility as a source of articles and not be discoverable as a store, because a cited page and a product with price, stock and attributes in a feed are different things. After discovery comes recommendation, and then the purchase, which a [shopping agent](/glossary/shopping-agent/) can make and which brings in matters like [coupons for agents](/glossary/coupons-for-agents/).

To go further, the [agentic commerce reading path](/learn/agentic-commerce/) orders the protocols that connect an agent to a store's catalog.
