Product feed structure
Before you can sync a product feed to Experience OS, make sure your feed structure complies with the content requirements.
The product feed must include the basic information about your product (SKU, group ID, price, image, URL, in stock or not, and its categories). You can see the list of mandatory attributes in the following table, with detailed instructions (format, limitations, and so on).
SKUs must be unique, or the feed won't sync.
Note:
If you change the group ID structure or category structure between syncs, the feed might reset, causing all previous recommendation data to be lost.
Mandatory feed columns:
Column (case sensitive) | Description | Format | Example |
---|---|---|---|
sku | Unique product identifier. Note: SKUs cannot contain spaces or the string "//" | String (up to 256 characters, no spaces) | 135 |
product_type Optional but highly recommended | The type of item: Offer, Product, or Article Financial Institutions only. | String | Offer |
group_id | Identifies a group of products that differ in some product attributes. | String (up to 256 characters, no spaces) | 22 |
name | Product name | String (up to 1000 characters) | t_shirt |
url | URL to the product details page (must be a valid URL, starting with HTTP/HTTPS) | String (up to 1000 characters) | http://mystore.com/135 |
price | Price of the product (must be a number) | Float (up to 1000 characters) | 9.50 |
in_stock | Indication whether the product is in stock (noted by ‘true/false’) | Boolean (must be lower case) | true |
image_url | The URL to the product image (must be a valid URL, starting with HTTP/HTTPS) | String (up to 1000 characters) | http://mystore.co</span<m/135.png |
categories | The categories associated with the product, from general to specific | Strings (separated by pipes with no spaces, up to 1,000 characters) | Sports|Equipment|Weights |
keywords Optional but highly recommended | Any additional information describing the product, separated by pipes. Used for our machine learning and affinity algorithms. Because this column is optional, blank values will not trigger errors or warnings. | Strings (separated by pipes with no spaces, up to 1,000 characters) | sale_item|seasonal |
Missing mandatory values:
If a product is missing a value in a mandatory column, it isn't synced. If more than 10% of products have an empty value in one of the mandatory columns, the entire sync fails.
Multi-language support:
See the multi-language support page to learn more about creating a feed for multi-language sites or apps.
See also the included subpages for custom columns.
Updated 8 days ago