Every Magento 2 product feed starts from the same catalog, but no two channels read it the same way. Google Merchant Center and Meta want one row per variant tied together by item_group_id. Kaufland wants an EAN-13 on every product and links variants through a parent EAN. Mirakl marketplaces each set their own catalog rules, and Awin reuses Google’s format. Start with a clean Google feed, then add a channel only once your catalog meets its identifier rules.

The table below compares all five channels. A section per channel follows it, then a look at feed-management SaaS against code-first feeds.

The five channels at a glance

ChannelTypeMain marketsRequired IDsVariant modelFormat and deliveryTypical rejections
Google Merchant CenterShopping ads and free listingsWorldwideid, brand, GTIN when the maker assigned oneitem_group_id, one row per variantTSV or XML file, scheduled fetch, Merchant APIPrice or stock mismatch with the landing page, bad GTIN
Meta Commerce ManagerCatalog ads, ShopsWorldwide (in-app checkout US only)iditem_group_id, one row per variantCSV, TSV, XML or Sheets, hourly to weekly fetchMissing fields, image errors, policy breaches
KauflandMarketplaceDE, CZ, SK, PL, AT, FR, IT, NLEAN-13 on every productChild EAN linked to a parent EANCSV files or Seller APIMissing mandatory attributes, unknown EANs, image URLs
Mirakl marketplacesMarketplace platform450+ marketplaces, rules set by each oneSet by each marketplaceVariant group code per marketplaceCSV, XML or XLSX import, offers by file or APISet by each marketplace
AwinAffiliate networkPublishers in 180+ countriesproduct_id or the Google specitem_group_id in the Google-spec feedCSV, TSV or XML by URL or FTP, or API pushDuplicate IDs, missing price, name or URL

Why the channel changes the feed you build

A Magento 2 configurable product is one parent with several simple children. Channels disagree on which of those rows exists for them. Ads channels show the child and group it under a shared ID. Marketplaces match the child against a product catalog by barcode and attach your offer to it. Affiliate networks pass rows to publishers who build their own pages.

Three catalog facts decide how much work each channel takes:

  • Identifiers. A store without GTINs or EANs on its simple products can run Google and Meta ads today. It cannot list on Kaufland.
  • Variant data. Colour and size must sit in real attributes because every channel groups variants by attribute. A size typed into the product name stays invisible to them.
  • Stock and price freshness. Google compares the feed with the product page and disapproves items that disagree.

Google Merchant Center

Google says people shop across its services more than a billion times a day. One feed serves both free listings and Shopping ads.

Identifiers. The required attributes are id, title, description, link, image_link, availability and price. Google requires brand for new products outside books, films and music. Google recommends a GTIN for every product whose maker assigned one, and warns that a missing or wrong GTIN limits visibility. Leave the field empty rather than invent a value.

Variants. Every variant is its own row with its own ID. Rows of one product share an item_group_id, which Google requires for all variants in free listings. Shopping ads need it for variants sold in Brazil, France, Germany, Japan, the UK and the US. The Magento parent SKU makes a stable value.

Format and delivery. Google fetches TSV or XML files up to 4 GB on a schedule, daily by default. The Content API for Shopping shut down on 18 August 2026. API-based Magento modules must now use the Merchant API.

Common rejections. Price or availability that differs from the landing page tops the list. Google can disapprove the item before a human looks at it. Wrong and duplicate GTINs are also common.

Magento gotchas. Special prices, catalog price rules and tier prices change the price a shopper sees. The feed has to compute that same final price per store view and currency. Out-of-stock children of an in-stock parent need their own availability value.

Meta Commerce Manager

Meta reports 3.6 billion daily active people across its apps (June 2026). A catalog feeds Advantage+ catalog ads and Shops. Checkout inside Facebook and Instagram works in the US only. Elsewhere the shopper finishes on your store.

Identifiers. Each row needs id, title, description, availability, condition, price, link and image_link. Check brand and GTIN against Meta’s catalog field spec for your category.

Variants. Meta groups product variants by item_group_id, the same way Google does. The variant model matches Google’s, so the same parent-child mapping serves both.

Format and delivery. Meta reads CSV, TSV, XLSX, Google Sheets and XML. It fetches over HTTP, FTP or SFTP every hour, day or week. A scheduled feed can replace the catalog or update only the rows it contains.

Common rejections. Missing required fields, a main image that is broken or over 8 MB, and breaches of the Commerce Policies.

Magento gotchas. Meta shows the image you send. Configurable products that keep their photos on the parent need the feed to copy the parent image onto each child row.

Kaufland

Kaufland runs its marketplace in Germany, Czechia, Slovakia, Poland, Austria, France, Italy and the Netherlands. It launched the Netherlands in September 2026 with about 15,000 sellers across Europe and names Spain as the next market.

Identifiers. EAN is one of Kaufland’s mandatory attributes, alongside category, title, description, manufacturer and picture. Its Seller API docs say: “Every product has an EAN. Without the EAN, we cannot identify the product.” Product data belongs to the EAN and all sellers share it. Your price, stock and condition travel as a separate offer.

Variants. Kaufland groups variants from a variant suggestions file with the columns ean, parent_ean, variant_attributes and action. Grouping also depends on filled attributes such as colour and target group.

This is where Magento catalogs hurt. Only the simple products are physical items with a barcode. In our Kaufland integrations the configurable parent needed an EAN of its own to form the variant group. GS1 numbers are not free, so every configurable product costs one extra barcode licence with no item behind it. Count your configurable products before you budget for the channel.

Format and delivery. Kaufland takes product data as CSV files or through the Seller API. It reports the status per EAN. Offers travel in their own files or API calls.

Common rejections. Kaufland’s reports list items with missing mandatory attributes as invalid. EANs it has no product data for show as “Not found EANs”. Images must be public URLs in JPG, PNG or GIF format. Some values wait for manual review by category management.

Mirakl marketplaces

Mirakl runs the software behind more than 450 marketplaces, with over 100,000 third-party sellers. Each operator runs its own catalog and decides which attributes and identifiers it requires. Read the operator’s seller guide before you map a single field.

Identifiers and offers. A Mirakl marketplace keeps the product and your offer apart. The offer carries your SKU, a product ID with its type (often an EAN), price, quantity and condition.

Variants. Operators group variants with a variant group code shared by every child, and each child keeps a unique shop SKU. Operators such as Conrad cap that SKU at 20 characters. Long Magento SKUs need a shorter alias in the feed.

Format and delivery. Mirakl imports product files as CSV, XML or XLSX. Offers go in by file or through its offer API.

The official Magento 2 connector. Mirakl sells the Official Mirakl Marketplaces Connector on the Adobe Commerce Marketplace for $10 a year (as of September 2026). It needs a Mirakl Connect account. In our tests it did not import configurable products as variants. Stores with a configurable-heavy catalog need that grouping from another source. Our Stable Shopping Feed extension exports configurable products as Mirakl variants. Replies from its support were also slow in our experience, so plan launch dates with slack.

Awin

Awin is an affiliate network. It reports 30,000+ advertisers and publishers in more than 180 countries. Publishers pull your feed to build comparison pages, voucher sites and content. They earn commission on the sales they send.

Feed requirements. Awin accepts CSV, TSV or XML by URL or FTP. The legacy format needs product_id, price, product_name, description, deep_link and image_url. The newer enhanced feed follows the Google product data spec, item_group_id included. Advertisers can also push it through Awin’s API.

Common rejections. Duplicate product IDs and missing price, name or URL.

Magento gotchas. Publishers link to the deep_link you send. Use the canonical product URL for the right store view so affiliate clicks land on a page that ranks and tracks.

Feed management SaaS or a code-first feed

A feed management tool sits between Magento and the channels. DataFeedWatch is one example. It reads the catalog through its Magento 2 extension. It claims more than 2,000 channels. Marketers then map fields and write rules in a web interface.

That model suits a team without developers that feeds many channels. It fits worse when the store ships through Git, staging and CI. The mapping lives in a third-party account, outside code review and outside the release. Staging and production can drift apart without anyone noticing.

A code-first feed keeps the mapping in the Magento codebase. Feed changes go through a pull request and deploy with the store. Our Stable Shopping Feed extension works this way. It ships recipes for Google, Meta, Kaufland and Mirakl. Custom feeds cover channels like Awin.

Choosing where to start

Build the Google feed first. It forces clean identifiers, real variant attributes and a correct final price. Meta and Awin reuse most of that work. Add Kaufland once your simple products carry EANs and you know how many parent EANs you need. Pick a Mirakl marketplace by its audience, then map its catalog rules.

Need feeds that behave like the rest of your release? See the Stable Shopping Feed extension, or read how we connect Magento to marketplaces and other systems.

Frequently asked questions

Magento 2 product feeds

Which product feed channel should a Magento 2 store start with?

Start with Google Merchant Center. Its free listings and Shopping ads reach buyers in most countries, and its feed spec is the one other channels copy. Meta groups variants the same way and Awin's enhanced feed follows Google's spec. A clean Google feed does most of the work for all three. Add a marketplace such as Kaufland or a Mirakl-run marketplace once the catalog carries valid EANs.

Do configurable products need an EAN on Kaufland?

Kaufland identifies every product by its EAN-13. Its variant file links each child EAN to a parent EAN. In our integrations the configurable parent needed an EAN of its own. Only the physical products carry a barcode, so the parent uses up an extra GS1 number with no item behind it. Budget for that before listing a large catalog of configurable products.

Does the Mirakl Magento 2 connector import configurable products as variants?

The official Mirakl Marketplaces Connector for Magento 2 costs $10 a year on the Adobe Commerce Marketplace (September 2026). In our tests it did not send configurable products as variants. Our Stable Shopping Feed extension for Magento 2 exports them as variants. Each Mirakl marketplace groups variants with its own variant group code, so the feed has to set that code for every child product.

What does item_group_id do in a product feed?

item_group_id tells Google and Meta which feed rows are variants of one product. Every child of a Magento 2 configurable product gets the same value, usually the parent SKU. Each child keeps its own ID, GTIN, price and image. Google requires it for all variants in free listings.

Is a feed management tool like DataFeedWatch better than a Magento 2 feed extension?

A feed management tool suits a marketing team that edits mappings in a web interface and feeds many channels. A code-first Magento 2 feed suits a team that ships through Git and staging, because the mapping lives in the repository and deploys with the store. Large catalogs and strict release processes usually favour the code-first route.

Share