1. Complete required product identifiers and merchant fields
Start with the fields the destination requires. OpenAI and Google each have their own feed specification, and the fields they require differ; check the official spec for your destination and category.
Each destination has its own feed specification, and the required fields differ. Check the official specification for your destination rather than assuming one universal list.
OpenAI Commerce product feed (native schema)
The native OpenAI product feed specification requires, on every row: item_id, title, description, url, image_url, price (with an ISO 4217 currency code), availability, and brand. It also requires both eligibility flags, is_eligible_search and is_eligible_checkout. When checkout is enabled by setting is_eligible_checkout to true, is_eligible_search must also be true; a false checkout value does not require search eligibility to be true. The is_ads_eligible flag is required for Ads processing and optional for non-Ads feeds. Required merchant fields include seller_name, seller_url, return_policy, target_countries, and store_country; seller_privacy_policy and seller_tos are required when checkout is enabled. Other identifiers (gtin, mpn, condition, dimensions, and more) are optional or recommended, not required on every row.
OpenAI Commerce product feed (Google-compatible upload path)
If OpenAI confirms that your registered feed supports the Google-compatible format, you can upload a Google-format delimited feed without renaming columns. The required fields on every row are then id, title, description, link, image_link, availability, price, and brand. OpenAI maps these to its native schema (for example id to item_id, link to url, and image_link to image_url). This path is conditional on OpenAI confirming your feed supports it; otherwise use the native OpenAI specification.
Google Merchant Center
Google Merchant Center requires id, title, description, link, image_link, availability, and price on every row. The identifiers brand, gtin (or mpn), and condition are conditional, not universal: brand depends on product type, mpn is required only in specified no-GTIN cases, identifier requirements depend on category, and condition is not required for every new product. Submit a valid gtin when one is assigned. If no GTIN is assigned but the product has a brand and mpn, submit both and do not declare that identifiers do not exist. Set identifier_exists to false only when the product truly lacks the applicable identifiers under Google's category-specific rules. An incorrect false value can result in a warning, disapproval, or limited performance.
Keep the title factual and structured (brand plus product plus a key attribute) rather than marketing copy. Use a single source of truth for these fields so the feed and the product page agree. Missing required fields are the most common reason a feed is rejected or a product is not eligible.
- OpenAI Product Feed Specification: developers.openai.com/commerce/specs/feed
- Google Merchant Center product data specification: support.google.com/merchants/answer/7052112
- Google Merchant Center identifier exists specification: support.google.com/merchants/answer/6324478
2. Keep price and availability current
Price and availability change often. Submit updates on a cadence that matches how often they change for your catalog, and keep the feed and the product page in sync.
Stale price or availability is a common cause of a poor shopper experience and can reduce eligibility. Google recommends keeping Merchant Center information current. Submit updates on a cadence that matches how often price and inventory change for your catalog, and use the same values on the feed and the visible product page.
If you use Paz, shopping visibility monitoring records what an engine surfaces for your queries so you can see whether current data is associated with appearances. Platform inclusion is controlled by the platform; Paz records appearances as observations.
3. Add category-specific attributes
After the required fields, add the attributes a shopper in your category filters on. These are platform-specific and changeable, so check the platform documentation for your category.
Beyond the required fields, add the attributes a shopper in your category actually filters on: size, color, material, and fit for apparel; dimensions, compatibility, and power for electronics; dimensions, material, and capacity for home goods. The exact attributes a platform uses are platform-specific and can change, so check the platform documentation for your category rather than assuming a universal list.
Submit a valid gtin when one is assigned. If there is no assigned GTIN but the product has a brand and mpn, submit both and do not set identifier_exists to false. Use identifier_exists=false only when the product truly lacks the applicable GTIN, brand, and MPN identifiers under Google's category-specific rules. Do not invent identifiers.
4. Make structured data match the visible product page
Add Schema.org Product and Offer markup to product pages, and keep it consistent with the feed and the visible page. Google requires the markup to match the visible content.
Add Schema.org Product structured data to every product detail page. Include name, description, image, and an offers block with price, priceCurrency, and availability. Where available, add brand, gtin or mpn or sku, and aggregateRating.
Keep the markup consistent with the feed and with the content a shopper sees on the page. Google guidance requires structured data to match the visible content; when the markup and the feed or page disagree (different price or availability), Google may take manual action or limit rich-result eligibility. Pull the feed and the markup from the same catalog source of truth so they agree.
- Google Product structured data: developers.google.com/search/docs/appearance/structured-data/product
- Schema.org Product: schema.org/Product and Schema.org Offer: schema.org/Offer
5. Use each platform's supported feed format
Each destination has its own supported format and submission path. Submit the format the platform accepts, and do not assume one format works everywhere.
ChatGPT Shopping ingests product feeds through OpenAI's commerce feed specification. Google AI Mode and Google Shopping draw from Google Merchant Center, which accepts feed formats documented in the product data specification. Each platform publishes its own supported format and submission path; submit the format the platform accepts for your account.
As a practical inference, not a quoted OpenAI guarantee statement, meeting OpenAI's feed requirements establishes eligibility but does not promise selection or placement. Google states there are no special requirements to appear in its AI search features beyond normal search eligibility, and recommends matching structured data to visible content and keeping Merchant Center information current. Feed compliance should be treated as eligibility, not as a promise of selection or citation.
- OpenAI Product Feed Specification: developers.openai.com/commerce/specs/feed
- Google Merchant Center product data specification: support.google.com/merchants/answer/7052112
- Google AI features and your website: developers.google.com/search/docs/appearance/ai-features
6. Validate feed and schema errors
Use each platform's validation tools to catch feed and structured-data errors before and after submission. Fix the errors the validator reports.
Before and after submission, validate the feed and the structured data with the platform's own tools. Google Merchant Center reports feed errors and diagnostics; Google Search Console and the Rich Results test report structured-data issues. Fix the specific errors the validator reports rather than resubmitting blindly.
Validation confirms a feed is well-formed and eligible. It does not guarantee that a product appears in any specific answer. Treat validation as a floor for eligibility, not a guarantee of visibility.
7. Improve product context without rewriting factual fields
Improve descriptions, attributes, and context that help an engine understand the product, without changing factual fields like price, GTIN, or availability.
Once the required and category-specific fields are complete and validated, improve the context that helps an engine understand the product: clear descriptions, accurate attributes, and consistent taxonomy. Do not rewrite factual fields (price, GTIN, availability) to game a ranking; keep them accurate.
If you use Paz, catalog optimization proposes attribute improvements for human review and approval. Nothing changes without merchant sign-off. No fixed attribute-count enrichment figure is published.
8. Measure visibility on representative shopping queries
Run a set of representative shopper queries on the surfaces you care about and record whether your products appear. Measure over time, not once.
Optimization is only useful if you can tell whether it worked. Run a set of representative shopper queries on the surfaces you care about and record whether your products appear, in what position, and how that changes over time. Measure on a cadence, not once, because results vary by session and over time.
Paz measures this as shopping visibility across Google AI Mode, ChatGPT, Perplexity, and Google AI Overviews on a scheduled cadence agreed for the job, including the configured queries, engines and product coverage. See the methodology page for definitions and limitations. Paz records what an engine surfaces as observations.
Platform requirement matrix
A summary of the two primary feed destinations and where to find their official requirements. Always check the platform documentation for current requirements.
| Destination | Official path | Required fields (summary) | Update guidance | Official source |
|---|---|---|---|---|
| ChatGPT Shopping (OpenAI, native schema) | OpenAI commerce feed specification | item_id, title, description, url, image_url, price, availability, brand; plus eligibility flags and merchant fields | Keep current; appearance and placement remain platform outcomes (inference, not an OpenAI guarantee statement) | developers.openai.com/commerce/specs/feed |
| ChatGPT Shopping (OpenAI, Google-compatible upload) | Google-format delimited feed, only if OpenAI confirms your registered feed supports it | id, title, description, link, image_link, availability, price, brand | Keep current; appearance and placement remain platform outcomes (inference, not an OpenAI guarantee statement) | developers.openai.com/commerce/specs/feed |
| Google Merchant Center (feeds Google AI Mode and Shopping) | Merchant Center feed | id, title, description, link, image_link, availability, price; brand, gtin or mpn, and condition are conditional on product type and category | Keep information current; match structured data to the page | support.google.com/merchants/answer/7052112 |
Fields shown are summaries. Always check the official source for the current, complete, category-specific requirements. Platform requirements change.
Common feed optimization mistakes
Marketing copy in the title field, stale price or availability, inconsistent taxonomy, and unstructured reviews are common reasons a feed underperforms.
- Marketing copy in the title field. Titles are parsed as structured identifiers. Keep titles factual (brand plus product plus a key attribute) and move persuasion into the description.
- Stale price or availability. Submit updates on a cadence that matches how often they change, and keep the feed and the page in sync. Stale data can reduce eligibility and create a poor shopper experience.
- Inconsistent category taxonomy. Mixed or custom taxonomies fragment a catalog. Use a consistent taxonomy across every product.
- Unstructured reviews. Reviews trapped in page HTML may not be usable as signals. Syndicate them as structured data where appropriate.
- Invented or missing identifiers. Submit an assigned GTIN when available. Without a GTIN, submit brand and MPN when the product has them. Set
identifier_existstofalseonly when the product truly lacks the applicable identifiers, and never invent a value.
What optimization can and cannot guarantee
Feed optimization improves eligibility and comprehension. It does not guarantee selection, ranking, citation, or availability on any platform.
Completing required fields, adding category-specific attributes, validating, and keeping data current improve a product's eligibility and make it easier for an engine to understand. They do not establish that a product will appear, rank, be cited, or remain available. For OpenAI, that conclusion is a practical inference from the distinction between feed eligibility and platform selection, not a quoted OpenAI guarantee statement. Google states there are no special requirements to appear in its AI search features beyond normal search eligibility.
Platform inclusion, ranking, publication, and availability are controlled by the platform, not by any feed optimization. Treat visibility as something to measure, not something to guarantee.
Primary sources
Official primary sources used in this guide, with the date each source was last reviewed.
| Source | What it specifies | Official URL | Last reviewed |
|---|---|---|---|
| OpenAI Product Feed Specification | ChatGPT Shopping feed fields and format (native schema and Google-compatible upload path) | developers.openai.com/commerce/specs/feed | 2026-08-15 |
| Google Merchant Center product data specification | Merchant Center feed requirements | support.google.com/merchants/answer/7052112 | 2026-08-15 |
| Google Merchant Center identifier exists specification | Conditional GTIN, brand, MPN, and identifier_exists guidance | support.google.com/merchants/answer/6324478 | 2026-08-15 |
| Google AI features and your website | AI search eligibility guidance | developers.google.com/search/docs/appearance/ai-features | 2026-08-15 |
| Google Product structured data | Product schema documentation | developers.google.com/search/docs/appearance/structured-data/product | 2026-08-15 |
| Schema.org Product and Offer | Product and Offer definitions | schema.org/Product | 2026-08-15 |
Frequently asked questions
How do I optimize my product feed for AI search?+
What product attributes matter most for AI search?+
Why are my products not showing up even though my feed is submitted?+
Do I need a different feed for ChatGPT and Google?+
Does optimizing my feed guarantee my products will appear in AI answers?+
Related
- Product Feed Optimization for AI : definition
- Product Feed Management : creating and distributing structured product data
- Product Schema Markup : Schema.org Product structured data
- AI Readiness : evaluate a product URL for AI readiness
- AI shopping visibility platform : what Paz measures
- Shopping Visibility methodology : how Paz measures visibility
- How to add products to ChatGPT Shopping : ChatGPT Shopping setup
- ChatGPT integration : ChatGPT Shopping integration
- Google AI Mode integration : Google AI Mode integration
- Pricing : plan boundaries
See how your catalog stacks up
Run an AI Readiness check on your catalog. See your found rate across ChatGPT, Google AI Mode, and Perplexity. Identify the attribute gaps blocking visibility.
Run an AI Readiness check →