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.
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,400These 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.
<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.
{
"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/nofor 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.