Step 1: Prepare the Source File

Before you can upload and sync a product feed to Experience OS, make sure your feed file complies with the size, format, and content requirements.

Feed item countMax file sizeSupported file types
Up to 20,000 items25 MBCSV, JSON, XML
20,000-200,000180 MBCSV, JSON
More than 200,0001 GBCSV

The file can be stored in any URL or a local folder, or in an Amazon S3 bucket that we provide. You can transfer the feeds to Amazon S3 using SFTP as well. If you use a CSV file, items must be separated by commas. See Step 2 for more information on these methods.

📌

Notes for small and medium feeds (up to 200,000 products with parser function)

  • Columns: ≤ 300 per feed
  • Row size: ≤ 20 KB per row
  • Avoid very wide rows: 50-100 KB per row risks failure
  • Avoid embedded data: For example, JSON, XML, HTML in fields
  • Memory spike:
    • Files can expand 2–3x during JSON conversion
    • Large rows + many columns can trigger INTERNAL_ERROR
  • Safe limits for 180 MB file: Max 9,000–180,000 rows depending on row size

Following these limits ensures successful syncs with the 200K product option and reduces errors.

📌

Note for large feeds with over 2 million products

In the Experience OS feed view, items with no engagement are not displayed.

Product feed structure

👍

Use a parser function to sync from a pre-existing file:

If your feed source has this information, but names are different (for example, if you have a Google Product Feed), or this information exists in 2 separate feeds, you can use a parser function when syncing the feed to adapt it to the provided guidelines. This is available for feeds that have fewer than 200,000 items and are smaller than 180 MB. Learn more.

See also the included subpages for custom columns and feed file examples.