What a product feed is for

A product feed is a mirror of your catalogue for external systems. Every platform that needs to
know what you sell — a recommendation engine, an ad network, a marketplace — receives that data
through a feed.

In personalization the feed is critical: recommendation algorithms cannot operate without product
data. The more complete and current the feed, the more precise the recommendations.

Feed structure

The minimum required fields:

Field Type What it is for
product_id string The unique product identifier
title string The name rendered inside the widget
price decimal The current price, needed for price-band personalization
image_url url The image for the recommendation widget
category string/array The category — the basis of content-based filtering
availability boolean Availability — excluding what cannot be bought
url url The link to the product page

Additional fields that raise recommendation quality:

{
  "product_id": "SKU-12345",
  "brand": "Nike",
  "category": ["Apparel", "Sport", "Sneakers"],
  "gender": "male",
  "color": "black",
  "size": ["40", "41", "42", "43"],
  "price": 79.90,
  "old_price": 99.90,
  "rating": 4.7,
  "reviews_count": 128,
  "availability": true
}

Why feed quality shows up in recommendations

Content-based algorithms compute similarity between items from their attributes. With no brand,
no category and no attributes, the algorithm cannot establish that these sneakers resemble those
ones. The result is irrelevant Similar items output.

Attribute-level personalization: a shopper’s affinity profile holds preferences by brand,
category and price band. If brand is empty in the feed, that part of the profile stays empty too.

Freshness: recommending an out-of-stock item is a direct conversion loss. The lag between stock
changing and the feed reflecting it should be as small as you can make it.

Refresh rates

Data Refresh rate
Availability Real time, or every 30–60 minutes
Prices One to four times a day, or on change
New products Daily, or through an API webhook
Attributes and descriptions Weekly, or on change

Tip: do not resend the whole feed every time one price changes — that is wasted load. Use an
incremental API and send only the items that changed, with a last-updated timestamp.