A product feed is a file that contains your product catalog (all your products, with product metadata). It powers affinity-based personalization, product recommendations, social proof messaging, and more.
The following is the framework for creating and syncing your product feed with Dynamic Yield. The planning is critical from a business perspective because the feed columns determine what information you can use to personalize your campaigns. Work with your dev team to create the feed file, and to determine how and how often it should be synced.
See our Developer Docs to learn how to create and sync product feeds using data files or via API.
Product feed structure
The product feed file must include the basic information about your product. Each column in the feed file represents a product attribute. Some of these are mandatory (SKU, group ID, price, image, URL, in stock or not, and its categories), and you can also add custom columns to use for targeting, affinity, and rules.
Mandatory columns
Column (case sensitive) |
Description |
sku | Product Unique Identifier. Note: SKUs cannot contain spaces or the string "//" |
product_type Optional but strongly recommended |
The type of item: Offer, Product, or Article Financial Institutions only. |
group_id |
Identifies a group of products that differ in some product attributes. 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 |
name | Product Name |
url | URL to the product details page (must be a valid URL, starting with HTTP/HTTPS) |
price | Price of the product (must be a number) |
in_stock | Indication whether the product is in stock (noted by ‘true/false’) |
image_url | The URL to the product image (must be a valid URL, starting with HTTP/HTTPS) |
categories | The categories associated with the product from general to specific |
keywords Optional but strongly 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. |
If a product is missing a value in a mandatory column, it's skipped. If more than 10% of products have an empty value in one of the columns, the entire sync fails.
Custom columns
You can also add more columns that describe your product. These can later be used for targeting (for example, add "color", and target users who purchased blue items), affinity scores (for example, include color affinity in the affinity recommendation algorithm), or to define merchandising rules in your recommendation widgets (for example, never recommend products of a specific brand). See our Developer Docs for details.
Multi-language support
To support multiple languages, you can add a column for every translated version of a property you want to include. See our Developers site for more information.
Create a new feed
Go to Assets › Data Feeds and create a new product feed.
After naming the feed, you can select one of the following sync options:
- Sync a URL or upload a file: Upload a feed file (up to 25 MB), or refer to a URL location where a feed file is stored. If you are using HTTP authentication, add the username and password to the feed URL as follows http://user:password@url.
- Sync securely via Amazon S3: File size up to 5 GB.
- Sync securely via SFTP
See our Developer Docs for detailed information.
Sync frequency
By default, the feed syncs with the source file every 24 hours. You can change this in Advanced Settings if your product catalog updates more frequently. If you sync the file via S3 or SFTP, Experience OS checks the bucket for a new file six times a day. If you've just uploaded your file to the bucket, you can click Sync Now to force the initial sync.