Basic XML File Specifications
In order to import products into our search engines, it is necessary to have a so-called XML file (or XML FEED) created, which is a simple data format that you can use to provide us with information about your goods and their prices.
The XML file can be automatically generated from your site, therefore please consult your webmaster about its creation or modification.
Heureka does not create or edit XML feeds. For these purposes you should contact your programmer or web hosting service provider directly regarding possible errors. The webshop is responsible for the creation and subsequent modification of the XML file.
Data export is the basis of the success of your display on Heureka, and therefore we recommend preparing it according to the specifications below for individual items. The maximum number of sales items in an XML file is 500,000 and only one URL of the base XML file can be provided to us. It is not possible to split the feed into two separate feeds and thereby increase the number of items.
A quality XML file contains the following tags:
- PRODUCTNAME exact product name – mandatory
- ITEM_ID – unique and permanent identification of the product – mandatory
- PRICE_VAT – product price – mandatory
- URL – unique address that refers to the given product – mandatory
- CATEGORYTEXT – the entire categorization path to the product
- DELIVERY – offered shipping options for individual products
- DELIVERY_DATE – correct indication of product availability
- IMGURL – product image
XML file processing
XML File Compression
We also accept the basic XML file in GZip format. For the transfer of this HTTP file GZip compression can be used. You just need to have your HTTP server configured to support this compression, which is mostly standard behavior. Compression then takes place transparently on the side of the HTTP server and then decompression again transparently on the side of our HTTP server. This will save the volume of transferred data, but we still accept an XML file with a maximum of 500,000 items for sale in both PPC and FREE modes.
Updating the XML header
Before downloading the XML file itself, we check the date of its last modification via the “Last-Modified” HTTP header. We therefore recommend configuring the HTTP server to send this information in the response header. This avoids unnecessary server load on both sides, caused by downloading unchanged XML files.
Description of individual elements:
ITEM_ID
This is a mandatory tag, without which items will not be displayed on Heureka.
Unique identification of the product within the e-shop. It must remain unique forever, thanks to which we will be able to uniquely identify the product for the Customer Verified service or Availability XML file, even if the URL changes.
A combination of a maximum of 36 characters [_ – 0-9 and from A to Z], i.e. underscores, dashes, numbers 0-9 and lowercase and uppercase letters without diacritics. The tag is not yet used for matching items.
PRODUCTNAME
The PRODUCTNAME tag should contain the basic name of the product, which contains all the mandatory information according to the selected category. The maximum text length in this tag is limited to 200 characters.
The PRODUCTNAME should not contain any additional information e.g. free gift, case or charger, etc.
In general, the name must not be generic. So, if you include the manufacturer, series and product number in the product name, the product should be listed fine. If there are product variants that differ in color, dimensions, flavour, quantity, and other attributes, it is necessary to distinguish all these parameters in the product name.
Examples of correct product names can be found here.
PRODUCT
The PRODUCT tag contains the PRODUCTNAME (exact product name) + possible additional information about product shipping options or the possibility of self pick-up, e.g. “Whirlpool WBA 43983 NFC IX – self pick-up in Prague”.
DESCRIPTION
Product description, try to provide as relevant of a description as possible, since it is used in the full-text search. It should contain a description and specification of the product without advertising free shipping, any promotions or a given store. Excessive punctuation is not allowed. The number of characters in the DESCRIPTION tag is not limited, but we display only 200 characters in the full text.
URL
Link to the page with the offer of the given product in the store. On this page, the price of the product in CZK and the option to add it to the basket must be indicated.
The URL address must be unique for each product. In case you have multiple variants of the product, ensure the uniqueness of the URL for each variant.
If you have product variants in your e-shop on one page, then the only solution is to use so-called hashtags.
It works by dividing each product variant separately into the XML feed with its own PRODUCTNAME (which also contains the product code) and using e.g. this as a URL:
http://www.test.cz/product/tastickova-matrace-argon-latex-9-zon#1
http://www.test.cz/product/tastickova-matrace-argon-latex-9-zon#2
Browsers will then refer only to the text before the # sign, i.e. both to the same address http://www.test.cz/product/tastickova-matrace-argon-latex-9-zon , but in our system the entire address will be taken into account with the text after the # sign; meaning the URL will be unique to us.
The URL cannot be longer than 300 characters.
It is recommended to discuss this modification with your webmaster.
IMGURL
Link to main/primary product image.
Terms for images:
- The image address must not contain spaces or diacritics.
- The maximum length of an image URL is 255 characters.
- If you have one image for multiple products, always use one and the same address (the address does not have to be unique within the feed).
- Furthermore, the image should not have a transparent background.
- When changing the image on the shop pages, the URL address of the image in the XML file also must be changed.
Specifications:
- The minimum required image size is 20 x 50 or 50 x 20 pixels (but we recommend at least 175 x 175 pixels) and 30 kB
- The maximum image size is 4096 x 4096 pixels and 2000 kB
- The maximum length of an image URL is 255 characters
- We currently only support jpeg format
IMGURL_ALTERNATIVE
A link to another image of the product, for example a view from another angle, an overview of the entire package, etc. can be listed multiple times.
PRICE_VAT
Final product price including VAT, copyright and recycling fees must be included.
List the price in CZK.
The prices on the Heureka.cz server are final.
The price can be listed in the following formats:
25 000
25000
25000,50
25000.50
Do not use a dot (.) as thousands/millions separator, it is used to separate decimal places. Enter the price to a maximum of 2 decimal places.
If your store is connected to the Heureka Marketplace, it is necessary to send us the prices of goods already rounded to whole CZK in this tag. If you also send a discount voucher with the product (see the SALES_VOUCHER tag), the price in the PRICE_VAT tag must correspond to the price after applying this voucher.
The price must be listed for one product and cannot be listed as a volume discount. Volume discounts are not supported by Heureka.
Therefore, if the price changes from two pieces upward, do not list it on Heureka.
In case that your price is not updated in the comparison, a frequent mistake is that it has not yet been generated in the feed and we therefore have no information about the change.
We recommend always checking that the price is already updated in the XML file and that the feed has already been imported from our side.
ITEM_TYPE
To distinguish new items. Use this tag to mark products of the type:
used or refurbished;
with damaged, non-original or bulk packaging (White box, OEM, blist, etc.);
returned within 14 days;
without a full warranty period;
second-quality;
exhibit or demonstration pieces;
unpacked (opened);
goods in a special VAT regime;
and others that Heureka does not consider new.
<ITEM_TYPE>bazaar</ITEM_TYPE>
These products must not be marked as new, but either as bazaar or do not include them in the XML file for Heureka at all.
PARAM
Product parameters can be listed here. If the parameters are not filled, then it is not possible to display your products in a specific filtering.
List of parameters ( XLSX / CSV )
MANUFACTURER
The MANUFACTURER tag contains the name of the product manufacturer, it is used for inclusion under the filter parameter, not for matching items. The manufacturer must also be included in the PRODUCTNAME tag.
CATEGORYTEXT
When categorizing a product, always include the full path to the product, ideally according to our category tree. Of course, you can also use your own categories, just make sure that they correspond to the Heureka categorization structure.
Correctly indicated categorization path:
Heureka.cz | Large Appliances | Washing machines and dryers | Washing Machines
Wrong Categorization Path:
Large Appliances | Washers and dryers
EAN
The EAN code is used to mark individual types of goods. We support the EAN 13 format. We will not process other formats and the EAN will therefore be considered incorrect.
However, never internal product numbers, but official product codes! (More about EAN code)
The EAN code is a mandatory item for the Books, Textbooks, Maps and Guides, Movies, Music and Comics categories.
In case you are selling other goods, then the EAN is not mandatory and therefore there is no need to send it.
ISBN
Alphanumeric code intended for unique identification of book editions. We support both ISBN-10 and ISBN-13 formats. The numbers in the ISBN code are to be separated by a dash, for example “978-0-123456-47-2”. (More about ISBN code)
DELIVERY_DATE
Delivery time of the product in days, i.e. the time from receipt of payment (in the case of cash on delivery from receipt of the order) to shipping the goods. The numerical value is then automatically converted into a text expression by our system.
Availability is then displayed on Heureka.cz as:
in stock – 0
within 3 days – 1-3
within a week – 4-7
within 2 weeks – 8-14
within a month – 15-30
more than a month – 31 and more
info in the store – if you do not specify a delivery time
Do not enter a value with a dash, but only one selected digit.
For example”<DELIVERY_DATE>2</DELIVERY_DATE>
Note: detailed and up-to-date information on the availability of products can also be provided via a separate XML feed (more about availability XML), which is updated every 10 minutes. Examples:
Goods in stock can be listed as:

DELIVERY
The price and shipping method that can be used to deliver this product. It is repeated as many times as the shipping methods can be used for this product.
Each shipping method can only be listed once for a product. If you list two shipping providers for one product, you will cause an error and we will not show either. The maximum number of shipping methods in the feed is 100 different ones.
If you choose shipping through the feed, then the shipping method that is filled in the administration under “shipping prices” is completely ignored, as the DELIVERY tag takes precedence.
Own transport
<DELIVERY_ID> OWN_PREPARATION </DELIVERY_ID>
Note: if you offer your own transport of goods, again your transport must comply with the fact that you offer it throughout the Czech Republic. This means you shipping the goods to the customer. This does not mean self pick-up, shipping in a city/region, etc.
ACCESSORIES
Contains the ITEM_ID of the item that is an accessory to a given product, e.g. charger, case, etc. Can be entered multiple times.
It allows your e-shop to sell accessories to the goods that the customer has in the basket. You can choose these accessories yourself, whether they are chargers, cases or any relevant item.
Up to 10 tags containing ITEM_ID can be assigned to each product. The customer is then shown a maximum of 10 specific products before purchasing.
GIFT
Contains a text description of gifts or items that are free with the product. The limit for the name length of one gift is 250 characters.
Optionally, it can contain the ID attribute for unique gift identification (we recommend using it). This attribute has the same format as ITEM_ID. A combination of a maximum of 36 characters [_ – 0-9 and from A to Z ], i.e. underscores, dashes, numbers 0-9 and lower and upper case letters without diacritics.
<?xml version=”1.0″ encoding=”utf-8″?>
<SHOP>
<SHOPITEM>
…
<GIFT>Free case</GIFT>
<GIFT ID=”gift01″>Free memory card</GIFT>
</SHOPITEM>
</SHOP>
The gift needs to be listed only for the specific product with which the customer will actually receive the gift. The gift must not be further limited by anything (higher order amount, purchase of another product, etc.). Can be listed more than once if all gifts are delivered with one product. In case of a choice between gifts, only one gift should be listed.
If you list multiple gifts, it is not possible to determine their position on the product card. If you decide to send more than one gift with one product, all the listed gifts must be sent in the shipment (you cannot choose which gift to send).
A gift is an item or a voucher for a given item, not a discount or a service. The use of cashback is also allowed; however, it must be indicated only for the product for which it is actually offered and the specific amount or goods that are the subject of the cashback.
If the cashback is for a specific brand and is offered to all users, the information is given by Heureka in the product description, and it is not allowed to be included in the GIFT tag. If it is cashback from the brand for selected stores, it must be listed as: “cashback XXX when registering on XXX sites”.
SPECIAL_SERVICE
Examples of additional/special services:
- free repair,
- delivery to a floor,
- extended return period,
- others.
What does not belong in this tag:
- free shipping (indicate only in the DELIVERY tag),
- availability information (indicate in the availability feed or DELIVERY_DATE),
- designation of authorized seller,
- possibility of installment payment,
- self pick-up at branch stores,
- discount on next purchase,
- extended warranty,
- and other forms of expressed discount (instant discount, promotional price, bonus…).
SALES_VOUCHER
Voucher for a product discount. Using this tag, you can provide users with a discount code that they can redeem in your e-shop. The voucher always applies to the product for which it is listed. If you are offering a blanket discount on all products, the same voucher can be listed on all products in the store.
Note: if you want to use the option of sending a discount voucher, the price in the PRICE_VAT tag must correspond to the price after applying this voucher.
<?xml version=”1.0″ encoding=”utf-8″?>
<SALES_VOUCHER>
<CODE>DISCOUNT20</CODE>
<DESC>20% discount after entering the code until 12/31/2021!</DESC>
</SALES_VOUCHER>
CODE contains the discount code that the user enters in your e-shop. The maximum length is 24 characters.
DESC contains a description of the discount, it will be displayed next to the code. If the voucher is valid for a limited time, we recommend stating the validity period here. The maximum length is 128 characters. Excess characters will be trimmed and replaced with three dots.
Conditions for sending discount vouchers in the feed:
After clicking through from Heureka, the price of the product on your store’s website must be visibly displayed before and after the discount (e.g. “price with discount code…”).
The voucher must be usable by any customer.
Its use must not be conditional, for example, on the purchase of multiple pieces or types of products, registration in a store, membership in a loyalty club, etc.
If the validity of the voucher is time-limited, the voucher must no longer be in the feed after the expiry date. We recommend stating the end of the voucher’s validity in the DESC label.
The price of the product sent in the PRICE_VAT tag must correspond to the price after applying this voucher.