
MediaMarkt feed for Shopify
MediaMarkt and Saturn are two consumer brands of one marketplace: MediaMarktSaturn, running on the Mirakl platform in seven countries: Germany, Austria, Spain, Italy, the Netherlands, Belgium and Poland. Selling there means two feeds per country: a products file with your content and an offers file with price and stock. Feedflock builds both from your Shopify catalog in Mirakl's semicolon CSV, hosts them on stable URLs the shop imports automatically, and regenerates them every hour.

You pay per sale, and the rate depends on the category.
MediaMarkt doesn't bill clicks. It takes a commission on every sale, 7–15 % by category: electronics at 7 %, major domestic appliances at 10 %, accessories at 12 %, media at 15 %, plus 39 € per month (published terms; confirm the current ones in your account). Try a category rate and see what a sale actually pays out, because the price in your offers feed is the number the commission comes off.
A discount is a second price with a calendar.
In the offers file, price carries the regular price (the compare-at price while the variant is on sale) and discount-price the discounted one, always lower. The window runs on a start and end date, and a permanent discount wants an end date far in the future rather than none. Quantity discounts are not supported at all: build them as reduced-price bundles.
One main image, two extras. The third extra stays in Shopify.
MediaMarkt is strict about photos: the main image is mandatory, at least 1,500 px, on a plain white background, from the front, without shadows, logos or watermarks. On top of that the products file takes two additional images at 1,000 px or more. Anything beyond them has no column in the feed.
Catch feed issues before MediaMarkt / Saturn 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.
Apply to the marketplace
MediaMarkt is curated, not self-serve: apply through the seller registration form of the regional marketplace. Expect to show a consumer-electronics assortment, an EU tax number, an EU bank account, your own logistics, returns through an EU warehouse, support in the country's language and EANs on every product.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, stock, images and tax setup directly through the Shopify API.
Create the products feed for one country
Choose the MediaMarkt template and the market. One feed serves one country, because each country is a separate shop account. Shop SKU, 13-digit EAN, brand, main image and category are mapped, and the title goes out without the brand, which MediaMarkt adds itself.
Connect the URL and pass review
Paste the hosted feed URL into the shop's import configuration, the automatic-update method. On the first import, reconcile the columns in the account's mapping wizard, then submit the shop profile for review; listings go live when it passes.
Add the offers feed for the same country
Create the MediaMarkt Offers feed for that market: the regular price, quantity, an optional discount price with its date window and the lead time to ship. Sold-out variants stay in the file with quantity 0.
https://feedflock.appfleece.com/f/demo-mediamarkt/mediamarkt-offers.csv
The feed
What the channel receives
"sku";"product-id";"product-id-type";"price";"quantity";"state";"discount-price";"discount-start-date";"discount-end-date";"leadtime-to-ship";"min-quantity-alert";"update-delete";"description" "SKU-2048";"8594000123453";"EAN";"49.00";"0";"";"";"";"";"2";"";"";""

Nordlin
Linen shirt Sand
49 €
Feed fields
sku
SKU-2048
product-id
8594000123453
product-id-type
EAN
price
49.00
quantity
0
leadtime-to-ship
2
The channel
Germany's electronics giant, in seven countries
One seller platform behind two brands (MediaMarkt and Saturn) in Germany, Austria, Spain, Italy, the Netherlands, Belgium and, since 2025, Poland, with some 24 million visits a month. There is no Czech marketplace, but Germany, Austria and Poland all border it.
A curated shelf, not an open bazaar
Admission is by application, with an EU tax number, EU returns and support in the country's language among the requirements, and the shop passes a review before listings go live. A Czech s.r.o. qualifies on every published point.
Payout three times a month
MediaMarkt pays out on the 1st, 11th and 21st of the month. There is no setup fee; the published terms are 39 € a month plus a 7–15 % commission by category.
The feed
- A template pair per country: the products feed for content and the offers feed for price and stock, with the currency following the market: EUR everywhere except Poland, where the feed switches to PLN
- Both files are Mirakl's semicolon CSV with a header line, hosted on stable URLs for the shop's automatic import
- The required set is mapped from the start: Shop SKU, the 13-digit EAN, brand and the main image, plus the category column you map onto MediaMarkt's tree in the account
- The title goes out as the plain product name: MediaMarkt adds brand and features itself, so they never appear twice
- Variants of one product share the variant group code, so sizes and colours group as one product with options
- Discounts travel as the regular price plus a lower discount-price with start and end dates, the way the offers file models a promotion
- Sold-out variants stay in the offers feed with quantity 0, because a row that disappears would keep its last quantity live on MediaMarkt
Deep dive
One shop per country, two files per shop
- Seven countries: Germany, Austria, Spain, Italy, the Netherlands, Belgium and Poland. No Czech marketplace
- Each country is a separate Mirakl shop account; Saturn shares the German one
- The products file carries content, the offers file carries price, stock and discounts
- One feed serves one country:
EUReverywhere except Poland, which prices inPLN
Technical details
MediaMarkt's country model is one shop account per country, not one shop with several sales channels. You pick the market when you create the feed and the currency follows: euro everywhere except Poland. A second country means a second feed pair for its own shop account.
Each shop takes two files: the products feed with the content (SKU, EAN, brand, images, category, title) and the offers feed with the price, quantity, discount window and lead time. They pair on the same SKU, and the offer attaches to the catalogue product by EAN.
Content: EAN, brand and a title without the brand
- Required for every product: Shop
SKU, a 13-digitEAN, brand and the main image - The brand must come from MediaMarkt Saturn's own brand list. An unlisted brand is added on request
- The main image: at least 1,500 px, plain white background, front view, no shadows, logos or watermarks
- The title is optional and must not contain the brand or features. MediaMarkt adds those automatically
Technical details
Four things are required of every product: the Shop SKU, a 13-digit EAN, the brand and the main image. The brand has to come from MediaMarkt Saturn's own brand list, spelled exactly as the list has it; a brand that is missing is added by MediaMarkt on request. Categorization is mandatory too, and it happens in the account. Your category column is mapped onto MediaMarkt's tree there.
The title has a notable rule of its own: it is optional, and it must not contain the brand or feature keywords, because MediaMarkt adds those automatically. A title like “OLED TV LG 55 inches” has to lose the LG. Feedflock's default mapping sends the plain product title, and a replacement rule strips the brand if your Shopify titles carry it.
Offers: the price file with a discount window
- price is the only mandatory offer field: it carries the regular price, the compare-at price when the variant is on sale
- discount-price is the sale price, always lower, with a start and end date
- A permanent discount wants an end date far in the future, not none; quantity discounts are not supported
- Keep sold-out variants in the file with quantity 0: a
NORMALimport does not delete rows that go missing
Technical details
The offers file is where the money lives. price is MediaMarkt's only mandatory offer mapping, and it carries the regular price, the compare-at price while the variant is on sale, because discount-price carries the discounted one. A discount runs on a start and end date in the YYYY-MM-DD HH:MM:SS ZZ format; for a permanent discount, set the end date far in the future rather than leaving it empty. Quantity discounts are not supported. The workaround is a reduced-price bundle.
quantity is the stock count, and a sold-out variant belongs in the file with an explicit 0: Mirakl's normal import updates the rows it finds and leaves absent ones untouched, so a dropped row would keep its last quantity live. The only delivery-shaped column is leadtime-to-ship, the days until the carrier gets the parcel. Shipping prices and carriers are configured per shop, not in the feed.
Review, imports and error reports
- After setup the shop profile goes to review; listings go live when it passes
- The account's mapping wizard maps your columns onto MediaMarkt's attributes. Reconcile the headers on the first import
- Product import reports appear under Catalog → Product imports; the transformation report lands within about a day
- Offer errors surface mostly automatically
Technical details
MediaMarkt is curated: after the technical setup, the shop profile goes to review and listings go live only when it passes. On the first import, the mapping wizard in the account matches your file's columns to MediaMarkt's attributes. A wrong header is not fatal, but reconcile it before you rely on the data.
When something does go wrong, Mirakl reports per import: the product file's transformation report appears under Catalog → Product imports within about a day, while the conventional report can sit for days, and offer errors come back mostly automatically. Feedflock's readiness check flags empty required fields before the feed ships, so the import report stays short.
The takeaway
Two URLs per country, one for content and one for price and stock, regenerated every hour from templates that already speak Mirakl's CSV. Your Shopify catalog stays the single source of truth for both halves of every MediaMarkt and Saturn listing.
Claude · ChatGPT
Or set up your MediaMarkt / Saturn feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to MediaMarkt / Saturn's own tree and tells you what is still missing. You approve every change.
Create a MediaMarkt / Saturn 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
Get on every marketplace that matters this afternoon.
Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.