The Feedance AI features is rolling out.
Check it out!

What is Heureka?

Heureka is the leading price comparison and shopping engine in the Czech Republic (heureka.cz) and Slovakia (heureka.sk), part of the Naspers/Allegro-linked group of comparison shopping services. Like Akakçe in Turkey, it aggregates offers for the same product from many online stores and lets shoppers compare price, seller reputation, and delivery time side by side before clicking through to buy.

Heureka doesn't just compare — it also runs a marketplace layer called Heureka Košík ('Buy via Heureka'), which lets shoppers complete checkout without leaving Heureka for eligible offers. Either way, your product data reaches Heureka exclusively through a structured XML product feed that you host and Heureka's crawler, Heurekabot, downloads on a schedule.

Why connect your product feed to Heureka?

Heureka is one of the highest-intent traffic sources available to Czech and Slovak online retailers: visitors arrive already comparing prices for a specific product, so a click is a strong buying signal. Categories span electronics, home and garden, fashion, books and media, toys, automotive parts, and groceries, among others.

Because Heureka displays your offer directly alongside every competing seller of the same product, feed accuracy has an outsized effect here — a stale price or an out-of-stock item that still shows as available doesn't just hurt SEO, it visibly loses the comparison in real time and damages the trust signals (verified-customer ratings, delivery promises) that drive click-through.

How Heureka's CPC bidding affects your feed

Heureka's visibility model is largely pay-per-click: in PPC mode, you're charged only when a shopper clicks through to your offer, not for impressions. You can control bid strength directly inside the feed itself, using the optional HEUREKA_CPC tag to set your maximum cost-per-click for an individual product — on heureka.cz this maximum is capped at 1,000 CZK per click. Heureka doesn't charge your full maximum bid; it charges only what's needed to hold your position, similar to a standard second-price auction.

Because bidding is set per product inside the XML file rather than through a separate campaign manager, keeping HEUREKA_CPC values current — and removing them from products you no longer want to bid competitively on — is a feed-maintenance task, not just a one-time PPC setup step. Merchants who don't set HEUREKA_CPC at all still appear in the free/organic (FREE mode) listing, refreshed on a slower cycle.

What feed format does Heureka require?

Heureka uses its own XML Feed 2.0 format, structured as a single <SHOP> root element containing one <SHOPITEM> block per product (or per variant). Key format rules from Heureka's own specification:

  1. The file must be UTF-8 encoded, and all tag names must be UPPERCASE — lowercase tags are silently ignored by Heureka's parser.
  2. Special characters (&, <, >) must be replaced with XML entities or wrapped in <![CDATA[...]]>.
  3. You may only submit one feed URL per store — Heureka does not support splitting a catalog across multiple feed files — and a single feed can contain a maximum of 500,000 sellable items.
  4. GZip-compressed feeds are accepted, and Heureka recommends serving a Last-Modified HTTP header so its crawler, Heurekabot, can skip unnecessary downloads.

Heureka also offers a separate, optional availability feed (dostupnostní feed) — a lighter XML file listing only stock quantities and delivery/pickup deadlines per ITEM_ID — which Heureka downloads every 10 minutes and treats as authoritative over the equivalent data in your main feed. It's designed for stores that can push stock changes faster than they regenerate the full catalog feed.

Which product attributes does Heureka require?

Heureka's specification distinguishes strictly required root tags from recommended and category-conditional ones. The four fields below are enforced on every SHOPITEM; everything else can still block a listing from displaying correctly or qualifying for the 'Buy via Heureka' marketplace button if it's missing for your category.

FieldRequiredFormat / limitNotes
ITEM_IDRequiredMax 36 characters, [a-zA-Z0-9_-] onlyUnique per product or variant; must stay stable across feed updates.
PRODUCTNAMERequiredMax 200 charactersShould include manufacturer, series, and model so variants are distinguishable.
PRICE_VATRequiredDecimal, e.g. 25000 or 25000.50Final price including VAT, in CZK (heureka.cz) or EUR (heureka.sk).
URLRequiredMax 300 characters, unique per itemMust land on a page that actually shows price and an add-to-cart option.
CATEGORYTEXTRecommended (functionally required)Pipe-delimited category pathWithout a correctly mapped category, category-specific required PARAM values can't be evaluated and the offer may not match into Heureka's catalog.
IMGURLRecommendedMax 255 characters; min ~20×50px, 175×175px+ recommendedNo watermarks, discount badges, or award graphics — Heureka explicitly downranks watermarked images.
PARAM (PARAM_NAME + VAL)Conditionally required by categoryRepeatable key/value pairCategory-specific mandatory attributes (e.g. color, size, material) pulled from Heureka's downloadable parameter spreadsheet; missing mandatory params hide the orange 'Buy via Heureka' button.
MANUFACTUREROptionalTextUsed for brand filtering; the same brand name should also appear inside PRODUCTNAME.
EANConditionally requiredEAN-13Mandatory for Books, Maps, Films, Music, and Comics categories.
DELIVERY_DATERecommendedInteger days or YYYY-MM-DDDrives the delivery-time badge shown to shoppers (e.g. 0 = in stock/24h dispatch).
ITEMGROUP_IDOptionalMax 36 characters, [a-zA-Z0-9_-]Groups size/color/material variants of the same base product together.
HEUREKA_CPCOptionalDecimal, capped at 1,000 CZK (heureka.cz)Per-product maximum cost-per-click bid for PPC visibility.

How to connect Heureka with Feedance

  1. Register your store in the Heureka Obchody (Sluzby.Heureka) merchant portal for heureka.cz and/or heureka.sk, and decide whether you'll run in PPC (paid, faster-refreshed) or FREE (organic) mode.
  2. Connect your product source in Feedance — your store platform, an existing export, or a spreadsheet — so Feedance has a live, structured view of your full catalog to work from.
  3. Create a Heureka channel in Feedance and map your fields to Heureka's XML Feed 2.0 tags: at minimum ITEM_ID, PRODUCTNAME, PRICE_VAT, and URL, plus CATEGORYTEXT, IMGURL, MANUFACTURER, and any category-specific PARAM values your products need.
  4. If you're bidding for PPC visibility, map or set HEUREKA_CPC per product, keeping it within Heureka's per-click ceiling.
  5. Copy the feed URL Feedance generates and register it in your Heureka merchant account — Heureka pulls from this single URL rather than accepting an upload, and Heurekabot will begin downloading it on Heureka's schedule.
  6. Enable scheduled syncing in Feedance so price, stock, and PARAM changes stay current automatically, and check your first live batch on heureka.cz/heureka.sk against your storefront before scaling PPC spend.

How often should the feed update?

Heureka's own documentation states Heurekabot downloads your main XML feed every 2 hours for stores in PPC mode, and every 4 hours for stores in FREE mode. If you need stock and delivery-time changes to reach Heureka faster than that, Heureka's separate availability feed is downloaded every 10 minutes and takes priority over the main feed for stock data — it's designed specifically for stores whose availability changes faster than a full catalog re-export.

Sending a Last-Modified HTTP header on your feed response is recommended so Heurekabot can skip re-downloading an unchanged file, reducing load on your server without affecting how often Heureka checks for updates.

Common Heureka feed errors and how to fix them

CauseEffectFix
Tag names written in lowercaseHeureka's parser silently ignores the tagUse uppercase tag names exactly as documented (e.g. ITEM_ID, not item_id).
Unescaped &, <, or > in text valuesMalformed XML; the whole feed or affected items can fail to parseReplace with XML entities (&amp;, &lt;, &gt;) or wrap the value in <![CDATA[...]]>.
Duplicate or non-unique URL values across itemsVariants or products can't be distinguished; listings may be dropped or merged incorrectlyGive every item, including size/color variants under the same ITEMGROUP_ID, its own unique product URL.
Missing category-mandatory PARAM valuesThe orange 'Buy via Heureka' checkout button doesn't display for the offerCross-check your category against Heureka's downloadable required-parameters spreadsheet and populate every PARAM_NAME/VAL pair flagged as obligatory for it.
Watermarked images, discount badges, or award graphics in IMGURLListing is downranked in comparison orderServe clean product photography with no overlaid text or graphics.
Feed split across multiple URLs, or more than 500,000 sellable items in one fileHeureka only accepts a single feed URL and rejects catalogs over the item capConsolidate into one feed URL and stay under the 500,000-item limit.

Heureka feed optimization tips

  1. Fill in every category-mandatory PARAM, not just the four strictly-required root tags — a technically valid feed that's missing color, size, or material for its category still won't show the 'Buy via Heureka' button.
  2. Keep PRICE_VAT and stock data current relative to Heureka's refresh cadence (2–4 hours), and use the availability feed if your stock changes faster than that, since Heureka gives it priority.
  3. If bidding with HEUREKA_CPC, review it regularly rather than setting it once — an unmanaged bid either overpays for clicks on low-margin items or underbids on items you actually want visible.
  4. Use consistent, watermark-free product images and keep the same IMGURL pointing to the same image over time, since Heureka's spec explicitly penalizes badges/watermarks and inconsistent image swaps.
  5. Group variants under a shared ITEMGROUP_ID with distinguishing PRODUCTNAME and PARAM values so shoppers land on the exact size/color they compared, not a generic parent listing.

Frequently asked questions

Is Heureka a marketplace or a price comparison site?
Both. At its core Heureka is a price comparison engine that redirects shoppers to your own site, but its Heureka Košík ('Buy via Heureka') feature lets eligible offers be purchased without leaving Heureka, provided the required category parameters are present in your feed.

What's the difference between heureka.cz and heureka.sk?
They're separate country storefronts — heureka.cz serves the Czech market with prices in CZK, heureka.sk serves Slovakia with prices in EUR — each requiring its own registered feed, though both use the same XML Feed 2.0 structure.

Do I need a separate availability feed?
No, it's optional. Most stores can rely on the main XML feed alone (refreshed every 2–4 hours). The availability feed is for stores that need stock and delivery-deadline changes reflected every 10 minutes instead.

What happens if I don't set HEUREKA_CPC?
Your products still appear in Heureka's FREE (organic) listings, just refreshed on the slower 4-hour cycle and without PPC-boosted placement.

Why isn't the 'Buy via Heureka' button showing on my listing?
The most common cause is a missing category-mandatory PARAM value — Heureka publishes a downloadable spreadsheet per category marking which parameters are obligatory, and any gap there suppresses the button even if your core required fields are correct.

Can I submit more than one feed file for different parts of my catalog?
No. Heureka's specification only accepts a single feed URL per store, so all products must be consolidated into one XML file (up to 500,000 sellable items).

Schedule your 15-minute demo now

Schedule my demo

We’ll tailor your demo to your immediate needs and answer all your questions. Get ready to see how it works!