What is the OpenAI Commerce product feed?
The OpenAI Commerce platform is a distribution channel that enables merchants to list products in OpenAI's commerce ecosystem. This feed allows your product data to be surfaced through OpenAI's search and checkout interfaces, reaching customers who discover products through OpenAI's applications and services.
Merchants use this platform to extend product visibility beyond traditional ecommerce channels and tap into OpenAI's user base. The feed operates as a structured data submission system where each product must meet specific eligibility criteria across search, checkout, and advertising surfaces.
Core eligibility and visibility fields
Three fields control whether your products appear in different parts of the OpenAI Commerce ecosystem:
is_eligible_search: When set to true, this field makes your product eligible to appear in OpenAI Commerce search results. Products marked false will not be indexed for search discovery, even if all other data is complete. This field directly impacts whether customers can find your product through search queries.
is_eligible_checkout: This field determines if a product can be purchased through OpenAI's integrated checkout system. Products with this flag set to false can still appear in search results but cannot be transacted on the platform. Setting this to true requires that your product meets checkout-specific requirements, including valid pricing, availability status, and return policy information.
is_eligible_ads: When true, this field allows your product to be featured in paid advertising placements within OpenAI Commerce. This eligibility is separate from search and checkout, meaning a product can be eligible for ads but not checkout, or vice versa. Ads eligibility often depends on compliance with content policies and complete product information.
Product identification and core attributes
Accurate product identification is foundational to feed quality. The following fields establish what your product is:
item_id: A unique identifier for each product variant in your feed. This must be unique within your merchant account and stable across feed submissions. OpenAI uses this to track product performance, updates, and customer interactions. If item_id changes between submissions, the platform treats it as a new product, losing historical data and potentially causing duplicate listings.
title: The product name displayed to customers. Keep titles between 40 and 150 characters. Include the primary product type and key variant information (colour, size) if applicable. Avoid promotional language, all-caps text, or special characters that may cause rendering issues. Clear, descriptive titles improve both search ranking and click-through rates.
description: Detailed product information that helps customers understand what they are buying. This field should include key features, materials, dimensions, and use cases. Descriptions longer than 5,000 characters may be truncated in some display contexts. Use plain language rather than marketing copy; customers use descriptions to confirm product suitability before checkout.
url: The canonical product page URL on your website. This must be a direct link to the product (not a category page or search result). The page must be publicly accessible, load within 5 seconds, and not require login. OpenAI uses this URL to verify product information, pricing, and availability. Broken or incorrect URLs prevent customers from reaching your store.
brand: The manufacturer or brand name of the product. This field enables customers to filter by brand and helps OpenAI categorise products. Use the official brand name; avoid abbreviations or alternative spellings. Products without a brand value may have reduced visibility in brand-based search filters.
image_url: The primary product image displayed in search results and product cards. The image must be at least 100x100 pixels (larger images perform better), in JPEG, PNG, or WebP format, and accessible via HTTPS. The image should clearly show the product against a simple background. Poor-quality, blurry, or misleading images reduce click-through rates and may trigger eligibility reviews.
additional_image_urls: A comma-separated list of supplementary product images. Include images showing different angles, colours, size comparisons, or products in use. Multiple images increase customer confidence and reduce return rates. Up to 10 additional images are supported; include as many as practical.
Pricing and availability
Pricing and availability data directly affect whether customers can purchase and at what cost:
price: The current selling price of the product in the currency of your store_country. This must be a positive number and should match the price displayed on your product page. Prices that differ from your website may trigger eligibility issues or customer complaints. Include the full price before any discounts or taxes.
sale_price: A temporary reduced price for promotional periods. This field is optional but when provided, it should be lower than the price field. Sale prices are displayed prominently to customers and can significantly increase conversion rates. However, sale prices must be genuine; artificial discounting may violate platform policies.
sale_price_start_date and sale_price_end_date: Date fields that define when a sale_price is active. Use ISO 8601 format (YYYY-MM-DD). If sale_price is provided but these dates are missing, the sale price may be applied indefinitely or ignored entirely. Set these dates to match your actual promotional calendar to avoid customer confusion or policy violations.
availability: Indicates whether the product is in stock, out of stock, or on backorder. Valid values are 'in stock', 'out of stock', and 'backorder'. Products marked 'out of stock' remain visible but cannot be purchased. Accurate availability prevents customers from attempting to buy unavailable items and reduces support burden.
availability_date: The date when an out-of-stock or backorder product will be available for purchase (ISO 8601 format). This field is mandatory if availability is 'backorder' and optional for 'out of stock'. Providing this date sets customer expectations and can improve conversion when the product becomes available.
Seller information and trust signals
Customer trust depends on clear seller identity and transparent policies:
seller_name: Your business name as it should appear to customers. This is the name associated with the product listing and used in checkout. Consistency with your brand name and website footer improves trust. If seller_name differs from your registered business name, customers may question legitimacy.
seller_url: The homepage URL of your business website. This must be publicly accessible and not redirect to a login page. Customers click this to verify your business legitimacy. A valid seller_url is often required for checkout eligibility.
return_policy: A brief description of your return conditions (for example, '30 days, free returns'). This field should be concise but complete, covering the return window, who pays for return shipping, and any conditions. Customers expect this information before checkout; missing or unclear return policies reduce conversion and increase returns.
seller_privacy_policy: A URL linking to your privacy policy. This must be a live, accessible page that explains how you handle customer data. Many jurisdictions legally require this. Missing privacy policy links may block checkout eligibility in certain regions.
seller_tos: A URL linking to your terms of service. This page should outline purchase terms, shipping policies, and dispute resolution. Like privacy_policy, this is often a legal requirement and a checkout eligibility gate.
Product categorisation and attributes
Detailed product attributes improve search relevance and filtering:
product_category: The category your product belongs to within OpenAI Commerce (for example, 'Electronics > Mobile Phones' or 'Clothing & Accessories > Shoes'). Use the exact category path provided by OpenAI. Incorrect categorisation reduces visibility in category-based browsing and may affect search ranking.
gtin: The Global Trade Item Number (barcode) of the product. This 8, 12, 13, or 14-digit code uniquely identifies the product globally. GTINs help OpenAI verify product authenticity and consolidate listings across merchants. Products without a GTIN may have reduced visibility and eligibility.
mpn: The Manufacturer Part Number. This is the SKU or model number assigned by the product manufacturer. For products without a GTIN, the MPN combined with brand helps identify the product. Providing both GTIN and MPN is ideal for accurate product matching.
condition: The state of the product. Valid values are 'new', 'refurbished', and 'used'. Most customers expect 'new' unless otherwise specified. Misrepresenting condition is a common policy violation and can result in account suspension.
group_id: A field that links related product variants (different colours or sizes of the same product) into a single product group. All variants of the same product should share the same group_id. This allows customers to select their preferred variant without leaving the product page and improves the browsing experience.
size, color, gender, and age_group: Variant attributes that allow customers to filter products. Size should use standard sizing systems (for example, 'S', 'M', 'L' for clothing; 'One Size' for universal products). Colour should be the actual colour name (for example, 'Navy Blue', not 'Col123'). Gender values are typically 'Male', 'Female', 'Unisex', or 'Not applicable'. Age_group should reflect the target age range (for example, 'Newborn', 'Toddler', 'Kids', 'Adult').
size_system: Specifies the sizing standard used (for example, 'US', 'EU', 'UK', 'International'). This field is important for clothing and shoes where sizing differs by region. Incorrect size_system can lead to returns if customers order the wrong size.
material: The primary material(s) the product is made from (for example, 'Cotton', '100% Polyester', 'Stainless Steel'). This attribute helps customers find products that meet their preferences or requirements (for example, hypoallergenic materials).
Logistics and dimensional data
Shipping and physical specifications support accurate logistics and cost calculation:
weight: The product weight as a decimal number. This is used to calculate shipping costs and is often mandatory for checkout eligibility.
item_weight_unit: The unit of measurement for weight. Valid values are typically 'lb' (pounds) or 'kg' (kilograms). Specify this clearly; incorrect units can cause shipping cost miscalculations.
length, width, height: Product dimensions as decimal numbers. These are used for shipping cost estimation and packaging verification.
dimensions_unit: The unit for length, width, and height. Valid values are typically 'cm' (centimetres) or 'in' (inches). Consistency is important; mixing units causes calculation errors.
unit_pricing_measure and base_measure: These fields enable unit price comparison for consumables. For example, a 500ml bottle of shampoo would have unit_pricing_measure = '500' and base_measure = 'ml'. This allows customers to compare price per unit across different package sizes.
Fulfillment and local pickup
Local pickup options expand customer choice and can reduce shipping costs:
pickup_method: Specifies how customers can collect the product locally. Valid values include 'in store', 'curbside', and 'ship from store'. Not all products support local pickup; only include this field if your store offers it.
pickup_sla: The expected time between order and pickup availability (for example, 'same day', 'next day', '2-3 days'). This sets customer expectations for how quickly they can collect their purchase.
Geographic and targeting fields
These fields control where your products appear:
target_countries: A comma-separated list of ISO 3166-1 alpha-2 country codes where you ship the product (for example, 'GB,US,DE'). Products are only shown to customers in these countries. Omitting this field may limit visibility or cause eligibility issues.
store_country: The ISO 3166-1 alpha-2 country code of your primary business location. This determines the default currency and tax treatment of your products. This field is typically set once at account level rather than per product.
Additional product identifiers
offer_id: A unique identifier for a specific product offer, separate from item_id. This is useful if the same product is offered at different prices or with different terms. If you only have one offer per item, offer_id can match item_id.
Feed submission and validation best practices
Successful feed integration requires attention to data quality and submission procedures:
Validate before submission: Check that all mandatory fields are present and that data types match specifications. A price field containing non-numeric characters, for example, will cause validation errors and prevent the entire feed from being processed.
Use consistent formatting: Ensure dates are always in ISO 8601 format, prices always use the correct decimal separator for your locale, and URLs always include the protocol (https://).
Test eligibility flags: Before enabling is_eligible_checkout or is_eligible_ads, verify that your product meets all requirements. Submit a small batch of products first and monitor for eligibility issues before scaling to your full catalogue.
Monitor feed status: Check your feed submission status regularly. OpenAI Commerce provides feedback on validation errors, missing fields, and eligibility rejections. Address these issues promptly to restore visibility.
Update availability regularly: Availability data should be refreshed at least daily to reflect your current stock levels. Stale availability data frustrates customers and increases return rates.
Link variants correctly: Use group_id consistently across all variants of the same product. Incomplete or incorrect variant linking results in poor customer experience and reduced conversion.
Summary
The OpenAI Commerce product feed requires careful attention to eligibility flags, product identification, pricing, seller information, and logistical details. Each field serves a specific purpose in product discovery, checkout conversion, or customer trust. Merchants should prioritise data accuracy, keep product information current, and monitor feed submission feedback to maintain visibility and eligibility. Regular audits of feed quality help identify and resolve issues before they impact sales.