Skip to content
Back to all support articles
Products and ecommerce feedcsvxmlreference

Product feed field reference

Mikabot accepts several common names for each field, so most existing feeds import without editing. This page lists them all.

Google Shopping (XML)

ElementMaps toRequired
g:idProduct IDYes
titleProduct titleStrongly recommended
descriptionDescriptionStrongly recommended
g:product_typeCategoryRecommended
g:brandBrandOptional
g:priceRegular priceRecommended
g:sale_priceSale priceOptional
g:image_linkImage URLRecommended
linkProduct page URLRecommended

Elements are read with or without the g: prefix.

Without g:product_type Mikabot cannot build categories for that item. After an import you will see a warning naming how many products were affected, and category search will not reach them.

CSV

The first row must be a header row. Column names are matched case-insensitively, and the first name found wins.

FieldAccepted column names
Product ID (required)id, external_id, product_id, sku
Titletitle, product_title, name, product_name
Descriptiondescription, desc, product_description, details
Main categoryproduct_category, main_category, primary_category, category_name
Extra categoriescategories, category, type
Brandbrand, manufacturer, maker, producer
Priceprice, cost, amount, value
Sale pricesale_price, discount_price, special_price, offer_price
Image URLimage_link, image, image_url, photo, picture
Product URLlink, url, product_url, website
Languagelanguage, lang, locale

A minimal working CSV

id,title,description,product_category,brand,price,image_link,link
1001,Monstera Deliciosa,"Large-leafed houseplant that tolerates low light.",Houseplants,GreenCo,29.95,https://example.com/img/1001.jpg,https://example.com/p/1001

Rules that decide whether a row imports

  • id is required and must be unique. Rows without one are skipped and counted as missing id. Rows sharing an id overwrite each other.
  • Row length must match the header. A stray comma in an unquoted description shifts every following column.
  • Quote any field containing a comma, quote, or line break, using standard CSV double quotes.
  • A language column overrides the import language for that row. Leave it out unless you deliberately mix languages in one file.

How prices are read

Currency symbols, spaces, and thousands separators are stripped. Both 19,95 and 19.95 are read as 19.95. A missing or unreadable price becomes 0, and a product priced 0 looks broken in the chat, so check that column after your first import.

What good product data looks like

The description is what the AI searches and reasons over. This is where most Mikabot results are won or lost.

  • Write what the product is for, not just what it is. Tolerates a north-facing room answers a real question; Height 60 cm does not.
  • Include the words customers use, including informal ones.
  • Avoid HTML, marketing slogans, and repeated boilerplate across every product.
  • Put the real category in product_type or product_category. It powers category search and the Catalog Coverage metric.

After importing

  1. Compare Products in Feed with Products in DB
  2. Open Ecommerce → Products and check titles, prices, and images
  3. Open Ecommerce → Categories and confirm the tree looks like your shop
  4. Ask the bot for something ordinary on the Demo page

Related articles

Contact us

Our support team is ready to give you fast, personal help when you need it.