idealo is where German shoppers go to compare a price before they buy, and it says it sees 120 million sessions a month across Europe. For a shop selling into Germany or Austria it is the comparison site, and getting in is a matter of one file — but not the file you already have. idealo does not read Google's XML. It reads its own CSV, with column names of its own, and three rules in it behave unlike every other channel a catalogue gets sent to.
This guide is the whole route: what idealo asks of the shop before it will look at a feed, the attributes the file must carry, the three traps that decide whether your offers appear at all, and what a click costs.
Before the feed: what idealo asks of the shop
idealo reviews the shop before the products. Its merchant requirements are short and every one of them is checkable from outside: a working order system, a legally valid imprint, that you handle shipping and returns yourself, gross prices including VAT (B2C listings only), and compliance with idealo's listing criteria.
The one that surprises people is payment. idealo asks for a minimum of two payment options, including PayPal or credit card, and without surcharges. A shop that only takes bank transfer, or that adds a fee for paying by card, does not qualify — and that is a checkout change, not a feed change, so it is worth settling before you start.
Registration itself is three steps (the signup form): submit your shop URL and email, wait for idealo's team to review and approve the shop, then do the technical onboarding in the idealo Business Center — where you paste the feed link.
The file: CSV, and the formatting rules that come with it
idealo accepts CSV, TXT or XML and recommends CSV, which is the format its documentation is written for. The rules are plain (their CSV spec):
- UTF-8, one offer per line, header row, column order up to you.
- Column separator is a comma, decimal separator is a dot, and a list inside one column — several image URLs, say — is separated by a semicolon.
- ZIP or gzip is fine, and the hosting link may be password-protected.
- idealo fetches the file about every 30 minutes, which is the fastest refresh of any channel in this guide series.
- Their crawler comes from a fixed set of IP addresses. If your host blocks unknown traffic, take the current list from the spec and allow it — a feed that cannot be fetched looks exactly like a feed with no products.
A minimal row, with the columns idealo treats as required:
sku,brand,title,url,price,delivery,deliveryCosts_dhl,paymentCosts_paypal BF-ALP-42,Bergfuchs,Bergfuchs Trailrunner Alpin 42,https://shop.de/p/alpin?variant=42,119.95,2 working days,3.95,0.00
Trap 1: the shipping column is named after your carrier
Every other channel has one shipping field. idealo has one per carrier, and the carrier's name is part of the column: deliveryCosts_dhl, deliveryCosts_hermes, deliveryCosts_dpd. At least one is required, the name has to come from idealo's own list (deutsche_post, dhl, dhl_go_green, download, dpd, fedex, german_express_logistics, gls, gls_think_green, hermes, pick_point, spedition, tnt, trans_o_flex, ups), and the value is the cost of the cheapest method in euros. Free delivery is 0.00 — a number, not a blank.
Payment methods work the same way: paymentCosts_paypal, paymentCosts_credit_card, one column each, at least one of them. Since idealo already forbids surcharges on the payment methods that qualify you, these are normally 0.00 too.
A column named after something that is not on idealo's list is ignored — and it takes your shipping cost with it, silently.
Trap 2: there is no availability field, so out-of-stock must not be in the file
Read the attribute list and something is missing: idealo has no availability. Google has one, Meta has one, the CEE comparators have a delivery field that doubles as one. idealo assumes that an offer in the file is an offer a shopper can buy today.
So a sold-out product does not get marked — it gets left out, and comes back when stock does. Leaving it in with an invented delivery time is the one mistake here that costs real money: the shopper clicks (you pay for that click), lands on a product they cannot buy, and idealo hears about it.
Trap 3: prices have no currency, and the domain decides what they mean
idealo wants the price as a bare number — 119.95, no symbol, VAT included. Which currency that is read in comes from the country domain you registered with. Six of the eight are euros; the other two are not. From idealo's costs and conditions: idealo.de, idealo.at, idealo.fr, idealo.it, idealo.es and idealo.ie in euros, idealo.ch in Swiss francs and idealo.co.uk in pounds.
A price in the wrong currency is not rejected. It is believed. The shopper sees one number on idealo, a different one in your shop, and that gap is a price mismatch counted against the shop — the same failure that gets catalogues suspended on Google, which we cover in the price mismatch guide.
Delivery time: say it in working days, and say it precisely
delivery is required and idealo is unusually strict about the wording, because German law makes the shop tell the customer when the goods arrive. Its spec rules out “ready for shipment”, “presumably” and anything of that shape. Use working days: 1-3 working days, 2 working days. If you dispatch same-day, that is still a working day at the customer's end — say one, not zero.
The attributes that decide where your offer lands
Everything above gets the file accepted. These decide whether the offer appears next to your competitors on the product page — which is the only place idealo's traffic actually is:
- eans — the barcode, one per offer. It is how idealo attaches your offer to the catalogue product that already exists. Without it, idealo has to recognise the product from your title. If your catalogue is missing barcodes, that is worth fixing before anything else here; see the GTIN guide, because Google has the same appetite for them.
- brand — required, and used for matching and for brand filters. For own-brand goods, idealo asks for your shop name.
- hans — the manufacturer's article number (what Google calls the MPN), the fallback when there is no barcode.
- title — manufacturer plus model name or number, then size, colour, material. Promotional text is prohibited outright.
- categoryPath — your own category path, e.g.
Shoes > Men's > Trail. idealo maps it to their tree on their side. This is the one way idealo is easier than Heureka or Compari, where you map every category by hand into the portal's own tree. - imageUrls — first one is the main image, PNG or JPG up to 3 MB. idealo states plainly that image quality affects ranking and that white backgrounds rank higher.
- description — up to 1000 characters of plain text. HTML in here can misfile the product, so strip it.
- size, colour — one offer per variant, always. A size run is not one row.
Regulated categories carry more: basePrice where §2 PAngV requires a price per unit, packagingUnit for multi-packs, the energy-label block (EEC_efficiencyClass, eec_labelUrl, eec_dataSheetUrl) for appliances, pzns for pharmacy products, and tyre attributes under EU 2020/740. Used and refurbished goods have their own pair, condition and conditionType, and idealo requires differential taxation, EU goods and B-stock to be identified in the offer title itself.
What listing costs
idealo is pay-per-click, not commission on sales: you pay when a shopper clicks through to your shop. The rate depends on the country and the product category (the published CPC list) — the standard rate is €0.51 in Germany, €0.38 in Austria, €0.35 in Spain, €0.25 in Italy, £0.35 in the UK — and all of them rise by €0.02 a year automatically. On idealo.de there is also a minimum fee of €20 net for a calendar month, payable even in a month where the clicks came to less — their terms word it “per calendar month and per Offer”, so it is worth having idealo confirm how that applies to your listing before you budget for it.
The practical consequence for the feed: every click is paid for, so an offer that is out of stock, mispriced or pointing at a dead URL costs money rather than just failing quietly.
The feed or the API
idealo also has a Partner Web Service (PWS 2.0) for programmatic updates. For almost every shop, the CSV is the right answer: idealo fetches it every half hour on its own, so the API buys you very little freshness for a great deal of work. The API is worth it when prices change faster than that, which for most catalogues they do not.
How FeedRobin handles it
idealo is a channel in FeedRobin, built from the same product data as your Google and Meta feeds, and we render the CSV their spec asks for rather than handing them a Google file. You tell us three things once — the idealo domain you registered with, your carrier and its shipping cost, and the payment methods you accept — and the columns get their proper names from idealo's own lists, so there is no way to invent a carrier they do not recognise.
The rest follows the rules above without you watching them: out-of-stock products are held back and return when stock does, prices in a currency that domain does not read are left out rather than shown wrong, descriptions are stripped of HTML and cut to 1000 characters, the title leads with the manufacturer, and your own category path goes across for idealo to map. The feed page tells you exactly how many products each of those rules held back, so the number on your dashboard and the number of offers on idealo never quietly disagree.
If you want to see what any comparison site would make of your catalogue first, the free feed check reads the feed you already have — missing barcodes, thin descriptions and images below the minimum size are the same problems everywhere, and the comparator formats guide covers how Heureka and Compari differ from this one. New to feeds altogether? Start here.
Sources
idealo's own documentation and merchant pages: the CSV feed import specification (attribute list, formatting rules, carrier and payment column names, crawler IPs), idealo Listing (merchant requirements, the three registration steps, reach), costs and conditions (CPC rates per country, the minimum fee, the country domains and their currencies), Partner Web Service 2, shop registration and the merchant FAQs. Checked on 17 September 2026; idealo revises the CSV spec regularly and dates every change in its own changelog.