File types & characters
Product feeds in the following formats are supported:
-
CSV
-
XML
Make sure you are using the UTF-8 charset to ensure your feed will be imported and processed without any problems. Other charsets might work and will be converted to UTF-8 upon import, but support isn’t guaranteed.
We recommend to keep the file size of the feed as small as possible to ensure fast processing. To achieve this you should remove unnecessary CSV columns or XML elements and use XML variations whenever possible. If the file size of your product feed exceeds 2GB it is recommended to split it into multiple product feeds and import those separately.
CSV files
Product feeds that are imported as CSV files need to use one of the following delimiters:
-
Comma
,
-
Pipe
|
-
Semi-colon
;
Make sure each product is added on a new row and that the first row contain the column names.
XML files
Product feeds in XML format need to store the product information in an XML element that is repeated. This ‘product element’ will need to be assigned upon import. For example:
<productFeed>
<product>
...
</product>
<product>
...
</product>
<product>
...
</product>
</productFeed>
All product information that you would like to import needs to be stored in XML elements. XML attributes are not supported and will be ignored during the import. For more information about the difference, see here: https://www.w3schools.com/xml/xml_dtd_el_vs_attr.asp
Each XML element needs to have a unique name for the information to be imported. If there are duplicates only the first element will be available for import.
A basic example of a single product within a product feed would be:
<productFeed>
<product>
<name>Adidas Sneaker</name>
<link>https://webstore.com/product/adidas-sneaker</link>
<brand>Adidas</brand>
<price>112.00</price>
<size>44</size>
<color>blue</color>
</product>
</productFeed>
Variations
For XML product feeds we have support for ‘variations’. Those allow for a smarter way to store variations of very similar products in the XML file. A typical example would be product sizes and colors.
Any child element of the selected product element that has children itself can be set as the variation level. Every repetition of a child of the variation level is interpreted as a variation of the original product. For every variation, a new product is saved. The variations share the same set of data from the parent product.
There are two different ways in which product variations can be added. See the example below:
<productFeed>
<product>
<name>Adidas Sneaker</name>
<link>https://webstore.com/product/adidas-sneaker</link>
<brand>Adidas</brand>
<price>112.00</price>
<variations>
<variation>
<size>44</size>
<color>blue</color>
</variation>
<variation>
<size>44</size>
<color>red</color>
</variation>
<variation>
<size>43</size>
<color>red</color>
</variation>
</variations>
</product>
</productFeed>
<productFeed>
<product>
<name>Adidas Sneaker</name>
<link>https://webstore.com/product/adidas-sneaker</link>
<brand>Adidas</brand>
<price>112.00</price>
<sizes>
<size>44</size>
<size>44</size>
<size>43</size>
</sizes>
<colors>
<color>blue</color>
<color>red</color>
<color>red</color>
</colors>
</product>
</productFeed>
The output of both the examples will be the same:
Name |
Link |
Brand |
Price |
Size |
Color |
Adidas Sneaker |
Adidas |
112.00 |
44 |
blue |
|
Adidas Sneaker |
Adidas |
112.00 |
44 |
red |
|
Adidas Sneaker |
Adidas |
112.00 |
43 |
red |