
idealo feed for Shopify
idealo is the Berlin-based price comparison site where German shoppers check prices before they buy. Feedflock turns your Shopify catalog into the CSV offer file idealo imports (one row per variant, prices with VAT, delivery time in working days, per-carrier delivery costs), hosted on a URL that idealo usually fetches every 30 minutes.

Your product types. The channel's categories.
The channel files offers under its own category tree. Feedflock suggests a category for each Shopify product type and you just confirm. One mapping covers every product of that type, including products you add later.
Catch feed issues before Idealo does.
Before every generation Feedflock checks that every field the channel requires is filled, and, on templates verified against the channel's own spec, that the values fit its rules. Most problems are fixed with one click, without editing products in Shopify.
Setup
Live in five steps
From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.
Register with idealo
Set up your shop as an idealo merchant. Offers reach idealo as a hosted export file that idealo downloads from a link, which may be password-protected if you need it to be.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, prices and images directly through the Shopify API.
Pick the idealo template
Create a new feed and choose the idealo template. sku, title, brand, price, url and delivery are mapped from the start, one row per variant, with the delivery time set to 1-3 Werktage.
Enter your delivery cost
idealo requires at least one delivery cost, one column per carrier from its list of fifteen. Feedflock deliberately leaves the DHL column empty until you enter your real rate: 0.00 would tell idealo shipping is free.
Hand over the feed URL
Give idealo the hosted feed URL. idealo usually fetches and imports the file every 30 minutes; Feedflock regenerates it every hour on the same address.
https://feedflock.appfleece.com/f/demo-idealo/idealo.csv
The feed
What the channel receives
sku,title,brand,price,url,delivery,deliveryCosts_dhl,paymentCosts_paypal,eans,categoryPath,description,imageUrls,size,conditionType SKU-2048,Linen shirt Sand,Nordlin,49.00,https://shop.example/products/linen-shirt-sand?variant=9087654322,1-3 Werktage,4.95,0.00,8594000123453,Apparel & Accessories > Clothing > Clothing Tops > Shirts,A breathable linen shirt in a regular cut.,https://cdn.shop.example/img/linen-shirt-sand.jpg,M,NEW

Nordlin
Linen shirt Sand
49 €
Feed fields
sku
SKU-2048
title
Linen shirt Sand
brand
Nordlin
price
49.00
url
https://shop.example/products/linen-shirt-sand?variant=9087654322
delivery
1-3 Werktage
deliveryCosts_dhl
4.95
paymentCosts_paypal
0.00
eans
8594000123453
categoryPath
Apparel & Accessories > Clothing > Clothing Tops > Shirts
description
A breathable linen shirt in a regular cut.
size
M
conditionType
NEW
The channel
The German comparison staple
idealo is the Berlin price comparison site German shoppers turn to before they buy. When the comparison site Ladenzeile closed, it sent its own users to idealo as one of the leading comparison platforms in Europe.
A 30-minute import cycle
idealo usually fetches and imports the hosted file every 30 minutes. With Feedflock regenerating it every hour, a price change in your store reaches the comparison without anyone re-uploading anything.
Identifiers drive visibility
An EAN per offer enables automatic allocation to an idealo product and, in idealo's own words, significantly increases the visibility of your offer. A manufacturer number (HAN) paired with the brand helps idealo create the product as well.
The feed
- sku, title, brand, price, url and delivery, six of idealo's seven required columns, are mapped from the start; the delivery cost is the one value only you can enter
- Prices go out including VAT, as bare numbers with a period decimal separator and no currency sign, as idealo's formatting rules demand
- Every variant is its own row with a ?variant= URL, so the variant shown on idealo is preselected when the shopper lands in your store
- Your compare-at price fills formerPrice, which idealo uses for comparison without displaying it
- Descriptions are stripped of HTML and capped at 1000 characters; the image gallery joins into one cell with the main image first
- The readiness check lists required columns with gaps before idealo's first import
Deep dive
A CSV, one line per offer
- A hosted export file:
CSVis the documented shape,TXTandXMLalso accepted UTF-8, a header row of attribute names, comma between columns, period decimal separator, semicolons for lists- Column order is arbitrary; each line is one offer
- Variants are not grouped: every size and colour is its own row with its own sku and a preselecting
URL
Technical details
idealo reads a hosted export file: CSV is the documented shape, with TXT and XML also accepted. The rules are strict and simple: UTF-8 encoding, a header row of attribute names, comma between columns, a period as the decimal separator, and a semicolon for lists inside one cell. Column order is arbitrary; each line is one offer.
Feedflock renders exactly this layout and hosts the file on a stable URL. Variants are not grouped: every size and colour is its own row with its own sku, and the row's URL preselects that variant in your store, as the spec requires.
The required seven
- Required for every offer: sku, brand, title, url, price and delivery, plus at least one delivery cost
- Delivery time is free text, precise and in working days: '1-3 Werktage' passes, 'ready for shipment' does not
- One delivery cost column per carrier from a closed list of fifteen. 0.00 declares free shipping
- Payment methods work the same way: each displayed method gets its own paymentCosts column
Technical details
Six columns are required for every offer (sku, brand, title, url, price and delivery) plus at least one delivery cost. The delivery time is free text but must be precise and in working days: "1-3 Werktage", the template's default, passes; "ready for shipment" or a hedge like "presumably" is explicitly disallowed.
Delivery costs live in one column per carrier, from a closed list of fifteen providers such as dhl, dpd, gls or ups, and carry the price of the cheapest method. 0.00 declares free shipping. Payment methods work the same way: each displayed method gets its own paymentCosts column. The template sends PayPal at 0.00 (no fee); clear it if you do not accept PayPal.
Your category path, not theirs
- idealo publishes no category tree. categoryPath carries your own path from the main category
- idealo maps your path onto its catalog; unspecific paths like 'Summer-Sale' are called out as wrong
- The path fills from the Shopify product category, falling back to the product type
- The Categories tab offers Google's product taxonomy when you want a ready-made tree
Technical details
idealo publishes no category tree. The categoryPath column carries your own shop's category path, starting at the main category, and idealo maps it onto its catalog. Unspecific paths like "discounted" or "Summer-Sale", or model names folded into the category, are called out as wrong.
Feedflock fills the path from the category you set in the Shopify admin, falling back to the product type. If you would rather map product types onto a ready-made tree, the Categories tab offers Google's product taxonomy, a full path idealo maps like any other.
Identifiers, prices and condition
- An
EANper offer enables automatic allocation to an idealo product and improves visibility - A
HANdoes the same, paired with the brand column. Shopify has no field for it, so it reads a metafield - Goods sold by unit need basePrice (per kg, l or m) under German price-labelling rules, read from a metafield
- Used, refurbished and demo goods must be marked: conditionType takes
NEW,AS_NEW,REFURBISHEDorUSED
Technical details
An EAN per offer enables automatic allocation to an idealo product and significantly increases visibility; a HAN (the manufacturer's article number) helps too, but only paired with the brand column. Shopify has no manufacturer-number field, so the template reads it from a metafield rather than passing your shop SKU off as one. Goods that need a unit price under German price-labelling rules get basePrice from a metafield the same way.
Used, refurbished and demo goods must be marked: the conditionType column takes NEW, AS_NEW, REFURBISHED or USED, with a separate condition grade for used items, and the state must also be clear from the offer itself. idealo can exclude offers that break this rule.
The takeaway
One URL, an hourly refresh and a CSV that already follows idealo's formatting rules. Your Shopify catalog stays the single source of truth, and idealo's 30-minute import cycle always reads its current state.
Claude · ChatGPT
Or set up your Idealo feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to Idealo's own tree and tells you what is still missing. You approve every change.
Create a Idealo feed for my store and map my categories.
I'll create it as a draft and show you each change before I make it.
FAQ
Related feeds
Explore all 101 channelsMore price comparison
Get on every marketplace that matters this afternoon.
Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.