Skip to main content

Product feed requirements

Find out what feed standards we adopt and what the file requirements are.

Written by Klaudia Lewandowska

In this article, you’ll find which feed standards edrone accepts, what the file requirements are, and which product data the feed check reviews.

📌 Tip: if your store is connected to edrone through a one-click integration, you don’t need a product feed. Your products already sync through the integration.


​

Supported feed standards

  • Google Merchant Center (GMC)

  • IAI

  • CENEO

Below are examples of product feeds in these standards. Our recommended standard is GMC – on some platforms it’s called Google Shopping.


​

<rss version="2.0">
<title>My feed</title>
<link rel="self" href="www.my-shop.com"/>
<updated>2019-08-01T09:30:01Z</updated>
<author>
<name>myShop</name>
</author>
<id>/googleshopping.xml</id>
<channel>
<item>
<g:id>ABC2151</g:id>
<title>This is my product name</title>
<description>Very nice product</description>
<g:google_product_category>Another category</g:google_product_category>
<g:product_type>We > take > category from > here</g:product_type>
<g:brand>This is producer brand</g:brand>
<g:mpn>07920</g:mpn>
<g:gtin>7898920068216</g:gtin>
<link>https://www.my-shop.com/product-url-30ml/p?idsku=215196140</link>
<g:image_link>https://my-shop.com./image/ids/496848_2.jpg</g:image_link>
<g:price>49,90 USD</g:price>
<g:sale_price>39,90 USD</g:sale_price>
<g:sale_price_effective_date>2016-02-24T13:00-0800/2016-02-29T15:30-0800</g:sale_price_effective_date>
<g:availability_date>2016-11-25T13:00-0800</g:availability_date>
<g:expiration_date>2016-02-24</g:expiration_date>
<g:availability>in stock</g:availability>
<g:condition>new</g:condition>
<g:complementary_product_ids>DEF3151~GHI4151~JKL5151</g:complementary_product_ids>
</item>
...
<offers version="1">
<group name="other">
<o id="ISC6020000613" url="https://www.my-shop.com/product-url-30ml/p?idsku=215196140" price="39,02 PLN" weight="0.0300" stock="1" avail="1">
<cat>We/take/category from/here</cat>
<name>This is my product name</name>
<desc>What a lovely product</desc>
<imgs>
<main url="https://my-shop.com./image/ids/496848_2.jpg"/>
<i url="https://my-shop.com./another-image/ids/496848_2.jpg"/>
</imgs>
<attrs>
<a name="Producent">This is producer brand</a>
<a name="Kod_producenta">ISC6020000613</a>
<a name="Pojemnosc">30 ml</a>
<a name="namePl">Some other attribute</a>
<a name="sale_price">29,02 PLN</a>
<a name="sale_price_effective_date">2016-02-24T13:00-0800/2016-02-29T15:30-0800</a>
<a name="availability_date">2016-11-25T13:00-0800</a>
<a name="expiration_date">2016-02-24</a>
<a name="complementary_product_ids">ABC7020000613~DEF8020000613~GHI9020000613</a>
</attrs>
</o>
...
<offer file_format="IOF" version="3.0" generated_by="IdoSell Shop" generated="2019-08-01 11:01:19" expires="2019-08-02 11:01:19" extensions="yes">
<products language="pol" currency="PLN">
<product type="regular" id="7002" vat="23.0" producer_code_standard="GTIN12" code_on_card="FUND-001 / 375833-010" site="6" currency="PLN">
<producer id="24" name="Brand of product"/>
<category id="1236067664" name="We > take > category from > here"/>
<unit id="0" name="szt."/>
<card url="https://www.my-shop.com/product-url-30ml/p?idsku=215196140"/>
<description>
<name type="name" xml:lang="pol">This is product name</name>
<short_desc xml:lang="pol">What a lovely product</short_desc>
<long_desc xml:lang="pol">What a lovely product. What a lovely product. What a lovely product. </long_desc>
</description>
<iaiext:delivery_time unit="day" value="1"></iaiext:delivery_time>
<iaiext:visibility></iaiext:visibility>
<price gross="64.99" net="52.84"/>
<srp gross="0" net="0"/>
<strikethrough_retail_price gross="119.99" net="97.55"/>
<strikethrough_wholesale_price gross="119.99" net="97.55"/>
<iaiext:price_retail>
<iaiext:site id="6" size_id="0" gross="64.99" net="52.84"/>
</iaiext:price_retail>
<iaiext:price_wholesale>
<iaiext:site id="6" size_id="0" gross="64.99" net="52.84"/>
</iaiext:price_wholesale>
<iaiext:price_minimal>
<iaiext:site id="6" size_id="0" gross="0.01" net="0.01"/>
</iaiext:price_minimal>
<promotion name=""/>
<iaiext:hotspots></iaiext:hotspots>
<sizes></sizes>
<images>
<large>
<image url="https://my-shop.com./image/ids/496848_2.jpg" changed="2013-01-02 00:00:00" hash="2dbbdb78f4f5f42bb65d4ffa96f53501" width="800" height="800"/>
</large>
</images>
</product>
...

File requirements

  • The product feed must be an XML file provided as a link (URL), e.g. https://yourshop.com/gmc-feed.xml

  • The link must lead to the XML file itself – not to a settings page, a store page or the Google Merchant Center dashboard.

  • When you open the link in a browser, you should see XML code with the product list. The file must not require a login or a password.

  • The file encoding must be UTF-8.

  • Don’t block access to the file from certain locations (e.g. selected countries).

  • Supported Google Drive and Dropbox sharing links can be converted into direct download links.

  • If your store or hosting security blocks access to the file, the “Feed check” shows the problem and what to do. When allowing IP addresses actually helps, the list appears under “edrone IP addresses to allow”.

⚠️ Important: links to images and products must not contain spaces. If there are blanks, the system may not read the attribute value correctly.
Example of an incorrect link:
​<g:link> https://www.my-shop.com/product-url-30ml/p?idsku=215196140 </g:link>


​


Mandatory parameters in the file (example based on a GMC feed)

Mandatory regardless of the features you want to use in edrone (in the Ceneo and IAI standards, parameters may have different names):

  • id – product ID. In a GMC feed, the ID can also be taken from the item_group_id, gtin or mpn parameters. It must match the ID your store sends to edrone (see “Product ID” below).

  • link – product link

  • image_link – product image link

  • title – product name

  • price – price


​


Optional parameters in the file

The following attributes are optional, but they may matter if you plan to use certain edrone features:

  • product_type/product_category – product category (in a GMC feed, it can be taken from any parameter that contains the category);

  • sale_price – used in dynamic elements and MM frames;

  • quantity – stock quantity, needed for stock-based automations such as the Low stock products flow;

  • complementary_product_ids – optional when you use MM frames;

  • expiration_date – defines product availability within a certain period of time.

The category is optional, but we recommend including it. It’s used in features like:

  • dynamic elements Selected Products & Bestsellers;

  • categories in Custom Flows;

  • full category tree in the Cross-selling ready flow;

  • Marketing Machine (MM) recommendation frames;

  • filters in various features.


​


Product ID: it must match your store

The ID of each product in the feed must be the same ID your store sends to edrone (e.g. when someone views a product, adds it to the cart or places an order). If the IDs differ, updates miss the product or duplicates appear.

When the IDs don’t match, edrone looks for a matching rule – e.g. using another ID field, the SKU, or part of the identifier before or after a separator – and verifies it on your real store data before it can be applied. The rule only changes how edrone imports the feed; your original file stays unchanged.

In supported XML feeds, matching can also use additional ID fields – e.g. VTEX idProduto when the standard id field holds the SKU. This lets you reuse an existing export without renaming fields. Not every XML structure is supported.

⚠️ Important: in the “Match with your store” step, at least 80% of recently active products in your store must be found in the feed. If no rule reaches that level, change the ID in the feed to your store’s product ID or contact our support.

New stores can add a feed before they have any customer activity: the ID comparison happens once purchase, cart or product view data arrives.


​


What the feed check reviews in your product data

To see the results, click the account menu (bottom-left corner), go to “Your store” and open the “Product Feed” tab. In “Feed check”, edrone reviews your feed in 5 steps. Learn more in Product feed check.

In step 4, “Product data”, you see how many products have each problem, product examples and the practical impact. The check flags:

  • Missing or duplicate ID – with a duplicate ID, only one of the products is imported.

  • Missing name or link, or an invalid link.

  • Missing image – the product isn’t shown in newsletters, automations and recommendations.

  • Missing or invalid price – the product can’t be used in price-based messages and filters.

  • Missing availability – the product is treated as available and may appear in emails and recommendations even when sold out.

  • Missing category – the category is optional, but it’s used in category filters.

  • Missing stock quantity – products stay available, but stock-based automations (e.g. low stock alerts) don’t work.

  • Invalid values in product fields.

📌 Tip: this step checks the image addresses in the file. It doesn’t check whether the images can be downloaded or whether prices match your store.


​


Need more help?

If you have any further questions about the product feed, please do not hesitate to contact us at hello@edrone.me


Did this answer your question?