How ChatGPT decides what to recommend
ChatGPT Shopping results are organic and unsponsored: you cannot buy placement (OpenAI Help Center). Selection comes down to structured metadata and third-party signals. Reported ranking factors include:
Feed data quality. Your product feed is the primary source. Complete titles, descriptions, images, price, and availability are effectively required for inclusion (Alhena).
Product schema on-page. Product JSON-LD gives the model directly parseable name, price, availability, brand, ratings, and identifiers (BlueJar).
Review signals. Higher review volume and ratings across trusted sources (your site, Google, Amazon, specialty review sites) raise recommendation odds.
Merchant ranking. Availability, price competitiveness, quality, and whether you are the maker or primary seller of the item.
The through-line: consistency across your feed, your page schema, and third-party sources. Mismatches (a price in the feed that disagrees with the page) erode trust and hurt inclusion.
Channel 1: the product feed
Two feeds matter.
Bing Merchant Center feeds ChatGPT's shopping results because ChatGPT Search is powered by Bing's index (Alhena).
OpenAI's Agentic Commerce product feed is the direct spec OpenAI ingests and indexes for shopping and agentic checkout (OpenAI Developers).
Agentic Commerce feed essentials
Per OpenAI's spec, required fields include title (UTF-8, max 150 chars), description (max 5,000 chars), url, plus price and availability so items display correctly (OpenAI Developers).
On identifiers: GTIN is optional (numeric, 8-14 digits) but strongly recommended because it disambiguates your product against catalogs; when a GTIN is missing, MPN becomes required (OpenAI ACP walkthrough).
On freshness: feeds can be updated as often as every 15 minutes to keep price and inventory current (OpenAI Developers). Stale price/availability is the fastest way to get dropped.
| Feed field | Status | Rule of thumb |
|---|---|---|
| title | Required | Max 150 chars. Lead with brand + product + key attribute. |
| description | Required | Max 5,000 chars. Specifics, not marketing prose. |
| url | Required | Canonical product URL, RFC-1738 valid. |
| price | Required | Match the on-page price exactly. |
| availability | Required | Keep in sync in near real time. |
| gtin | Optional but recommended | 8-14 digit numeric; aids matching. |
| mpn | Required if no GTIN | Manufacturer part number. |
| image | Required | High-quality, correct product. |
| reviews/ratings | Recommended | Improves relevance and trust. |
Channel 2: Product JSON-LD on the page
Even with a feed, on-page Product schema helps AI crawlers parse the live page and reconcile it against feed and third-party data. Here is a working, minimal example.
```html
The fields that move the needle
price + priceCurrency must equal the visible page price. Discrepancies get you filtered.
availability uses the Schema.org URLs (InStock, OutOfStock, PreOrder, BackOrder). Keep it live; out-of-date availability is a top reason for exclusion.
gtin13/gtin/mpn anchor your product to a global identity so the model can match it across sources.
aggregateRating must reflect real, on-page reviews. Never fabricate. Review volume and rating are direct ranking inputs.
priceValidUntil signals price freshness.
Review signals: the underrated lever
Products with more reviews and higher ratings across trusted sources are more likely to be surfaced (BlueJar). Practical moves:
Run a post-purchase review flow to grow volume steadily.
Mark up genuine reviews with Review/aggregateRating so they are machine-readable.
Get listed and reviewed on the third-party sources the models already trust (Google, Amazon, category-specific review sites).
Respond to reviews. Recency and engagement read as an active, credible merchant.
Availability and price: keep them honest and current
ChatGPT's shopping data leans on freshness. Two failure modes dominate:
Stale availability. Showing "in stock" when you're sold out breaks trust and gets you dropped. Sync inventory to feed and schema in near real time.
Price mismatch. Feed says €139, page says €149. The model can't reconcile, so it deprioritizes you. Automate parity checks.
A shippable checklist
[ ] Submit a Bing Merchant Center feed.
[ ] Submit the OpenAI Agentic Commerce product feed.
[ ] Add Product JSON-LD with offers, price, availability, gtin/mpn.
[ ] Ensure feed price = schema price = visible price.
[ ] Sync availability in near real time (up to every 15 min).
[ ] Add real aggregateRating from on-page reviews.
[ ] Keep titles under 150 chars, front-loaded with brand + attribute.
[ ] Keep AI crawlers (OAI-SearchBot) unblocked in robots.txt.
[ ] Grow review volume on trusted third-party sources.
FAQ
Can I pay to rank higher in ChatGPT Shopping?
No. ChatGPT Shopping recommendations are unsponsored. Data quality, availability, price, and reviews determine placement, not ad spend (OpenAI Help Center).
Do I need both a feed and on-page schema?
Yes, ideally. The feed is the primary data source; on-page Product JSON-LD lets AI crawlers parse the live page and cross-check price, availability, and reviews. Consistency between them builds trust.
Is GTIN required for ChatGPT Shopping?
In OpenAI's feed spec, GTIN is optional but recommended because it improves catalog matching. If you have no GTIN, MPN becomes required (OpenAI Developers).
How often should I update my feed?
As often as needed to keep price and inventory accurate. OpenAI's spec allows updates every 15 minutes. Prioritize freshness for price and availability.
Does Bing Merchant Center really affect ChatGPT?
Yes. ChatGPT Search draws on Bing's index, so a complete Bing Merchant Center feed is a practical foundation for ChatGPT Shopping inclusion.
What's the single biggest reason products get excluded?
Data mismatch and staleness: out-of-date availability or a price that disagrees between feed, schema, and page. Fix parity first.
Audit your product pages
SEO AEO Specialist checks Product schema validity, price/availability parity, identifier completeness, review markup, and AI crawler access across your catalog, then flags exactly which SKUs are ChatGPT-ready.
Free: €0, audit up to 50 product pages.
One-time report: €9 for a full catalog AEO snapshot.
Ongoing: €19/mo per domain to catch drift in price, stock, and schema.
Scan your product pages free and find the mismatches before ChatGPT does.
AEO vs SEO: The Differences That Actually Matter
See where you stand
SEO AEO Specialist runs a free AI-visibility audit and hands you the exact fixes. One-off report €9, unlimited €19/mo.
Run your free audit →