ChatGPT Ads product feed requirements
Use the schema registered for your feed. The table below comes from the same versioned rules as the native checker, so it describes implemented coverage rather than a second handwritten rule list.
Published: · Updated:
Validate your feed against the current ChatGPT Ads rulesSpecification review: September 19, 2026
OpenAI native and Google-compatible feeds have separate availability, identity and eligibility rules. Check the detected mode; XML is not a Google-compatible upload format. Refresh products within 14 days and promptly after price or stock changes.
Crawler access requires manual verification. Schema.org 30.1 additions are optional opportunities with no score impact; page structured data is not scanned. Read the versioned scope and limitations.
Required data and supported values
Review required-field presence before optional enrichment. The generated table includes the check, severity and repair guidance. It is not an exhaustive replacement for the official specification.
Images, identifiers and prices
Inspect a real product page and image separately: URL syntax checks do not prove reachability or accurate photography. Keep assigned identifiers and actual prices. A syntactically valid value can still describe the wrong item.
Optional and conditional data
Check GTIN when supplied, condition, sale price and variant structure only in their appropriate context. Never fabricate missing values to clear a warning. The methodology records limitations such as cross-row variant consistency and account defaults.
Delivery and update considerations
An XML file accepted for inspection by Product Feed Scan is not thereby an OpenAI delivery format. Audit limits are 200 MiB and 100,000 products; destination limits and accepted formats must be checked separately. This guide does not configure delivery.
Versioned native checker coverage
Generated from the implemented rule registry. Required fields and optional checks are labelled separately. The complete official contract and account-specific defaults remain authoritative.
| Field | Check / severity | Source repair guidance |
|---|---|---|
item_id | Required Missing or placeholder item_id Severity: critical | Provide the actual item_id in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
title | Required Missing or placeholder title Severity: critical | Provide the actual title in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
description | Required Missing or placeholder description Severity: critical | Provide the actual description in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
url | Required Missing or placeholder url Severity: critical | Provide the actual url in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
image_url | Required Missing or placeholder image_url Severity: critical | Provide the actual image_url in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
brand | Required Missing or placeholder brand Severity: critical | Provide the actual brand in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
seller_name | Required Missing or placeholder seller_name Severity: critical | Provide the actual seller_name in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
price | Required Missing or placeholder price Severity: critical | Provide the actual price in the native OpenAI product-file schema. Do not invent missing product data. Official field reference |
item_id | Additional check Duplicate item_id Severity: critical | Use a stable unique item_id for each purchasable item or variant. Official field reference |
url | Additional check Product URL must use public HTTPS Severity: critical | Use an absolute HTTPS product URL without embedded credentials. Reachability and page contents require separate verification. Official field reference |
image_url | Additional check Image URL must use public HTTPS Severity: critical | Use an absolute HTTPS image URL without embedded credentials. Image dimensions and reachability are not checked. Official field reference |
price | Additional check Invalid OpenAI price format Severity: critical | Use a positive amount, decimal point and uppercase ISO currency; do not exceed its fractional precision. Official field reference |
availability | Required Missing or invalid availability Severity: critical | Use in_stock, out_of_stock, pre_order, backorder or unknown in the native OpenAI format. Official field reference |
is_ads_eligible | Additional check Ads eligibility is unconfirmed Severity: high | A confirmed feed-level default may apply. Verify Ads Manager setup; do not assume eligibility from an absent value. Official field reference |
is_ads_eligible | Additional check Product intentionally excluded from Ads Severity: medium | false explicitly opts this item out. Keep it false if intentional; this is not malformed product data. Official field reference |
ads_metadata | Additional check Invalid Ads filter metadata Severity: high | Use a JSON object of string values with integration-configured keys. Keys are not verified against your account. Official field reference |
title | Additional check Title exceeds recommended length Severity: medium | Keep the factual title concise, aiming for at most 150 characters. Official field reference |
description | Additional check Description exceeds recommended length Severity: medium | Use a plain-text factual description, aiming for at most 5,000 characters. Official field reference |
description | Additional check Description contains markup Severity: medium | Review the description and provide plain text; do not fabricate replacement wording. Official field reference |
condition | Additional check Unsupported condition Severity: medium | When supplied, use new, refurbished or used. Always declare used/refurbished products. Official field reference |
seller_url | Additional check Invalid seller URL Severity: medium | Omit an unknown optional seller URL or supply an absolute HTTPS storefront URL. Official field reference |
gtin | Additional check Invalid supplied GTIN Severity: medium | Use an assigned 8, 12, 13 or 14 digit GTIN with its check digit. Preserve leading zeros; omit an unassigned identifier. Official field reference |
sale_price | Additional check Invalid optional sale price Severity: medium | Provide a positive sale price below the regular price, in the same currency; otherwise omit it. Official field reference |
variant_dict | Additional check Incomplete or invalid variant metadata Severity: high | For declared variants provide a distinct group_id and nonempty JSON option map. Cross-row option uniqueness and page consistency need separate review. Official field reference |
Practical checklist
- Confirm native field mapping against the official source.
- Repair critical findings and inspect high-severity warnings.
- Verify URLs and commercial facts against the storefront.
- Review conditional variant and identifier requirements.
- Rescan the corrected export, then inspect platform processing.
Choose the next check
Independent source analysis. No OpenAI or Google approval, delivery integration or visibility guarantee. A free scan shows priority findings; the complete private report costs €19 once and remains available for 30 days.
General product feed checker · Implemented rules and limitations