ACP Product Feed Requirements
> An ACP product feed is a structured, machine-readable file — typically in JSON-LD format — that provides AI agents with the product data they need to discover, evaluate, and purchase items on behalf of buyers; it must include required identity and pricing fields, ACP-specific trust signals, and is significantly more effective when enriched with structured variants, Q&A arrays, reviews, and intent data.
---
What Is an ACP Product Feed?
An ACP product feed is the data file a merchant provides to enable AI agents to read and act on their product catalog. Unlike a marketing-formatted product page designed for human browsers, an ACP feed is structured for machine consumption: every attribute is a typed field in a defined format, every signal is an explicit value, and the entire file is built to be parsed by software rather than rendered visually.
The feed serves two purposes in the ACP model. First, it is the discovery and evaluation layer — the data that AI shopping assistants like ChatGPT read when deciding whether to recommend a product in response to a buyer's query. Second, it is the transactional reference — the source of product IDs, variants, pricing, and availability that the ACP Checkout Session endpoints reference during a live checkout.
Both purposes require the feed to be accurate at all times. A feed with stale pricing or outdated availability will cause checkout errors, which degrade the merchant's standing with AI platforms and the buyer's trust in the merchant. Feed freshness and feed quality are inseparable requirements.
---
How the ACP Feed Works
The ACP product feed is submitted to compatible AI platforms — in the case of ChatGPT Shopping, this means providing an accessible HTTPS URL to OpenAI for indexing. The platform crawls or fetches the feed on a schedule and indexes the product data. When a buyer's query matches a product, ChatGPT retrieves the current field values from the indexed feed to present to the buyer.
For the checkout layer, the feed's product identifiers (item IDs) are the references used when the agent creates a checkout session. The `POST /checkout_sessions` request includes the item ID and quantity; the merchant's ACP endpoint looks up the current price, availability, and variant state against its own system of record — not the feed — to return an authoritative cart state. The feed and the checkout endpoint must therefore be kept in sync: if the feed shows a product as available and priced at ₹2,999 but the checkout endpoint returns a different price, the agent will surface the discrepancy to the buyer.
---
Required Fields
The following fields are required for a product to be indexed and eligible for AI agent discovery:
| Field | Format | Description | |---|---|---| | Item ID | String | Unique product identifier — must match what the checkout API references | | Title | String | Clear product name, not keyword-stuffed | | Price | Numeric | Current selling price | | Currency | ISO 4217 code | e.g., USD, INR, GBP | | Availability | Enum | `in_stock` or `out_of_stock` | | Link | URL | Product page URL | | Image link | URL | At least one main product image | | Condition | Enum | `new`, `refurbished`, or `used` |
---
Trust Signal Fields (Required for Instant Checkout)
ACP defines three trust signal fields that must be present for a merchant to support Instant Checkout within ChatGPT and other ACP-enabled surfaces:
| Field | Format | Description | |---|---|---| | `accepts_returns` | Boolean | Whether the merchant accepts returns for this product | | `return_deadline_days` | Integer | Number of days buyer has to return the product | | `is_digital` | Boolean | Whether the product is a digital (non-physical) good |
These fields allow the AI agent to answer common pre-purchase questions — "Can I return this? How long do I have?" — without querying additional sources. Their absence creates a confidence gap at the evaluation stage that may cause an agent to deprioritise the product.
---
Recommended Enrichment Fields
These fields are not strictly required for feed indexing but are strongly recommended for effective agent evaluation and higher placement in AI-assisted product discovery:
Structured variants — `variant_dict`: Products with multiple options (size, colour, storage, etc.) should encode those options in the `variant_dict` field as a structured key-value mapping. This allows agents to filter by variant programmatically when a buyer specifies attributes like "size M in blue."
Q&A pairs — `q_and_a`: The `q_and_a` field accepts a JSON array of objects. Each object contains a `question` (string) and `answer` (string). A minimum of three to five well-chosen Q&A pairs significantly improves the interpretive value of the product for an AI agent. Good Q&A pairs address: compatibility questions ("Does this work with X?"), usage questions ("What is this best used for?"), and specification questions ("What is the battery life?").
Structured reviews — `reviews`: The `reviews` field accepts a JSON array of review objects. Each review includes reviewer name, numeric rating (e.g., on a 5-point scale), and review text. Structured reviews provide narrative product quality evidence that agents can surface to buyers, distinct from an aggregate star rating.
Sale pricing: Products on promotion must include `sale_price` (numeric), `sale_price_start_date` (ISO 8601 date-time string), and `sale_price_end_date` (ISO 8601 date-time string). The sale price is only applied by the agent within the stated date window; outside this window, the regular price is used. Submitting a sale price without valid date bounds is a data quality error.
Additional recommended fields:
| Field | Description | |---|---| | GTIN | Global Trade Item Number (barcode) | | MPN | Manufacturer Part Number | | Brand | Brand name | | Description | Factual product description, plain language | | Product type | Taxonomy path (e.g., Apparel > Men's > T-Shirts) | | Intent tags | Semantic tags for agent-driven discovery | | Persona tags | `who_should_buy` arrays for audience targeting | | Use case descriptions | Product usage scenarios | | Voice snippet | Short, voice-optimised product summary |
---
Feed Format and Delivery
ChatGPT Shopping accepts product feeds in CSV, TSV, XML, and JSON formats. For full ACP compliance with structured fields like `variant_dict`, `q_and_a`, and `reviews`, JSON-LD is the recommended format, as it natively supports nested objects and arrays that flat file formats cannot represent without workarounds.
The feed must be hosted at a stable, publicly accessible HTTPS URL. It should be updated as frequently as possible — at minimum when pricing or availability changes. Stale feeds cause the agent to present incorrect data to buyers, which results in checkout errors when the merchant's API returns authoritative values that conflict with the indexed feed state.
---
Why It Matters for Merchants
Product feed quality is the primary lever merchants control in AI agent-driven commerce. The protocol endpoints define how transactions are executed; the product feed defines what gets recommended and purchased. A well-constructed feed with complete required fields, trust signals, enriched Q&A pairs, and structured variants performs significantly better in the AI agent evaluation stage than a minimal feed with only required fields.
The investment logic is compounding: the same enriched, structured feed that improves performance in ChatGPT Shopping also improves performance in Google Shopping, Meta Commerce Manager, and any other channel that indexes the product data. The AI enrichment fields — intent tags, persona arrays, Q&A pairs, voice snippets — are additive to the core feed and do not displace existing fields.
---
FeedBridge Relevance
FeedBridge generates ACP-compliant JSON-LD product feeds with all documented ACP fields included. The Universal AI Engine produces all recommended enrichment fields — intent tags, `who_should_buy` persona arrays, use case descriptions, `q_and_a` JSON arrays, voice snippets, and taxonomy normalisation paths — across eight product verticals. ACP trust signals (`accepts_returns`, `return_deadline_days`, `is_digital`), `variant_dict`, structured reviews, and sale price fields with date ranges are all generated and included in the output feed.
FeedBridge supports product ingestion via Excel/CSV upload (with auto field mapping for 13+ common columns), bulk URL import (up to 20 product page URLs per batch), and native Shopify and WooCommerce store sync. Once ingested, products can be batch-enriched and the resulting ACP-compliant feed is hosted at a CDN-backed unique URL per brand with configurable scheduling and health monitoring.
The AI Readiness Score provides a per-product and portfolio-level view of feed completeness, with Protocol Compliance (30%), Content Quality (25%), AI Enrichment (30%), and Commerce Signals (15%) as the four scored dimensions, and actionable fix suggestions per product.
---
Frequently Asked Questions
Q: Can I submit the same feed to ChatGPT Shopping and Google Shopping? A: The field requirements differ between platforms. A ChatGPT/ACP feed in JSON-LD with trust signals and Q&A arrays is not the same file as a Google Merchant Center CSV. Merchants typically maintain separate feeds per platform. FeedBridge generates dedicated feeds for ACP (JSON-LD), UCP (REST protocol), Google Merchant Center (CSV), Meta Commerce Manager (CSV), and Amazon (TSV) from a single enriched product catalog.
Q: How many Q&A pairs should I include per product? A: The ACP specification does not define a minimum. In practice, three to five well-chosen pairs that address the buyer's most common pre-purchase questions provide meaningful value. More pairs are acceptable; excessively long `q_and_a` arrays with repetitive or generic content add noise without improving evaluability.
Q: What happens if my feed has incorrect pricing? A: If the feed shows a price that does not match what the checkout endpoint returns when the agent creates a session, the agent will surface the corrected price from the checkout session to the buyer. A significant discrepancy — particularly if the checkout price is higher than the feed price — may cause the buyer to abandon the purchase.
Q: Is GTIN required? A: GTIN is recommended but not strictly required for feed indexing. It is included in FeedBridge's Commerce Signals scoring dimension and significantly improves product identity confidence for agents that use barcode lookups via the UCP Catalog Lookup API.
Q: How do I handle products that are temporarily out of stock? A: Set the `availability` field to `out_of_stock` in the feed and update the feed promptly. When stock is restored, update the field back to `in_stock`. If FeedBridge feed scheduling is in place, the next scheduled refresh will publish the updated availability.
---
Related Topics
Parent hub: ACP Implementation
Related concepts:
- What Is ACP?
- ACP Merchant Onboarding Requirements
- ACP Checkout API Overview
- Taxonomy Normalization for Product Data
Breadcrumb:
---
Source Documentation
| Claim | Source | Source Class | Reference | |---|---|---|---| | ACP trust signals: accepts_returns, return_deadline_days, is_digital | FeedBridge Platform Capabilities April 2026 v2.0 | T1 – FeedBridge Internal | FeedBridge-Platform-Capabilities-April2026.md | | variant_dict, q_and_a JSON array, reviews JSON array, sale price fields | FeedBridge Platform Capabilities April 2026 v2.0 | T1 – FeedBridge Internal | FeedBridge-Platform-Capabilities-April2026.md | | ChatGPT accepts feeds in CSV, TSV, XML, JSON | lengow.com ChatGPT product feed guide | T1 OpenAI/ACP doc | https://www.lengow.com/get-to-know-more/chatgpt-product-feed/ | | FeedBridge Universal AI Engine, 8 verticals, enrichment fields, feed formats, CDN hosting | FeedBridge Platform Capabilities April 2026 v2.0 | T1 – FeedBridge Internal | FeedBridge-Platform-Capabilities-April2026.md | | AI Readiness Score dimensions | FeedBridge Platform Capabilities April 2026 v2.0 | T1 – FeedBridge Internal | FeedBridge-Platform-Capabilities-April2026.md | | ACP checkout session creates reference item IDs from feed | OpenAI ACP Checkout Spec | T1 – Official ACP Docs | https://developers.openai.com/commerce/specs/checkout/ |