Blog English

ChatGPT Shopping Powered by Google Shopping, & other Discoveries from under the Hood

Alexis Rylko

Alexis Rylko

Consultant SEO & Directeur technique SEO chez iProspect France

How does ChatGPT Shopping work EN PROMO

On November 24, OpenAI introduced Shopping Research — a new ChatGPT mode designed to handle product research for you.

OpenAI’s promise is straightforward:

You describe what you’re looking for, the tool asks a few follow-up questions, scans the web, and then delivers a clear, personalized comparison of the best options.

Let’s roll up our sleeves and take a look at how everything works under the hood.

Coffee, music, notebook — let’s dive in !

ChatGPT Shopping Research is a 4-step shopping guide

The process behind generating a shopping guide unfolds in four distinct stages:

  1. Step 1: Understanding the user’s intent
  2. Step 2: Reasoning (Chain of Thought)
  3. Step 3: Querying external sources
  4. Step 4: Producing the final shopping guide

All of these steps are powered by OpenAI’s latest model, GPT-5.1-instant.

“model_slug”: “gpt-5-1-instant”,
“default_model_slug”: “gpt-5-1”

Step 1: Understanding the user’s intent

The ChatGPT Shopping Research mode is triggered when a user explicitly selects the corresponding option in the prompt’s input field:

When this happens, the system triggers a dedicated tool called connector_openai_shopping — essentially a tireless shuttle that goes back and forth between ChatGPT and its product API.

Instead of immediately searching for products on your behalf, the system launches an intermediate agent (named mercury in the metadata) responsible for several tasks.

At this stage, Mercury focuses on the first one: generating a clarification quiz to better understand your request.

Mercury follows strict rules defined in an extremely detailed system prompt.

Just like in regular ChatGPT, a system prompt acts as a code of conduct that dictates how the AI assistant should behave:

“You are a Shopping Assistant that generates short, structured multiple-choice quizzes to clarify a user’s shopping request.”

This prompt system can easily be found today in the source code of the conversation with your generated shopping guide:

You can actually find this system prompt today in the technical details of your shopping-guide conversation.

And if you’d like to explore it yourself, here it is below in a clearer, easier-to-read format:

System Prompt ChatGPT Shopping

This prompt system details, in particular, how the quiz should be constructed.

Quiz construction rules:

  • Up to 5 clarification questions (budget, size, floor type, etc.).
  • One question = one attribute (budget, style, size, etc.).
  • Exactly 4 answer choices per question (short: 1–4 words each).
  • Budget rules:
  • Always ask about budget if the user hasn’t mentioned it.
  • Always use formats like “Up to $X” and “$X+” — never ranges.
  • Multiple-choice questions:
  • Allowed for preferences and priorities.
  • Not allowed for budget or size/height.
  • Specific requests:
  • If the user asks for something extremely precise (e.g., “X vs Y”), ask no questions.
  • Avoid redundancy:
  • Don’t ask about information the user has already provided.
  • Use conversation context (likes, dislikes, past purchases) to avoid repeating solved points.

The questions to ask are prioritized:

  1. Budget (always ask if not specified)
  2. Innate user attributes (such as gender)
  3. Primary use or essential attribute
  4. Style, brand or feeling
  5. Optional features or context

By following all these instructions, ChatGPT will provide us with a simple and effective quiz:

The user doesn’t type their answers — they simply click on buttons in the quiz widget.
Each selection is then stored in a structured format inside the widget_state field

“widget_state”: “{\”completed\”: true, ..., \”preferences\”: [\”Nettoyage tapis\”, \”Jusqu’à 700 €\”, \”Navigation avancée\”, \”Application mobile\”, \”50–100 m²\”, \”Parquet\”, \”Vidage automatique\”]...}”

Step 2: Reasoning (Chain of Thought)

Once the quiz is complete, Mercury begins its reasoning process.

During this phase, ChatGPT displays intermediate status messages to fill the waiting time.

And the wait is long: generating a full shopping guide currently takes about 5 minutes.

This is where ChatGPT relies on a classic UX principle:

What matters isn’t the actual loading time, but how the user perceives it.

To improve this perception, the system asks additional clarification questions, shows interactive elements, and displays each step of the heavy lifting being done in the background.

All the main stages of this reasoning process appear in the conversation’s source data, inside the cot_messages field — short for Chain of Thought.

“cot_messages”: [
	“Researching top noise-canceling headphones”,
	“Comparing expert reviews on noise reduction”,
	“Analyzing user feedback on comfort”,
	“Reviewing durability test results”,
	“Summarizing price-to-performance ratios”
]

3. Request for external sources

Throughout the entire reasoning process, the connector sends out large batches of web requests — not just a few dozen pages, but hundreds.

Here are a few examples to give you a sense of the scale:

  • “My Dyson V8 vacuum just died. Can you help me find the best replacement with similar or better features?” – 199 sources .
  • “I’m looking for a lightweight laptop under $1,000 for business travel. Please compare a few good options with pros, cons, and key specs” – 247 sources .
  • “What is the best hiking shoe for men for snowy winter?” – 161 sources.
  • “What is the best noise-canceling headset?” – 325 sources.

Two types of sources can be clearly identified:

  1. Editorial pages with third-party tests & reviews .
  2. Merchant product pages .

Behind these 2 types of sources are 2 targets of ChatGPT Shopping queries.

Organic Google for searching for reviews, tests, and comparisons

Like classic ChatGPT , ChatGPT Shopping is primarily based on Google search results.

And OpenAI does this indirectly — through an intermediary.

In a recent LinkedIn carousel, Olivier clearly demonstrated that ChatGPT and SearchApi.io use the same tokens.

Even though we don’t have access to search queries (fan-out) to compare page overlap, we find many clues from Google in:

  • the snippets which are identical to those on Google;
  • parameters of cited URLs:
    • srsltid= (used in free Google Shopping results)
    • #:~:text= (used in featured snippets and “People Also Ask”):

Google Shopping for product information search

But ChatGPT Shopping goes further and now queries Google Shopping.

To be sure of this, we find at least 3 clues:

  1. The product information is exactly the same as in Google Shopping: product names, images, average rating, number of reviews, price:
  1. The URLs of the pages referenced in ChatGPT Shopping regularly contain the Google Shopping markup .
  2. The merchant icons in ChatGPT come from the Google Shopping API and not the standard API:

So to run its Shopping mode, ChatGPT queries both classic organic results from Google (to guide your choice), as well as Google Shopping (for the exact data on the products).

Once the sources are retrieved, the connector will open some of them in “view” mode . These turnXXviewYare used for:

  1. to extract the text (for quotes such as “etc.”),
  2. to link the product cards via merchant_reference_id.

Step 4: Generating the shopping guide

And there you have it: after two cups of coffee, a push-up session and watching a pigeon through the window, the model provides the final answer!

The display of results is also subject to specific rules found in the ubiquitous prompt system.

To display products or not?

Even though it’s for shopping search, it doesn’t display products by default. It’s a bit counterintuitive, but OpenAI has its reasons.

To display a selection of the best products, ChatGPT must receive 2 affirmative answers to the following 2 questions:

  1. Do product examples actually help the user?
  2. Does the category have good coverage via the SERP-based product API?

The prompt system includes a “mini decision table” indicating when to display products ( show_rateable_products must be true or false) :

It includes several examples to illustrate query patterns:

  • Product Discovery: connected light bulbs (questions about budget, platform).
  • Comparison: Tesla vs Hyundai (0 questions, direct result).
  • Gift Giving: a gift for a niece (budget + atmosphere/vibe).
  • Gendered: running shoes (gender must be specified).

Coverage by category (Coverage API)

The second aspect that determines whether or not products are displayed is the quality of coverage by product category, which can be good or bad .

GOOD SERP product API coverage

For certain categories (electronics, clothing, home decor, appliances, toys, etc.):

  • SERPs display many structured product sheets : price, images, ratings, merchants.
  • The data is quite complete, recent and comparable .

In these categories, for a product discovery query , ChatGPT will tend to:

  • put show_rateable_products = True,
  • call the product API,
  • display clickable product cards (price, rating, reviews, etc.).

BAD SERP product API coverage

For other categories (vehicles, real estate, insurance, finance, local services, travel, tickets, digital content, etc.):

  • SERPs do not resemble a usable catalogue : few structured entries, objects that are difficult to compare, many “contractual” or very contextual pages.
  • The price/availability information is incomplete or dependent on the profile/context .

In these categories, even if the user wants to “see examples”, it is better to:

  • do not rely on the product API ,
  • Do not display product maps based on these results, as they would often be false, partial, or misleading.

Therefore, to decide whether or not to display products, ChatGPT’s shopping assistant follows the following algorithm:

  1. Do product examples actually help the user?
    • No →show_rateable_products = False
    • Yes → we move on to 2.
  2. Does the category have good coverage via the SERP-based product API?
    • GOOD →show_rateable_products = True
    • BAD → show_rateable_products = False(even if it’s a “discovery”).

Taking personalization into account

The ChatGPT shopping assistant takes into account your personal characteristics: likes, dislikes, style, region, household composition, habits, and purchase history. But mum’s the word, it’ll never tell you 😏

Safety block

ChatGPT Shopping will also not generate a shopping guide for you if your request relates to a prohibited category.

If the request matches, the model should return an empty JSON with the header “Prohibited request”.

Prohibited:

  • Weapons, including 3D printed weapons and spare parts.
  • Drugs, including accessories (e.g., bongs).
  • Finance: skimmers, counterfeit notes.
  • Harmful content: suicide, eating disorders.

Notable exceptions:

  • Kitchen knives allowed (switchblades prohibited).
  • Conventional cameras allowed (spy cameras prohibited).

The settings render_as display 3 rendering formats and 3 levels of product visibility:

  • “hero”: 1 product featured (best overall),
  • “block”: detailed recommendation,
  • “table”: cell in a comparison table.

ChatGPT Shopping explicitly limits the maximum number of products that can be recommended in the response to 10:

“max_product_recommendations”: 10

So, what do we get in the end?

ChatGPT’s Shopping Assistant is essentially a shopping guide. It’s not designed for everyday purchases, but if you’re considering a major, expensive purchase — the kind that would normally require browsing half the internet — this assistant can genuinely help by taking over all the tedious research work.

What ChatGPT gains with this new mode is accuracy.

Accuracy has always been the Achilles’ heel of AI-powered search. And in e-commerce, accuracy determines almost everything: product features, prices, reviews, compatibility — you name it.

When SearchGPT was first released, I wrote that true online shopping would only become possible once OpenAI started working with product feeds, where all information is structured.

And it looks like OpenAI has found a temporary workaround: instead of reinventing the wheel, it uses an already-existing solution — Google Shopping, via its web version. I have no idea how much all these SearchAPI.io requests cost, but for now, it appears to work.

In the end, the ChatGPT Shopping Assistant remains the same deep-thinking mode that tries to understand your intent, gather a massive amount of information, and synthesize it into a meaningful answer — only now, with Google Shopping mixed in.

Alexis Rylko

Article de :

Alexis Rylko

Consultant SEO depuis 2009 & Directeur technique SEO chez iProspect France, formateur SEO, conférencier, éditeur de sites & développeur d’outils SEO.
🏆 Jeune personnalité Search de l'année 2022 (SEMY Awards)
🏆 Prix de la "Meilleure campagne SEO 2023" (SEMY Awards).

Laisser un commentaire