CSV specification
The Product Feed is a CSV file containing the list of perfumes you want ScentXP to manage. Column names must be exactly as shown (lowercase).Required columns
These four columns are the minimum requirement. They must appear in this order:| Column | Position | Description |
|---|---|---|
ean | 1st column | 13-character EAN barcode. One EAN per row — if a product has multiple sizes (50ml, 100ml, 200ml), each gets its own row. Must be a valid EAN, not an internal reference or SAP code. Values with fewer than 12 digits will be rejected. |
name | 2nd column | Product name, as detailed as possible. Must distinguish variants — e.g., Dior Sauvage Eau de Parfum vs. Dior Sauvage Eau de Toilette, or Light Blue Pour Homme vs. Light Blue for Her. |
image_url | — | Valid URL to the product image. Used for visual verification during EAN matching. |
brand | — | Brand name of the product. |
Optional columns
Including additional fields significantly improves matching accuracy and enables richer experiences across ScentXP products.| Column | Description |
|---|---|
product_url | URL to the product detail page (PDP) |
gender | Product gender: masculine, feminine, unisex |
size | Product size (e.g., 100ml, 50ml). Can also be included in the name field |
type | Fragrance type: EDT, EDP, Parfum, Elixir, Cologne |
currency | Price currency (ISO standard, e.g., EUR, USD) |
price | Price as a numeric value |
price_discount | Price with discount applied |
ranking | Bestseller ranking. Same product in different sizes should share the same ranking. Only needed if you want a Bestseller section in search results |
have_stock | Whether the product is available (0 or 1) |
attributes | Free-text attributes, e.g., “exclusive”, “online only” |
Custom labels
Custom labels let you tag products for merchandising purposes. Each label is a separate column with binary values:| Column | Description | Values |
|---|---|---|
new | Product is newly released | 0 = no, 1 = yes |
hot | Product is trending or popular | 0 = no, 1 = yes |
last_units | Limited stock remaining | 0 = no, 1 = yes |
offer | Product is on sale, promotion, or discounted | 0 = no, 1 = yes |
promoted | Highlighted product (e.g., “Expert’s Choice”, “Natural ingredients”, “Bio”) | 0 = no, 1 = yes |
ScentBot-specific columns
If you are integrating the ScentBot widget, these additional columns enable extra functionality within the chatbot experience. Simply add them to your existing Product Feed — no need to modify or remove existing columns.| Column | Description |
|---|---|
price | Price as a numeric value |
currency | Price currency (ISO standard) |
url | Product sale URL. If provided, the Buy button in ScentBot links to this URL. If omitted, an sxp.scentbot.addToCart event is fired instead |
external_id | Your internal product ID. When no url is provided, the sxp.scentbot.addToCart window event includes both ean and id |
custom_label | Label displayed with the product (e.g., “Hot”, “New”, “Last Units”) |
product_page_url | URL to the product page |

