How Carclean.com achieves 33.5% higher order value with 18 advice flows. Read the story
BerryPath

Prepare a
product feed

Include product attributes for more relevant advice, with CSV, XML and JSON examples.

Docs Prepare a product feed
Docs Contents

Already have a working product feed? Go straight to Add product data. This page helps when you create an export yourself or explain the requirements to your webshop administrator.

What data is needed?

Each product needs a stable Product ID, a Title and a Product link. Also include an Image and Price for useful recommendation cards.

Add the properties you want to base advice on. For hiking shoes, these might be category, terrain, waterproof, fit and weight_grams. A question can only match reliably on information present in your product data.

Field names can differ: in Mapping, you can connect sku to Product ID and name to Title.

Why additional product attributes help

Title, image and price make a useful product card. Product attributes help determine which card fits the visitor's answers. The more relevant and reliable attributes you include, the more precisely you can configure matching.

Already have these details in your webshop? Include them in your feed or CSV. Give each attribute its own field so you can connect an answer to it. Information found only in a long product description is not automatically translated into matching rules.

Start with one product group and the attributes your questions need. Then add any missing details where needed. Here are examples for different catalogs:

Product group Useful attributes for advice
Hiking shoes Terrain, waterproofing, fit, shoe height, material and weight.
Paint Suitable surfaces, application, indoor or outdoor use, number of components and sheen.
Lighting Fitting, light output, color temperature, dimmability and indoor or outdoor use.

Use actual product specifications. Leave an unknown attribute blank and check it later; a missing value does not automatically mean a product is not waterproof, for example.

Example: CSV

Use a first row with column names, then one row per product. These fictional hiking shoes have different attributes so answers can meaningfully change the recommendations. You can save this example as a .csv file and replace the data with your own products.

Code example
id,title,url,image_url,price,category,brand,terrain,waterproof,fit,shoe_height,material,weight_grams
SHOE-001,Waterproof Forest Hiking Shoe,https://example.com/shoe-001,https://example.com/shoe-001.jpg,129.95,Hiking shoes,Example brand,forest,yes,regular,low,synthetic,420
SHOE-002,Breathable Forest Hiking Shoe,https://example.com/shoe-002,https://example.com/shoe-002.jpg,99.95,Hiking shoes,Example brand,forest,no,wide,low,synthetic,380
SHOE-003,High Mountain Boot,https://example.com/shoe-003,https://example.com/shoe-003.jpg,179.95,Hiking shoes,Example brand,mountains,yes,wide,high,leather,620
SHOE-004,Wide City Walking Shoe,https://example.com/shoe-004,https://example.com/shoe-004.jpg,109.95,Hiking shoes,Example brand,city,no,wide,low,leather,400

These example links are not real product links. Replace them with full product and image URLs from your webshop. Prefer UTF-8, prices without currency symbols and a decimal point. Choose the currency in the dataset.

In this example, weight_grams means the weight per shoe in grams. Keep a field's meaning and unit consistent across all products.

From product attribute to choice question

After importing, find the additional fields under Properties & Swatches. You do not need to map them to Title or Label to use them for matching. Open your Advice flow → Matching → Questions and connect answers to the appropriate fields.

Question for the visitor Answer Example matching rule
What kind of shoes are you looking for? Hiking shoes category is Hiking shoes
Where will you walk? Mainly in the forest terrain is forest
Do your shoes need to be waterproof? Yes waterproof is yes
What fit are you looking for? Wide fit is wide
How much may one shoe weigh? No more than 450 grams weight_grams is less than or equal to 450

In this example feed, two products match forest. If waterproof is also a requirement, only Waterproof Forest Hiking Shoe remains. The category Hiking shoes alone cannot make that distinction.

Use EXACT MATCH for requirements a product must meet and MATCH for preferences. Additional fields only affect recommendations once you configure the corresponding matching. Check combinations of answers in Test. Continue with Set up matching.

Alternative: XML

This example contains the same four products and attributes as the CSV example. Add another <product> element for each additional product.

Code example
<products>
  <product>
    <id>SHOE-001</id>
    <title>Waterproof Forest Hiking Shoe</title>
    <url>https://example.com/shoe-001</url>
    <image_url>https://example.com/shoe-001.jpg</image_url>
    <price>129.95</price>
    <category>Hiking shoes</category>
    <brand>Example brand</brand>
    <terrain>forest</terrain>
    <waterproof>yes</waterproof>
    <fit>regular</fit>
    <shoe_height>low</shoe_height>
    <material>synthetic</material>
    <weight_grams>420</weight_grams>
  </product>
  <product>
    <id>SHOE-002</id>
    <title>Breathable Forest Hiking Shoe</title>
    <url>https://example.com/shoe-002</url>
    <image_url>https://example.com/shoe-002.jpg</image_url>
    <price>99.95</price>
    <category>Hiking shoes</category>
    <brand>Example brand</brand>
    <terrain>forest</terrain>
    <waterproof>no</waterproof>
    <fit>wide</fit>
    <shoe_height>low</shoe_height>
    <material>synthetic</material>
    <weight_grams>380</weight_grams>
  </product>
  <product>
    <id>SHOE-003</id>
    <title>High Mountain Boot</title>
    <url>https://example.com/shoe-003</url>
    <image_url>https://example.com/shoe-003.jpg</image_url>
    <price>179.95</price>
    <category>Hiking shoes</category>
    <brand>Example brand</brand>
    <terrain>mountains</terrain>
    <waterproof>yes</waterproof>
    <fit>wide</fit>
    <shoe_height>high</shoe_height>
    <material>leather</material>
    <weight_grams>620</weight_grams>
  </product>
  <product>
    <id>SHOE-004</id>
    <title>Wide City Walking Shoe</title>
    <url>https://example.com/shoe-004</url>
    <image_url>https://example.com/shoe-004.jpg</image_url>
    <price>109.95</price>
    <category>Hiking shoes</category>
    <brand>Example brand</brand>
    <terrain>city</terrain>
    <waterproof>no</waterproof>
    <fit>wide</fit>
    <shoe_height>low</shoe_height>
    <material>leather</material>
    <weight_grams>400</weight_grams>
  </product>
</products>

Existing Google product feeds using fields such as g:id, g:image_link and g:price are also supported.

Alternative: JSON

This example also contains the same four products. Add further products as additional objects in products.

Code example
{
  "products": [
    {
      "id": "SHOE-001",
      "title": "Waterproof Forest Hiking Shoe",
      "url": "https://example.com/shoe-001",
      "image_url": "https://example.com/shoe-001.jpg",
      "price": 129.95,
      "category": "Hiking shoes",
      "brand": "Example brand",
      "terrain": "forest",
      "waterproof": "yes",
      "fit": "regular",
      "shoe_height": "low",
      "material": "synthetic",
      "weight_grams": 420
    },
    {
      "id": "SHOE-002",
      "title": "Breathable Forest Hiking Shoe",
      "url": "https://example.com/shoe-002",
      "image_url": "https://example.com/shoe-002.jpg",
      "price": 99.95,
      "category": "Hiking shoes",
      "brand": "Example brand",
      "terrain": "forest",
      "waterproof": "no",
      "fit": "wide",
      "shoe_height": "low",
      "material": "synthetic",
      "weight_grams": 380
    },
    {
      "id": "SHOE-003",
      "title": "High Mountain Boot",
      "url": "https://example.com/shoe-003",
      "image_url": "https://example.com/shoe-003.jpg",
      "price": 179.95,
      "category": "Hiking shoes",
      "brand": "Example brand",
      "terrain": "mountains",
      "waterproof": "yes",
      "fit": "wide",
      "shoe_height": "high",
      "material": "leather",
      "weight_grams": 620
    },
    {
      "id": "SHOE-004",
      "title": "Wide City Walking Shoe",
      "url": "https://example.com/shoe-004",
      "image_url": "https://example.com/shoe-004.jpg",
      "price": 109.95,
      "category": "Hiking shoes",
      "brand": "Example brand",
      "terrain": "city",
      "waterproof": "no",
      "fit": "wide",
      "shoe_height": "low",
      "material": "leather",
      "weight_grams": 400
    }
  ]
}

Avoid repair work after updates

  • Keep the same ID for the same product; avoid changing row numbers as IDs.
  • Give each variant its own ID. Use a shared Advice group if variants should share one recommendation card.
  • Keep field names and values consistent: for example, always use yes/no for waterproof.
  • Include the full intended product selection. Products missing from the next import become inactive.
  • Make a feed URL return product data directly, without requiring sign-in or opening a regular webpage.

Additional languages use the same Product IDs as the source feed. See Languages and translations.

Next: import the feed and map its fields.

Build your first
flow in minutes.

Start for free · 1 advice flow and 2,500 products

Berry, the BerryPath mascot