When someone asks ChatGPT "What is the best espresso machine under $300?", it does not just give a text answer anymore. It shows a product carousel — real products with images, prices, ratings, and direct links to buy. This is ChatGPT Shopping, and it is quickly becoming a major product discovery channel.
If your products are not showing up in these results, you are missing sales. Here is how to fix that.
#How ChatGPT Shopping Works
ChatGPT Shopping pulls product information from multiple sources to build its recommendations. Understanding where it gets data helps you optimize for it.
Primary data sources:
- Direct crawling via GPTBot — OpenAI's crawler visits your product pages and extracts information from schema.org markup and page content
- ChatGPT-User browsing — When ChatGPT browses the web in real-time during a conversation, it can visit and read your product pages
- Product data aggregators — ChatGPT also sources data from shopping aggregators, comparison engines, and merchant feeds
- UCP manifests — Stores with UCP support provide a structured catalog that ChatGPT can access directly
When a user asks a shopping-related question, ChatGPT combines these data sources to identify relevant products, then presents them in a visual carousel with key details.
What the carousel includes:
- Product image
- Product name
- Price
- Star rating (if available)
- Brief description
- Direct link to the product page
To get into that carousel, ChatGPT needs to be able to find your products, understand what they are, and trust the data enough to recommend them.
#Step-by-Step: Making Your Products Discoverable
#Step 1: Allow GPTBot in Your robots.txt
This is the single most common reason products do not appear in ChatGPT Shopping. Many stores block GPTBot — sometimes intentionally, sometimes because a platform default or security plugin does it automatically.
Check your robots.txt at https://your-store.com/robots.txt and look for these lines:
User-agent: GPTBot
Disallow: /
If you see this, GPTBot is blocked and ChatGPT cannot crawl your product pages. Remove the Disallow line or replace it with:
User-agent: GPTBot
Allow: /
Also check for ChatGPT-User, which is used when ChatGPT browses the web during conversations:
User-agent: ChatGPT-User
Allow: /
#Step 2: Add Comprehensive Product Schema Markup
Schema.org Product markup in JSON-LD format is the most reliable way to communicate product details to ChatGPT. Add this to every product page.
Here is the minimum you need:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Precision Burr Coffee Grinder",
"description": "40mm conical burr grinder with 18 grind settings, built-in scale, and anti-static technology.",
"image": "https://your-store.com/images/coffee-grinder.jpg",
"brand": {
"@type": "Brand",
"name": "BrewCraft"
},
"offers": {
"@type": "Offer",
"price": "129.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://your-store.com/products/precision-burr-grinder"
}
}
The more fields you include, the better. Add aggregateRating, review, sku, gtin, material, color, and weight when available. ChatGPT uses these additional fields to match products to specific user queries.
#Step 3: Make Product Data Accurate and Complete
ChatGPT evaluates the quality and consistency of your product data. Inconsistencies between your schema markup and on-page content hurt trust.
Check for these common data issues:
- Price mismatches — The price in your JSON-LD should match the price displayed on the page
- Availability accuracy — Do not mark products as
InStockif they are actually backordered or out of stock - Image quality — Use high-resolution product images with clean backgrounds. ChatGPT surfaces these in carousels.
- Complete descriptions — Vague descriptions like "Great product, buy now!" do not help AI agents understand what the product actually is
#Step 4: Ensure Your Sitemap Includes All Products
Your XML sitemap tells crawlers where to find your pages. If product pages are missing from the sitemap, GPTBot may never discover them.
Check your sitemap at https://your-store.com/sitemap.xml and verify that every active product page is listed. Most e-commerce platforms generate sitemaps automatically, but it is worth verifying — especially if you have recently added new products or migrated your catalog.
#Step 5: Optimize Page Load Speed
GPTBot, like all crawlers, has a time budget. If your pages take too long to load, the crawler may abandon them before fully indexing the content. Aim for product pages that load in under 2 seconds.
Key speed improvements for product pages:
- Compress images (WebP format is ideal)
- Minimize JavaScript that blocks rendering
- Use server-side rendering so product data is in the initial HTML, not loaded via client-side JavaScript
- Ensure your JSON-LD schema is embedded in the page HTML, not injected via JavaScript after page load
#Step 6: Build Product Authority Signals
ChatGPT prioritizes products that have strong authority signals. This includes:
- Customer reviews — Products with reviews and ratings appear more frequently. Include
AggregateRatingin your schema. - Brand presence — A consistent brand across your store, social media, and other channels helps AI agents verify your products
- Merchant reputation — Stores with clear contact information, return policies, and secure checkout are more likely to be recommended
#Common Mistakes That Block ChatGPT From Finding You
Mistake 1: JavaScript-rendered product data. If your product name, price, and description are loaded via client-side JavaScript after the initial page load, GPTBot may not see them. Crawlers typically process the initial HTML response. Make sure critical product data is in the server-rendered HTML.
Mistake 2: Blocking crawlers at the CDN or firewall level. Some bot-protection services and CDNs block AI crawlers even when your robots.txt allows them. Check your Cloudflare, Akamai, or similar settings to ensure GPTBot and ChatGPT-User are not being rate-limited or blocked.
Mistake 3: Using noindex on product pages. This seems obvious, but we see it more often than you would expect — particularly on stores that have migrated between platforms and have leftover meta robots tags.
Mistake 4: Incomplete schema with missing prices. If your Product schema does not include an Offer with price and availability, ChatGPT cannot include your product in shopping carousels because it lacks the basic transactional information.
Mistake 5: Duplicate product pages without canonical tags. If the same product exists at multiple URLs (e.g., with and without query parameters), search crawlers get confused. Use canonical tags to point to the definitive product URL.
#Measuring Your Progress
After making these changes, give GPTBot a week or two to re-crawl your site. Then test by asking ChatGPT shopping-related questions that match your products. Try specific queries like "best [your product category] under [price point]" or "[your brand name] [product name]."
You can also scan your store with UCPReady.ai to check your crawler access, schema markup quality, and overall AI readiness score. The scanner specifically checks whether GPTBot can access your pages and whether your schema markup meets the requirements for ChatGPT Shopping.