ChatGPT Shopping Agent: Can It Find a Small Online Shop's Products?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT Shopping Agent: Can It Find a Small Online Shop's Products?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT Shopping Agent: Can It Find a Small Online Shop's Products?

Yes, if the shop's product data reaches it in a form it can read. Eligible Shopify and Etsy sellers are already connected, other shops can apply to share a product feed, and shoppers finish buying on the shop's own site. Either way, ChatGPT can only show titles, prices, stock and returns details a shop publishes, so they must be accurate.

OpenAI's merchant page doesn't describe a separate shopping agent for shops to prepare for. It talks about shopping in ChatGPT, built on its Agentic Commerce Protocol, which today supports product discovery. Two features come close to an agent: shopping research, which runs a multi-step product search and writes the shopper a buyer's guide, and ChatGPT Work, which replaced the older ChatGPT agent on 9 July 2026 and can browse your site in its own browser. Instant Checkout, the part that let shoppers pay inside ChatGPT, is being phased out. So the job is to make your products findable, readable and correct, not to wait for a robot that buys on customers' behalf.

Follow me on Instagram@sagnikteaches

How a product reaches a ChatGPT answer

OpenAI's help article on shopping with ChatGPT search explains the mechanism in plain terms. When a question suggests shopping intent, ChatGPT can show a carousel of product options with images, details and links to sites where you can buy. A product appears when ChatGPT judges it relevant to the question and to context such as Memory or custom instructions. It may weigh price, reviews and ease of use, and it draws on "structured metadata from first-party and third-party providers (e.g., price, product description)" and other third-party content.

Connect on LinkedInSagnik Bhattacharya

Four points from that page matter to a small shop:

Subscribe on YouTube@sagnikteaches
  • Results aren't ads. OpenAI says product results are selected independently and are not influenced by its partnerships. Ads are separate.
  • Not everything is shown. The page says not all available products will necessarily appear.
  • Merchants are ranked. When several sellers offer a product, they're ranked on factors such as availability, price, quality and whether they are the maker or primary seller. That last factor can suit a small shop selling its own goods.
  • Your words may be rewritten. ChatGPT can generate simplified titles and descriptions from what it receives, label products with phrases such as "Budget-friendly" that aren't verified, and summarise reviews from public websites that OpenAI doesn't verify. Price changes can take a while to show.

You can't control any of that directly. What you control is the data that goes in, which is the rest of this tutorial. For the broader how-to, see the tutorial on getting your products recommended in ChatGPT Shopping.

Four routes in, and what each asks of you

RouteSuitsWhat the vendor pages sayWhat you do
Shopify storeAny store that meets Shopify Catalog's requirementsProducts flow through Shopify Catalog, and the ChatGPT channel is active by default for eligible stores. Customers buy at your own checkout, in a ChatGPT in-app browser or a new tab. There are no fees beyond payment processingOpen Sales channels, then Agentic, in the admin. Check you are eligible, see how many products are in the catalogue, and review the data mapping
Etsy sellerShops selling through EtsyOpenAI's merchant page says Shopify and Etsy catalogues are already integrated, with no further setup or applicationKeep listings complete and accurate; OpenAI's pages don't list which Etsy fields are shared, so treat every listing field as visible
Direct feed to OpenAIShops on other platforms, or with a feed providerFeed onboarding is "currently available to approved partners". You apply at OpenAI's merchant page, and applicants join a waitlist. A self-serve platform is planned for later this yearApply, then prepare the feed fields below. Files go over SFTP, ideally as a full snapshot at least daily
Shopify's Agentic planA shop on another platform that wants Shopify Catalog without migratingNo monthly subscription fee, though payment fees and paid apps still apply. You verify your identity, add business registration documents and publish terms, privacy and returns policies. Each product needs an external URL pointing at your existing storeImport products by CSV, the API or a connector, and keep price and stock current

Without any of these, ChatGPT can still reach your pages through its search crawler, but you have less control over how your data is read. OpenAI's merchant page also says shopping is currently live in one market only, and its feed spec says standard uploads currently target that same market, so check whether your customers are covered before investing time. Shopify adds that eligibility depends on your business, your products, the customer's location and the channel, and that eligibility doesn't guarantee a product appears in any particular answer. Each channel decides what to show.

The nine fields every product row needs

OpenAI's product feed spec, as of October 2026, says to submit one row per purchasable item or variant, with nine required fields. Shopify sellers don't fill these in by hand, but the same list is a good audit of your product pages.

FieldWhat to putCommon slip
item_idA stable ID, unique per item or variant, never reusedReusing an ID for a different product after a clear-out
titleConcise name including the selected variant; aim for 150 characters at mostPromotional text such as "Best seller!!"
descriptionFactual, plain text for this item; aim for 5,000 characters at mostMarketing adjectives with no size, material or care details
urlThe product page, with the variant selected where possible; keep it stableLinking to a collection page, or a variant the shopper didn't pick
brandThe brand as shown on the product pagePlaceholders such as "n/a"
seller_nameThe name of the seller; a real name, not a placeholderUsing a placeholder instead of your trading name
image_urlA direct, public JPEG or PNG link showing this variantAn image behind a login, or one of the wrong colour
availabilityin_stock, out_of_stock, pre_order, backorder or unknownLeaving it blank: the row is rejected. "Unknown" doesn't assert stock
priceRegular price in the form 22.00 USD, with a decimal point and a currency codeA price that differs from the page, or "22" with no currency

The spec also lists optional fields worth supplying where you have them: a GTIN (8, 12, 13 or 14 digits with a valid check digit, never invented), a manufacturer part number, product category, material, colour, size, dimensions, weight, extra images, a sale price, shipping price, return fields, and aggregate product review counts and ratings. Its guidance on optional data is blunt: omit an unknown value rather than writing a placeholder, because an empty value doesn't mean zero or false.

One product in two colours, filled in

This is a feed record for an imaginary stoneware mug sold in two colours (illustrative; every URL and brand is a placeholder). Each colour is its own row, sharing a group_id:

{
  "item_id": "MUG-SPK-OAT",
  "group_id": "MUG-SPK",
  "listing_has_variations": true,
  "variant_dict": {"color": "Oat"},
  "title": "Speckled stoneware mug, 350 ml, oat",
  "description": "Hand-glazed speckled stoneware mug with a wide handle. Holds 350 ml. Dishwasher and microwave safe. Made in small batches in our own studio.",
  "url": "https://www.example.com/products/speckled-mug?color=oat",
  "brand": "Example Ceramics",
  "seller_name": "Example Ceramics",
  "image_url": "https://www.example.com/images/mug-oat.jpg",
  "price": "22.00 USD",
  "availability": "in_stock",
  "condition": "new",
  "material": "Stoneware",
  "color": "Oat",
  "dimensions": {"length": "12", "width": "9", "height": "9", "unit": "cm"},
  "weight": "0.38",
  "item_weight_unit": "kg",
  "shipping_price": "4.50 USD",
  "accepts_returns": true,
  "return_deadline_in_days": 30,
  "return_policy": "https://www.example.com/returns"
}

The second row, for the sage colourway, differs only in its ID (MUG-SPK-SAGE), its title, colour, image and URL, and its availability, which is out_of_stock because the glaze batch hasn't been fired. Notice what the record avoids: a promotional title, a vague description, and a shipping price left blank, because the spec says an omitted shipping price means unknown, not free. A before-and-after on three fields shows the difference:

FieldBeforeAfter
title"Gorgeous handmade mug, perfect gift!!""Speckled stoneware mug, 350 ml, oat"
description"You'll love this beautiful, unique mug.""Hand-glazed speckled stoneware mug with a wide handle. Holds 350 ml. Dishwasher and microwave safe."
price"22" (the page says $24 since the price rise)"24.00 USD", matching the page and checkout

The tutorials on writing Shopify product descriptions with AI and taking a local shop online with AI product listings cover the wording side, and the spec's rule is a good filter for either: concise, factual, plain text.

Price and stock: how stale data shows up

OpenAI's file-upload guide recommends a full snapshot of your catalogue at least once a day. That sets a hard limit on freshness, and a simple sum shows what it means. Say your feed uploads at 2:00 am. A mug that sells its last unit at 10:15 am stays "in_stock" in your data for about 16 hours, until the next snapshot is processed. A price rise made at 9:00 am keeps its old figure for about 17 hours. OpenAI's help page adds that there may be a further delay before changes show. Availability is a ranking factor, so a shop that is slow to mark things out of stock is both annoying shoppers and weakening its own position.

Five rules reduce the damage:

  1. Mark sold-out items out_of_stock, don't delete them. The upload guide says a product missing from a snapshot isn't deleted immediately: OpenAI keeps its most recently processed record for up to 14 days. To withdraw a product from search, set is_eligible_search to false.
  2. Make price identical in three places. The feed, the product page and the checkout must agree. A sale price must be lower than the regular price and in the same currency, and you update the feed when the sale starts and ends, because uploaded dates don't schedule anything.
  3. Watch compare-at prices on Shopify. If you set them, the channel mapping lets you choose whether Shopify Catalog uses the current price or the compare-at price as the list price, and Shopify warns that AI agents may use the list price to advertise strikethrough pricing. Choose the current price unless you want the higher figure shown as the original.
  4. Pick an upload time that follows your busiest stock changes. If stock moves mostly during the day, an early-morning upload starts each day with correct data. If you run limited drops at noon, ask whether your platform or feed provider offers a real-time sync.
  5. Keep identifiers stable. The spec says to keep item_id, group_id and offer_id unchanged when price, stock, title or images change, and never to put a price in an offer ID.

The tutorial on syncing stock across Shopify, Amazon and eBay automatically is worth reading if stock changes across several channels, because a feed is only as accurate as the stock number behind it.

Returns, shipping and the pages behind the feed

Shoppers ask ChatGPT about returns and delivery, and the answer comes from whatever your pages and feed say. The spec has three return fields: accepts_returns (true or false), return_deadline_in_days (a whole number of days, supplied only with true) and return_policy (a public URL). A policy URL doesn't set the first two, so supply all three. For a final-sale item, send false and omit the window.

The public returns page should say in plain words what a shopper needs. This version is a template with illustrative numbers; use your own terms:

Returns
You can return most items within 30 days of delivery, unused and in the original packaging.
Faulty or damaged items: tell us within 7 days and we'll send a prepaid label and refund you in full.
Changed your mind: you pay the return postage (a flat $6.50), and we refund the item price within 5 working days of receiving it.
Not returnable: personalised items, gift cards and anything marked final sale on the product page.
Refunds go back to the original payment method.
To start a return, reply to your order email or use the form on this page.

Two platform details help. On Shopify, the agentic storefronts knowledge base holds non-product facts such as your return process and shipping timelines, which AI agents can query, so a missing or stale return policy there is a gap that shows up in answers. Shopify also tells ChatGPT sellers to put any relevant legal disclosures in the first 6,000 characters of the product description. If you sell clothing or accessories, note that ChatGPT offers a virtual try-on and warns shoppers that the image may not represent the product exactly, advising them to check the merchant's measurements, product details and return policy. Publish real measurements.

Letting the crawler in

Whatever your route, ChatGPT's search crawler reads public pages, and OpenAI's crawler documentation is specific about it. OAI-SearchBot is the robot that surfaces sites in ChatGPT's search features, and sites that opt out of it will not be shown in ChatGPT search answers, though they can still appear as navigation links. GPTBot is a separate robot for training, and each setting is independent. A change to robots.txt can take about 24 hours to take effect. OpenAI itself gives this combination as an example, and the file needs two entries:

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

The second entry is your choice, because it concerns training, not shopping results. Two more checks. OpenAI recommends allowing requests from its published IP ranges as well as the robots.txt entry, so make sure your host or a security service isn't blocking them. And remember that ChatGPT-User, which visits pages when a person asks ChatGPT to, may not be bound by robots.txt, because the visit is user-initiated. On Shopify, bot management at the network level is handled for you, and robots.txt can be edited through the robots.txt.liquid template. Every Shopify store also serves /agents.md and /llms.txt by default. Shopify says they are separate from Shopify Catalog and don't replace it, and OpenAI's crawler and shopping pages don't mention them, so treat them as a bonus rather than a route.

Shopping research and ChatGPT Work: the agent-like parts

If anything in ChatGPT deserves the name "shopping agent", it is these two, and each reads your shop differently from the product carousel.

Shopping research starts when a shopper selects products already in the chat and chooses Research. OpenAI's help article on shopping research says ChatGPT asks follow-up questions about brands, sizes or budget, then runs a multi-step discovery process drawing on merchant data supplied through the Agentic Commerce Protocol, publicly available product information and other retail sources. A few minutes later it returns a buyer's guide: a handful of top picks with the reasons for each, side-by-side comparisons of price, size and core features, and links to merchants who currently sell each item. Two lines on that page matter to a small shop. It reads product pages directly, and when a retailer blocks automated access it either skips that source or relies on other sites with similar products. A comparison table can only quote the capacity, material or dimensions your page states, so a page that hides them in an image or a size chart PDF loses the comparison.

ChatGPT Work is the long-task agent on paid plans other than Go. OpenAI points merchants who want to appear in shopping research to its allowlisting page, now titled "ChatGPT Work's Cloud browser allowlisting". The Cloud browser signs its requests so security services can verify they come from ChatGPT, and the page gives steps for Cloudflare, Akamai and HUMAN, and says sites on Vercel need no change. The same page says that at launch the browser could not sign in to websites or complete payments. OpenAI's 25 August 2026 release notes say ChatGPT Work's browser can now finish tasks on some sites that need a sign-in (on Plus and Pro), and that it always asks for confirmation before consequential actions such as a payment. So an agent may reach your checkout, but the shopper still approves the payment.

ChatGPT featureWhat it readsWhat your shop needs
Product results in a chatStructured data from Shopify Catalog, Etsy, approved feeds and other providersA complete, current catalogue with matching price and stock
Shopping researchAgentic Commerce Protocol data, product pages read directly, other retail sourcesSpecs written as text on each product page, and a site that doesn't block it
ChatGPT Work's browserYour live site, page by page, as a signed visitorBot protection that lets verified agents through, and a checkout a person can finish

A realistic slip (illustrative): a shop switches on a strict bot-fight setting at its security provider after a wave of scraping. Its carousel results carry on, because they come from the catalogue, but shopping research quietly stops quoting the shop's pages and recommends a reseller of the same product instead. Nothing in the shop's analytics flags it; the reseller simply appears in the buyer's guide. The fix is to allow the verified ChatGPT agent in the security settings (Cloudflare lists it as a signed agent tagged chatgpt-agent) rather than switching protection off. Shopify stores can usually skip this step, since the network layer is Shopify's job, though Shopify advises against putting your own proxy in front of the store.

The three-product test

A checklist is only useful if you test the result. Pick three products: a bestseller, a product with variants and one whose price or stock changed this week. For each, ask ChatGPT three questions from a colleague's account or in a Temporary Chat set to Unpersonalized. OpenAI's page says results take Memory and custom instructions into account, and a Temporary Chat still uses both unless you pick Unpersonalized before the first message:

  1. By name: "Show me the speckled stoneware mug from [your shop]."
  2. By need and budget: "I need a gift mug under $25 that's dishwasher safe."
  3. By policy: "What is the returns policy for the speckled mug at [your shop]?"

For each answer, record whether your shop appears, whether the price, stock and image match your site, whether the link lands on the right variant, and whether the returns or shipping text matches your page. Run each question twice, because answers vary. Here are illustrative results for nine checks:

ProductQuestionResultWhere the fault lies
Mug (bestseller)By nameShown; price correctNothing to fix
MugBy need and budgetNot shownDescription omits capacity and gift use; add them in plain words
MugBy policy"30-day returns", matches pageNothing to fix
Candle (three scents)By nameShown with the wrong scent's imageVariant rows share one image; give each variant its own image
CandleBy need and budgetShown at the lowest variant's priceCheck the group's variant prices and the page's displayed price
CandleBy policyQuotes a 7 to 10 day delivery timeThe shipping page changed to 3 to 5 working days; update it and allow a day or two
Limited-edition vaseBy nameShown as available, sold out on TuesdayStale availability; mark out_of_stock promptly
VaseBy need and budgetNot shownPossibly just not relevant; no action
VaseBy policyCorrect returns textNothing to fix

Four of the nine need no action, and the other five each have a cause you can name. That is a useful result, because each fault sits in one place: a feed field, a page, a platform setting or the stock process. Then add one shopping research run per product. Select it in a product carousel, choose Research and answer the follow-up questions as a shopper would ("a gift, under $25, dishwasher safe"). When the buyer's guide arrives, check whether your shop is among the merchants linked and whether the comparison quotes your capacity, material and price correctly. If the guide links a reseller of your own product instead of you, check your security settings before you touch the feed. Repeat the whole test weekly for a month and then monthly, and keep the sheet. The tutorial on tracking whether AI search is sending you customers covers the traffic side of the same question.

Five beliefs that cost shops time

  • "Being in the feed means I'll be shown." The spec says eligibility doesn't guarantee display, and Shopify says the same about its catalogue.
  • "I must pay to be listed." OpenAI says product results aren't ads, and the merchant page says purchases on your own site carry no fee by default.
  • "ChatGPT will check out for my customers." OpenAI says purchases are completed on merchant-owned sites or apps, and Instant Checkout is being phased out. ChatGPT Work's browser can reach your checkout, but OpenAI says it asks the shopper to confirm before any payment, so your checkout still has to work for a person.
  • "Only big brands get in." Nothing in the ranking factors OpenAI lists is about size, and being the maker is one of them. Accurate data and stock are things a small shop can control.
  • "Any product can be listed." OpenAI's policy excludes categories such as age-restricted products, weapons, prescription-only medications and unlicensed financial products, and Shopify Catalog's own list adds items such as services, event tickets, live animals and science and laboratory products. Check yours against both.

The first hour on your own shop

In the first hour, work through four checks. See which route applies to you, and apply or open the Agentic channel if it does. Compare ten product pages against the nine fields above. Check that your returns and shipping pages are public, complete and consistent. And check robots.txt and any security settings for OAI-SearchBot and the verified ChatGPT agent. In the second hour, run the three-product test and fix what it finds. For the page-by-page detail behind each check, the tutorial on helping ChatGPT discover your products works through a full checklist for small shops.

After that, spend ten minutes a week on a spot-check of three products and the previous week's price or stock changes. Shopping in ChatGPT is still changing: onboarding is by approval, the market is limited and OpenAI says its self-serve merchant platform is still being built. A shop that keeps its product data accurate and public is ready for whichever version arrives next.

Questions small shop owners ask about ChatGPT shopping

Do I have to pay to appear in ChatGPT shopping results?

OpenAI's help page says product results are selected independently by ChatGPT and are not ads, and its merchant page says there are no fees by default for purchases made on your own site or app. Ads are a separate product with their own rules. Shopify's page for the ChatGPT channel likewise says you pay only your usual payment processing fees.

Is Instant Checkout still available?

It is being phased out. OpenAI's merchant page says it is moving away from a standalone Instant Checkout experience and that purchases are completed on merchant-owned websites or apps, although its help page still says an Instant Checkout option may appear for some products. Plan for shoppers arriving at your own checkout, which keeps your branding and payment methods.

Will ChatGPT show my current price and stock?

Only as current as the data it receives. OpenAI says there may be some delay before price or shipping changes show up, and recommends feeds of at least one full snapshot a day. Keep price and availability identical on your site, in your feed and at checkout, and fix a mismatch at the source.

What if my customers are outside the market where shopping is live?

OpenAI's merchant page says shopping is currently live in one market and that it plans to expand to more regions. Its feed spec says standard uploads currently target that market, and other markets need OpenAI's confirmation. Keep your data clean now, and check OpenAI's pages again before assuming your customers are covered.

Does structured data on my product pages help?

OpenAI's help page lists structured metadata from first-party and third-party providers among the inputs, but doesn't say whether that includes the markup on your own pages. Its shopping research page says that feature reads product pages directly, so the visible text matters most. Treat accurate markup as a cheap extra that other systems read, not as a substitute for the Shopify, Etsy or feed route.

Further reads

Sources: OpenAI's help articles on shopping with ChatGPT search, shopping research, ChatGPT Work's Cloud browser allowlisting and temporary chats; ChatGPT release notes (9 July and 25 August 2026); OpenAI's merchant page and Agentic Commerce developer docs (product feed spec, file-upload overview, get-started and best-practices guides); OpenAI's crawler documentation; Shopify's help pages on agentic storefronts, Selling on ChatGPT, Shopify Catalog and the Agentic plan.

Want your product data checked for ChatGPT?

On a 1:1 call we'll check how your catalogue reaches ChatGPT today, fix the fields and pages that matter, and set up a simple weekly test so wrong prices or stock get caught early.

Book a 1:1 call with me