Export your products from your Magento website into csv, txt and xml data feeds for any shopping engine or market place! This extension includes all Google Shopping features and 19 sample templates.
Easily export your products' data to shopping engines with Data Feed Manager for Magento 2
Display your products on any marketplace and make the most of your data feeds thanks to Data Feed Manager for Magento 2.
Efficiently export your products catalog to shopping engines
File formats — Export your products data into any data feed type: CSV, TSV, TXT, and XML
Product types — Include all product types to your data feeds: simple, configurable, bundle... and custom types.
Multi-stores — Create multi-currencies and multi-VAT-rates data feeds for each one of your Magento stores.
Create a data feed in compliance with any shopping engines requirements
Templates — Start configuring your data feed very quickly using one of the 19 sample templates.
Library — While configuring your data feed, find any attribute you're looking for in the attributes library.
Preview — Preview your data feeds from the black box and use the syntactic helper to avoid any misprints.
Completely customize your data feed according to your products catalog
Pattern — Configure your patterns by adding any Magento 2 attributes.
PHP API — Add PHP scripts into your patterns.
Category filter — Filter your products according to the product and/or parent categories.
Filters — Create filters based on the attribute sets, product types, and visibility.
Advanced Filters — Define more personalized filters using advanced filters.
AND/OR statements — Use OR/AND statements in your advanced filters.
Automatically and regularly send your updated data feed to shopping engines
Cron tasks — Schedule tasks to periodically generate your data feed.
FTP upload — Upload your data feeds via FTP and use the FTP testing tool.
Generation details — Make sure all is well thanks to the generation status and details.
Easily find the Google categories that correspond to yours
Category Mapping — Easily and rapidly map each one of your categories to Google ones.
Search As You Type — Facilitate your category mapping with the Search As You Type option.
Content
How to use Data Feed Manager?
STEP 1: Configure Data Feed Manager in a general way
Before being able to configure your data feeds, you need to configure the extension in a general way. To do so, go to: Stores › Settings › Configuration › Wyomind › Data Feed Manager
Cron job reporting
In the Cron job reporting tab, you can activate the cron job reporting and fill in one or more email addresses to receive the reports. You have also the possibility to define a sender as well as to rename the reports as you want.
Core Settings
In the Core Settings tab, you'll need to configure a certain number of fields.
Items in preview By default, there are 10 items in preview, if you want you can reduce or increase that number.
Items in buffer By default, products are inserted into the file on the server every 10 items but you can reduce or increase that number.
Items in SQL request By default, there are 1500 items in each MySql query.
Number of advanced filters By default, you have 10 advanced filters. If you need more, you can at any time increase that value.
Use of OR/AND statements in advanced filters OR/AND statements can be used in the advanced filters simply by enabling that option.
Include not in menu categories You can also include the categories of products that are not in the menu.
Memory limit size (M) The default memory limit is 1024.
Use canonical urls You have the choice between several options. You can choose to use the shortest category URL, the longest one, or the product URL.
Enable log reporting You can also enable the log reporting.
Allow trans-domain import/export Allow import and export options.
Include disabled products You can choose to include disabled products in the data feed.
STEP 2: Configure your data feeds with Data Feed Manager
To create and configure your data feeds, go to: Products › Data Feed Manager › Data Feeds
Your data feeds will be listed according to IDs. For each data feed pattern, you will find the name of the file, its path as well as the link to the data feed file.
The status of your data feed can be:
Pending: the data feed has never been generated or the scheduled hour is passed (waiting for the execution from the cron task)
Success: successful generation of the data feed, manually or automatically (the generation corresponds with a schedule)
Hold: in the process of generation (latency, indeterminate status)
Processing: generation progression percentage
Error: the generation is stopped
In the grid, you should find the date and the hour of the last time the data feed has been generated as well as the store view for which it has been saved.
From the Action dropdown, you'll be able to:
Edit
Generate
Preview (10 products)
Delete
The Tool Box
The Data Feed Manager extension includes a tool to help you create your feed and see what is wrong. When creating a data feed, you should see 2 buttons on the right of your screen.
The toolbox is inevitably very useful. This will help you to configure your data feed more quickly.
Below are the different options for the toolbox.
Preview
When clicking on Preview, you'll see a preview of your data feed. It's very useful to see if the values of your attributes are correctly retrieved and if your filters are working as expected.
Library
If you click on that button, a library of your store attributes will be displayed. This makes it easier to find very quickly which attribute you need to add to your pattern.
Export and import your data feed templates
Data Feed Manager also allows you to import and export patterns into and from your Magento 2 admin.
Export
To export a data feed pattern, edit an existing feed from: Products › Data Feed Manager › Data Feeds
Once the data feed configuration page is loaded, you will be able to click on Export.
A popup window opens and allows you to save the data feed pattern as a .dfm file (specific to Data Feed Manager). After that, you should find the data feed pattern in your Downloads folder.
Import
Before anything, to import a data feed pattern, it must be a .dfm file, which is specific to the Data Feed Manager extension.
Click on Import a data feed from:
Products › Data Feed Manager › Data Feeds
Browse the .dfm file and click on Import data feed.
The data feed pattern should have been added to the list of feeds.
Configuration
To create your own data feed, click on Create new data feed from:
Products › Data Feed Manager › Data Feeds
In that first tab is the main configuration of the data feed. To customize your data feed, you'll find several fields to fill in.
Name Enter a name for the file.
File Type Choose the format of your file between XML, CSV, TXT, and TSV.
File name format You have several format possibilities for your file name.
GoogleShopping-2015-01-26.xml
Encoding type Choose the encoding type of the data feed.
Path Define the path where you want the data feed to be generated.
/feeds/
Status Enable or disable the file.
Store View Define which store view is concerned. Note that you can also export the attributes default values.
The configuration of the data feed will vary depending on the File Type you've chosen.
XML FILES
Enclose xml tag content inside CDATA (recommended) Enclose XML tags inside CDATA or not.
Remove all empty xml tags (recommended) Remove empty XML tags or not.
Header pattern Add your header pattern in that field.
Product Pattern This is probably the most important field as this is where you will configure your pattern.
Footer pattern Here is the footer pattern.
CSV, TXT, TSV FILES
Extra header It will add whatever you write on the top of your file (fit in with Amazon requirements).
Include header Allows you to include or not columns names in the first row of your file.
Columns name Is for the attribute name (you need to look in the shopping engine specifications to know which names are required).
Pattern Works in the same way as XML files. For example, {{product.url}} will return the product's URL. You can also add any static value.
Insert a new field Click on it to add a new column to your pattern. The fields order can be easily reordered by using the up and down arrows.
Extra footer You can add an extra footer in that field.
Fields delimiter Lets you choose which kind of delimiter you want to use to separate your fields.
Fields enclosure Lets you choose which kind of enclosure you want for your data.
Escape character Define the escape character between or ".
Categories filter
You can filter your categories according to two different ways:
Exclude all products from the selected categories.
Include all products from the selected categories.
You also have different possibilities to filter your categories. You can include or exclude your categories depending on:
Parent categories only In the case where you have a configurable product with simple variants associated. The configurable has a category assigned but not the variants.
Product categories only If you have categories assigned to simple variants but not to the configurable product.
Product and parent categories In the case where you have both situations.
Category selection and mapping
In that subtab, you can select and map your categories to the ones of the marketplaces. This step is very important so that they can make a link between their product categories and yours.
With Data Feed Manager, you have the possibility to change the file on which the category mapping is based.
Taxonomy files for the main countries are directly included to allow you to map your categories more easily. You can also have a look at our documentation to know how to add a new taxonomy file and how to map your categories.
What is a category mapping?
Categories names you are using in your Magento 2 back-office aren't always the same than the ones used by the marketplaces to reference your products.
This means you have to find out which categories have the best matching with yours, according to the their product taxonomy.
For example, if you're selling furniture like coffee tables, you'll certainly have a Coffee table category in your Magento 2 back-office.
But Google Merchant doesn't handle this kind of category. The closest Google product category would be Kitchen & Dining Room Table. So this should appear this way in your data feed:
How to map your categories with Data Feed Manager?
Data Feed Manager provides you an easy way to input Google product categories matching yours.
In your data feed configuration, go to the Categories tab. Then, in the Category selection and mapping section, you'll find a tree view of all your categories.
For each category, you have a little arrow followed by mapped as.
There, you'll be able to start typing a keyword in order to display a list of all categories including that keyword. You simply need to select the one you need.
Once all your categories are mapped, you can click on the Save button.
Here are a few guidelines for choosing the most appropriate category:
Use the category that best describes your item. To do this, first determine the primary function of the products you are submitting. For specific items like MP3 Players, select the MP3 Players category. While some MP3 players can also serve different functions, like those that contain a clock, they are primarily MP3 Players.
Use only one category. For some products, more than one category might be relevant. For example, an adapter to allow an MP3 player to be used in a car could be in both categories Motor Vehicles > Audio & Video and Electronics > Audio > Audio Accessories > MP3 Player Accessories. In such cases, choose the category that seems the most appropriate to you, but don't include more than one.
Use the most specific category possible. Being specific will help improve your data quality and in turn ensure that offers are presented in the right category. When viewing the taxonomy, try to navigate to the most specific category that still covers all the products being submitted. For instance, if you are submitting MP3 player chargers use the category MP3 Player Chargers. Conversely, if you are submitting multiple types of chargers use the category Chargers.
How to include the category to the XML template?
Finally, so that the category is retrieved in your data feed, you must add the following attribute to the XML template:
How to add a new taxonomy file in Data Feed Manager?
The product taxonomy is a tree of categories that will help you generate values for your own categories.
You can easily add a taxonomy file with Data Feed Manager.
For Google Shopping, choose the language you want to use for your taxonomy at the bottom right of that page. Then, in the Downloadable taxonomy, open the Plain Text link that contains full category names.
Save that file and paste it in:
Magento 2 Root Directory › lib › Wyomind
Don't forget to apply the permissions 644 to the file.
You'll then be able to choose that specific taxonomy from your data feed configuration.
Filters
Data Feed Manager allows you to filter your products on several levels.
Product Type
First of all, you can choose to include products to your feed according to their type. For example, only include simple, virtual, and downloadable products.
Attribute Set
You have the choice to include products from one or several attribute sets.
Product Visibility
Then, choose the products that will be included in the feed between the products that are not visible individually, products from the Catalog, the Search results, or both.
Advanced Filters
In the Advanced filters, you can go further by setting more personalized filters.
For example, we wanted to include only products which price is higher than 0, and which SKU is not null.
Here again, you have the possibility to define advanced filters according to several options such as =, >, < or even more as shown below.
LIKE / NOT LIKE
name like %shirt: will include all products which name ends with 'shirt'. name like Apple%: will include all products which name starts with 'Apple'. name like %women%: will include all products which name contains the 'women' character string name not like %shirt: won't include any product which name ends with 'shirt'. name not like Apple%: won't include any product which name starts with 'Apple'. name not like %women%: won't include any product which name contains the 'women' character string.
IS NULL / IS NOT NULL
Special price is null: will include all products that don't have special prices. SKU is not null: will include all products which SKU is not null.
IN / NOT IN
Size in S L: will include only products from these 2 sizes. Size not in S L: will include all products which size is not S or L.
Cron schedule
Data Feed Manager for Magento 2 provides you with a fully configurable schedule in the Cron Schedule tab of each data feed configuration.
You simply have to tick the days and hours when you want your data feed to be generated.
If you're facing some difficulties with scheduled tasks, or if you think your data feed is not automatically generated, have a look to our faq on that subject.
FTP settings
With Data Feed Manager for Magento 2, you can specify FTP settings to upload your data feeds. In the FTP settings tab of your data feed, you'll have several fields to configure:
Enable FTP upload Select Yes if you want to upload your data feed using FTP
Use SFTP Select Yes if you are using SFTP
Use Active mode If you are using SFTP, you don't have to care about the passive/active mode
Host In that field, fill in the host.
ftp.wyomind.com
Port Fill in the port.
22
Login Is your login to connect to the server
Password Is your password to connect to the server
Destination directory Is a relative path from the entry directory when you connect to the FTP.
upload/ or /
In order to be sure your settings are correct, you can click on Test Connection.
If you don't have an error message, it means the connection succeeded.
If you have an error message, you'll certainly have to check your credentials.
In the case where you don't get any error message while testing the connection, you'll need to check that the file is well uploaded.
STEP 3: Generate and download the data feeds
Generate the data feeds
With Data Feed Manager, you have the possibility to generate your data feed manually or automatically.
Manually
You can generate your data feeds manually in the grid from the action dropdown.
You can also do it from the configuration panel by clicking on Generate.
With the cron tasks
In order to automatically generate the data feeds through the cron tasks, you must first make sure that the main cron task is enabled on your server.
If not, you should see a warning message in Data Feed Manager.
You must have selected a least one day and one-time frame from the Scheduled tasks tab of each data feed that must be updated.
With the command lines
You can also use the Command Line Interface to generate the data feeds.
To generate all the data feeds:
bin/magento wyomind:datafeedmanager:generate
To generate one data feed from a given id:
bin/magento wyomind:datafeedmanager:generate int DATA_FEED_ID
To generate several data feeds from a given list of ids:
bin/magento wyomind:datafeedmanager:generate int DATA_FEED_ID [, int DATA_FEED_ID] [, int DATA_FEED_ID]...
To list all data feeds including status, name, last update:
bin/magento wyomind:datafeedmanager:list
Download the data feeds
When a data feed is ready to be downloaded, the link is displayed in both, the data feed grid and the data feed page at the top of the page. To download the data feed, right-click on the link and select Save link as. You can also find the file in your ftp client if the directory where the data feed is stored is not publicly accessible.
Manage your data feed templates with Data Feed Manager
10 Things to know when creating an XML data feed with Data Feed Manager
All the XML data feeds used by shopping engines, like the one used by Google Shopping, are really simple to build but often have their own specifications.
Simple Google Shopping and Data Feed Manager for Magento 2 provide one or more ready-to-configure patterns. These patterns will allow you to quickly build a valid and well-structured data feed.
An XML data feed is using opening and closing tags that include a value.
<tag>value</tag>
A data feed template is made up of several tags that include dynamic or fixed values.
Dynamic values are called variables and use the attribute codes of your Magento website preceded with the object. The variable must be enclosed using double brackets as {{object.attribute}}.
Between every opening and closing tags, you can also include some fixed values. Fixed values are simply text.
<g:brand>YOUR BRAND</g:brand>
You have also the possibility to add several variables and fixed values in the same tag.
<title>{{parent.name}}, available in {{product.color}} for only ${{product.price}}</title>
Some Magento 2 attributes like price, image or url may have further configuration options or parameters that will correspond to your specific data feed needs. For example:
The syntactic coloration in Data Feed Manager will also help you to avoid many errors in your pattern as in the example below.
You can use one or more fallback variables in case of the previous is empty or null. If attributeA exists then the value will be attributeA, otherwise, the value will be attributeB, etc...
{{product.color | product.colour}}
CDATA is recommended. CDATA stands for Character Data. It means that the data in between these tags include data that could be interpreted as XML markup, but should not be. (Wikipedia article)
<description><![CDATA[<p>Fantastic <b>Watch</b>, that not only tells you what time it is,but also gives the weather trends</p>]]></description>
10 Things to know when creating a CSV/TXT data feed with Data Feed Manager
Data Feed Manager allows you to generate CSV/TXT files in addition to XML files. This particular file format can be used for some shopping engines like Amazon, Shopzilla, Twenga, etc.
Data Feed Manager for Magento 2 provides you all you need to create any specific CSV/TXT file that you want.
Each shopping engine has its own requirements and column names. Some require fields enclosure, others need specific delimiters.
You may need to add a special header to your file (for Amazon data feeds for example).
A CSV file consists of any number of records. Each record consists of fields that are separated by other characters or strings. There is one row per record (so, one per product). Below is an example of CSV file content:
You need to define delimiters to separate your fields ( ';' ',' '|' ' ab' or '[|]' for example) and enclosures for your data (" or ').
You can enter the attribute names in each Column name fields (check the shopping engine specifications to know which names are required). For example:
You can include in each Pattern field one or several Magento 2 attributes. An attribute is specified by its attribute code and must be enclosed using double brackets and preceded by an object. For example, to return the product SKU, you should use:
{{product.sku}}
You can also include some fixed values. Fixed values are simply text. For example, instead of {{product.manufacturer}} to retrieve the brand for each product, you could use directly:
YOUR BRAND
You have also the possibility to add several attributes and fixed values in the same field. For example, instead of {{product.url}}, you could use:
{{product.url}}?_campaign=google&_adwords=test123
You can use one or more fallback variables in case of the previous is empty or null. If attributeA exists then the value will be attributeA, otherwise, the value will be attributeB, etc...
{{product.color | product.colour}}
You're allowed to use PHP code if you want to customize the pattern. You just have to write your PHP code in one single line, and it will work perfectly (check how to add PHP scripts into your patterns).
You can add a field by using the button Insert a new field. The fields order can be easily reordered by using the up and down arrows.
You can Preview your data feed to avoid any error in your pattern.
How is a variable structured?
To modify your pattern as you want, before anything you need to respect a particular syntax. Indeed, in order to retrieve attributes, the Data Feed Manager extension uses a specific structure. Then it is essential that you know how the variable is built to be able to configure your data feed according to your needs.
The above screen details the different components of a variable.
object Defines what is the target for the attribute to retrieve. It can be a simple product, a parent, configurable, bundle, or grouped one.
attribute Defines the code of the attribute to retrieve. For example, the price, the URL...
parameters Defines some additional parameters for specific attributes such as the currency or the VAT rate.
value Defines the different values available for the previous parameter.
Attribute specifications
The data feed pattern is totally customizable.
OBJECTS
In order to retrieve the value of an attribute, you need to define which object is targeted. Below are the different types of objects that you can use.
{{product.attribute_code}}
Retrieves the attribute for the product.
For example:
{{product.sku}}
{{product.color}}
{{parent.attribute_code}}
Retrieves the parent attribute value.
The parent value is retrieved only if the simple (item) product is associated with a parent product, if not, nothing is retrieved.
The parent product may be a configurable, a grouped, or a bundle product. The first parent product that matches the simple product is used to get the attribute value.
For example:
{{parent.product_type}}
{{parent.brand}}
{{configurable.attribute_code}}
Retrieves the first configurable parent attribute value.
The configurable product value is retrieved only if the simple product is associated with a configurable product, if not, nothing is retrieved.
For example:
{{configurable.image_link}}
{{configurable.url}}
{{grouped.attribute_code}}
Retrieves the first grouped parent attribute value.
The grouped product value is retrieved only if the simple product is associated with a grouped product, if not, nothing is retrieved.
For example:
{{grouped.google_product_category}}
{{grouped.url}}
{{bundle.attribute_code}}
Retrieves the first bundle parent attribute value.
The bundle product value is retrieved only if the simple product is associated with a bundle product, if not, nothing is retrieved.
For example:
{{bundle.sale_price}}
{{bundle.price}}
PRODUCT IDENTIFIERS
You'll find below the attributes the most commonly used to identify the products in data feeds patterns.
{{object.id}}
Retrieves the id of the product.
For example:
{{product.id}}
{{object.sku}}
Retrieves the sku of the product.
For example:
{{product.sku}}
{{object.brand}}
Retrieves the brand of the product.
For example:
{{product.brand}}
Attention, this attribute is an example and can differ according to the configuration of your Magento 2 store.
{{object.manufacturer}}
Retrieves the brand of the product.
For example:
{{product.manufacturer}}
BASIC INFORMATION
You'll find below the attributes that are generally used to define basic information of products in the data feeds.
{{object.inc}}
Retrieves an auto-incremented value, starting at 1.
For example:
{{product.inc}}
{{object.name}}
Retrieves the name of the product.
For example:
{{product.name}}
{{object.description}}
Retrieves the description of the product.
For example:
{{product.description}}
{{object.short_description}}
Retrieves the short description of the product.
For example:
{{product.short_description}}
{{object.condition}}
Retrieves the condition of the product.
For example:
{{product.condition}}
{{object.weight}}
Retrieves the weight of the product.
For example:
{{product.weight}}
{{object.type_id}}
Retrieves the type of the product.
For example:
{{product.type_id}}
{{object.children}}
Retrieves the children of the product.
For example:
{{product.children}}
You also have the possibility to use some parameters with this attribute:
separator = can be comma, pipe or semi-colon (by default: comma)
Below is a list of the price attributes that you can use in your feed pattern. For most of them, you can add some parameters in order to define the currency used or the VAT to apply for example.
{{object.price}}
Retrieves the best price among all the prices defined.
If prices are exclusive of VAT and the product is liable to a unique VAT rate, the price retrieved will include this rate. Otherwise, the price exclusive of tax is retrieved.
For example:
{{product.price}}
You also have the possibility to use some parameters with this attribute:
currency = automatically converts the original product price to a specified currency. It uses an exchange rate that you have already stored in your admin panel. By default, your local currency is used.
vat_rate = is a floating value between 0.00 and 100.00 that represents an arbitrary VAT rate to apply. This parameter rewrites the VAT rule for the product except if the product doesn't have any tax class.
Here are some examples:
To convert the prices to EUR and apply a 20% VAT rate:
{{product.price currency=EUR vat_rate=20}}
To convert the prices to USD and not apply any VAT rate:
{{product.price currency=USD vat_rate=0}}
If the prices of your catalog are already including VAT:
{{product.price currency=USD}}
To use an ISO2 code corresponding to one of the countries for which you specified a VAT rate in your tax settings:
{{product.price currency=EUR vat_rate=FR}}
This code may also be completed by an area code:
{{product.price currency=USD vat_rate=US/NY}}
To deduce the VAT corresponding to a country/area:
{{product.price currency=GBP vat_rate=-GB}}
To retrieve prices including different price values for simple products associated to a configurable one:
{{parent.price currency=EUR vat_rate=20}}
{{object.normal_price}}
Retrieves the base price and ignores any other existing price value.
For example:
{{product.normal_price}}
{{object.base_price}}
Retrieves the base price as defined in the database in the price index table.
For example:
{{product.base_price}}
{{object.special_price}}
Retrieves the special price if exists. If this price doesn't exist the value is null.
For example:
{{product.special_price}}
{{object.price_rules}}
Retrieves the price including the catalog price rules if indicated, if not, nothing is retrieved.
If prices are exclusive of VAT and the product is liable to a unique VAT rate, the price retrieved will include this rate. Otherwise, the price exclusive of tax is retrieved.
For example:
{{product.price_rules}}
{{object.sale_price}}
Retrieves the best promotional between price rules and special prices).
For example:
{{product.sale_price}}
{{object.sale_price_effective_date}}
Retrieves the sale price effective date as 2011-03-01T13:00-0800/2011-03-11T15:30-0800. If no date is defined or if the dates defined don't match with the current date, the value is null.
For example:
{{product.sale_price_effective_date}}
{{object.has_special_price}}
Retrieves either 1 if a special price exists or 0 if not.
You also have the possibility to use some parameters with this attribute:
yes = value to retrieve if a special price exists. By default 1.
no = value to retrieve if no special price exists. By default 0.
For example:
{{product.has_special_price yes="Special price" no="No special price"}}
{{object.has_sale_price}}
Retrieves either 1 if a promotional price exists or 0 if not.
You also have the possibility to use some parameters with this attribute:
yes = value to retrieve if a promotional price exists. By default 1.
no = value to retrieve if no promotional price exists. By default 0.
For example:
{{product.has_sale_price yes="Sale price" no="No sale price"}}
{{object.tier_price}}
Retrieves the tier price if exists. If this price doesn't exist the value is null.
For example:
{{product.tier_price}}
You also have the possibility to use some parameters with this attribute:
customer_group_id = id of the customer group for which the tier price is valid (Check in Stores › Other Settings › Customer Groups).
index = index of the Tier Price you want to retrieve.
vat_rate = is a floating value between 0.00 and 100.00 that represents an arbitrary VAT rate to apply. This parameter rewrites the VAT rule for the product except if the product doesn't have any tax class.
currency = automatically converts the original product price to a specified currency. It uses an exchange rate that you have already stored in your admin panel. By default, your local currency is used.
Retrieves the quantity defined for the tier price if exists. Otherwise, the value is null.
For example:
{{product.tier_price_qty}}
You also have the possibility to use some parameters with this attribute:
customer_group_id = id of the customer group for which the tier price is valid (Check in Stores › Other Settings › Customer Groups).
index = index of the Tier Price you want to retrieve.
vat_rate = is a floating value between 0.00 and 100.00 that represents an arbitrary VAT rate to apply. This parameter rewrites the VAT rule for the product except if the product doesn't have any tax class.
currency = automatically converts the original product price to a specified currency. It uses an exchange rate that you have already stored in your admin panel. By default, your local currency is used.
This attribute is used for configurable, bundle, or grouped products.
If prices are exclusive of VAT and the product is liable to a unique VAT rate, the price retrieved will include this rate. Otherwise, the price exclusive of tax is retrieved.
For example:
{{product.min_price}}
{{object.max_price}}
Retrieves the maximum price.
This attribute is used for configurable, bundle or grouped products.
If prices are exclusive of VAT and the product is liable to a unique VAT rate, the price retrieved will include this rate. Otherwise, the price exclusive of tax is retrieved.
For example:
{{product.max_price}}
{{object.promotion_id}}
Retrieves the product promotion id if it exists and if the Google Merchant Promotions extension is installed.
For example:
{{product.promotion_id}}
{{object.catalog_rule_id}}
Retrieves the first catalog price rule id applied to the product if it exists
For example:
{{product.catalog_rule_id}}
{{object.tax_class}}
Retrieves the product tax class if it exists.
For example:
{{product.tax_class}}
LINKS
Below are listed the attributes that are generally used to retrieve any kind of link.
{{product.url_config}}
Retrieves URL to pre-select the simple product attributes from its configurable.
You also have the possibility to use some parameters with this attribute:
currency=XXX = This will add ?currency=XXX to the generated URL. The access to the generated URL will switch the product page to the corresponding currency
You also have the possibility to use a parameter with this attribute:
currency=XXX = This will add ?currency=XXX to the generated URL. The access to the generated URL will switch the product page to the corresponding currency
To retrieve the categories of your products, you can check the below attributes.
{{object.categories}}
Display the category paths in which the product may be found.
All category paths are listed under the categories attribute from the shortest to the longest path as in the below example:
Default Category
Default Category › Sales
Default Category › Clothes
Default Category › Clothes › Men
Default Category › Clothes › Men › Pants
Default Category › Sales › Spring and Summer Sales
In order to display a specific category path you have the possibility to use some parameters with this attribute:
nth: display the nth category path, if not specified the 1st category is used by default. Negative values are allowed.
from: display a category path starting from the nth category level, if not specified the 1st category level is used by default. Negative values are allowed.
length: display a category path limited to the given number of category levels, if not specified the whole path is displayed by default.
separator: the character used to separate each category level.
url: replace the categories names by their URLs
For example:
{{product.categories nth="1"}}
Shows the first category Default Category
{{product.categories nth="-1"}}
Shows the last category path: Default Category › Sales › Spring and Summer Sales
{{product.categories nth="3" separator="-"}}
Shows the 3th category path and change the category levels separator to "-": DEFAULT CATEGORY - CLOTHES
{{product.categories nth="-2"}}
Shows the before last category path: Default CategorY › Clothes › Men › Pants
{{product.categories nth="-2" from="2"}}
Shows the before last category path from the 2nd category level: Clothes › Men › Pants
{{product.categories nth="-1" from="-1"}}
Shows the last category path from the last category level: Spring and Summer Sales
Retrieves any new category that you have assigned (in the Categories tab) to the item’s own product category. If no mapping is assigned to the first category found, the second category will be used etc…
You also have the possibility to use some parameters with this attribute:
Retrieves either 1 if the product is enabled or 2 if the product is disabled.
For example:
{{product.status}}
{{object.qty}}
Retrieves the available quantity.
The quantity retrieved for configurable products is based on the sum of simple products.
You also have the possibility to use some parameters with this attribute:
float = is the number of decimals.
stock_id = id of the stock for which you want to retrieve the quantity. The sum of the quantities of the sources associated with the stock is retrieved (Magento Multi Stock Inventory module).
By default, the value of the default stock is retrieved.
source_code = code of the source for which you want to retrieve the available quantity. By default, the value of the default source is retrieved.
For example:
{{product.qty float=1 stock_id="1"}}
{{product.qty float=2 source_code="store_1"}}
{{object.availability}}
Retrieves either "in stock" if the product is in stock, "out of stock" if the product is out of stock, or "available for order" if the product is backordered.
You also have the possibility to use some parameters with this attribute:
in_stock = value to retrieve if the product is in stock.
out_of_stock = value to retrieve if the product is out of stock.
backorderable = value to retrieve if the product is backorderable.
stock_id = id of the stock for which you want to retrieve the availability (Magento Multi Stock Inventory module). By default, the value of the default stock is retrieved.
source_code = code of the source for which you want to retrieve the availability. By default, the value of the default source is retrieved.
For example:
{{product.availability stock_id="2" in_stock="Currently in stock" out_of_stock="Out of stock" backorderable="Available for order"}}
{{product.availability source_code="store_1" in_stock="In Stock" out_of_stock="No more Stock" backorderable="Can be ordered"}}
{{object.is_in_stock}}
Retrieves the stock status "in stock" or "out of stock".
You also have the possibility to use a parameter with this attribute:
stock_id = id of the stock for which you want to retrieve the status (Magento Multi Stock Inventory module). By default, the value of the default stock is retrieved.
source_code = code of the source for which you want to retrieve the status. By default, the value of the default source is retrieved.
For example:
{{product.is_in_stock stock_id="1"}}
{{product.is_in_stock source_code="store_1"}}
REVIEWS
You can also retrieve information on your products reviews using the following attributes.
{{object.review_count}}
Retrieves the number of reviews for the product.
You also have the possibility to use some parameters with this attribute:
store_id = id of the store view
For example:
{{product.review_count store_id=1}}
{{object.review_average}}
Retrieves the average score of all the product's reviews.
You also have the possibility to use some parameters with this attribute:
In the case where you're using product variations (color, size, or gender) then you can use the following attributes. Attention, these attributes are examples and can differ according to the configuration of your Magento 2 store.
{{object.relation_ship}}
Retrieves all the attribute names for which the configurable product has simple ones defined.
For example:
{{product.relation_ship}}
{{object.gender}}
Retrieves the gender of the product.
For example:
{{product.gender}}
{{object.age_group}}
Retrieves the age group of the product.
For example:
{{product.age_group}}
{{object.color}}
Retrieves the color of the product.
For example:
{{product.color}}
{{object.size}}
Retrieves the size of the product.
For example:
{{product.size}}
{{object.material}}
Retrieves the material of the product.
For example:
{{product.material}}
{{object.pattern}}
Retrieves the pattern of the product.
For example:
{{product.pattern}}
GENERAL PARAMETERS
Below are listed all the parameters that you can use with any attribute in your data feeds.
{{object.attribute prefix="value"}}
The prefix is what will be displayed before the attribute value only if it is not null, otherwise, nothing is retrieved.
Below are some examples:
To add the currency symbol before the price and not retrieve anything when the value of the attribute is null:
To add the weight unit after the attribute value and not retrieve anything when that value is null:
{{product.weight suffix=" LBS"}}
{{object.attribute as="myVariable"}}
The as parameter allows you to store the value of a given attribute into a variable for a later use in one of your PHP script or in a condition (see if parameter). Notice, the attribute call even if it uses the as parameter will produce an output in the data feed expect if you add the output attribute with the value null (see output parameter)
Here are a few examples:
Display the product name and store the value in a variable $name:
<!-- Product name is displayed and stored under a new variable "name" --><name>{{product.name as="name"}}</name>
$name can be thenused in a PHP script latter in the template
<?php /* If variable $name is equal to "Apple", then display "Apple" then display "Banana"*/if($name=="Apple") return $name;else return "Banana";?>
Store the visibility of a product and use it in a condition for another attribute
<!-- Product visibility is stored under a new variable "visibility" and the attribute doesn't display -->{{product.visibility as="visibility" output="null"}}<!-- If the product is not visible individually (1) then we display the parent product url, otherwise we use the product url--><url>{{parent.url if="visibility==1" | product.url}}</url>
{{object.attribute if="condition"}}
The if parameter allows you to define one or more necessary conditions to display the given attribute in the data feed.
One condition is built with 3 items :
the variable to check : a product attribute a variable previously stores thanks to the as parameter(see as parameter)
the comparison statement == equal <= lower or equal to => hieght or equal to < lower than > higher than != different from
the value
Example:
<!-- Product description will be displayed only if product brand is equal to "Apple" --><name>{{product.description if="product.brand==Apple"}}</name>
<!-- Product weight will be displayed only if the product is not virtual AND not downloadable--><weight>{{product.weight if="product.type_id!=virtual" if="product.type_id!=downlodable"}}</weight>
You must refer to the attribute by using the $self variable as the function's parameter.
Example :
<!-- Get the product name with the first letter of each word in uppercase --><name>{{product.name output="ucwords($self)"}}</name>
If you want to use several functions, those must be imbricated as you do for with PHP:
Example :
<!-- Remove all html tags from the description and limit the description to the first 100 characters --><name>{{product.description output="substr(strip_tags($self),100"}}</name>
You can also use null to display an empty string or you can use any string to display a specific message:
Example :
<!-- If product price is lower than $10 then display "Free Shipping"--><shipping_cost>{{product.price if="product.price<10" output="'Free Shipping'"}}</shipping_cost>
The output parameter allows you to define the output format for a given attribute.
{{object.attribute php="functions"}}
The php parameter acts exactly as the outputparameter.
BASIC FUNCTIONS
You can use any of the native php functions as well as all of the following ones with the default attributes that are defined in your Magento 2 back-office and also any attribute you have defined for your products (eg: name, description, short_description, weight, size, color…) apart from those which generate XML.
The syntax to use in order to include php functions in the variables is:
The improved functions are used in the same way as the basic php functions but offer more possibilities. They are a rewrite of the native php functions but have been improved for a specific use of the Data Feed Manager extension.
With Data Feed Manager you can use PHP scripts in different ways to fully customize and control the data feed output.
Inline PHP scripts Scripts that are added directly to the data feed template surrounded by PHP tags (<?php ... ?>)
Custom attributes Scripts that can be called by using the custom attribute name just like you do for any attribute in your data feed template.
Custom functions Functions that can be called by using the function name and additional parameters and that can be applied to any attribute in your data feed template.
API coding standards
The Data Feed Manager PHP API uses the exact same syntax and standards as any PHP coding.
Attribute calls
For performance reasons, Data Feed Manager only loads in the collection of products the attributes that are explicitly required in the data feed template. This means that only the attributes that are called using the template placeholders, {{scope.attribute_code}}, will be added to the collection of products.
As a consequence, when you try to access the value of an attribute from the $product object, you must be sure that the attribute has been added to the collection. Most of the time when the returned value is null for a given attribute, it means the attribute is not loaded in the collection of products.
The best way to be sure that all the attributes you need are well loaded in the collection, is to add at the beginning of your template a simple script that lists all the attributes required.
<?php /* list of required attributes * {{product.attribute_1}} {{product.attribute_2}} {{product.attribute_3}} {{product.attribute_4}}...*/?>
Then you should be able to get the values of these attributes in your PHP script:
Return Any value that you want to output in your data feed, must be returned with the return instruction.
<?php return "Don't miss! ".$product->getTitle();?>/* This script adds for each product in data feed a new output line * Don't miss! Iphone 5* Don't miss! Galaxy note 7* ... */
Variables scope
All variables available in PHP scripts have a local scope, this means they can't be shared between several scripts.
If you wish to share a variable with different scripts all along the data feed generation process, then the variable must be set as a global variable.
<?php global $increment;$increment++;return $increment;/* This script will output a incremental $variable* 1* 2* 3* ...*/?>
API Objects, Variables and Methods
Object $product
$product is an instance of Mage_Catalog_Model_Product. It contains all methods available by default and some other specific to Data Feed Manager.
The list below includes the main methods available to use:
$product->getCategoriesArray() Retrieves an array of arrays that describes the categories to which belongs the products
$product->getCategoryIds() Lists all category ids in which the product may be found
$product->getVisibility() Returns the visibility of the product (1 = not visible individually, 2 = catalog, 3 = search, 4 = catalog and search)
$product->getStatus() Returns the status of the product(1 = enabled, 2 = disabled)
$product->getData($attributeCode) Returns the value of the given attribute code
$product->getAttributeText($attributeCode) Returns the textual value of the given attribute code
Object $this
$this is an instance of Wyomind_datafeedmanager_Model_Feed.
It provides a few useful methods:
$this->hasParent($product, $type="parent") Returns a Boolean value whether a product has a parent from the give type (parent, configurable, grouped, bundle) or not
$this->getParent($product, $type="parent", $strict=false) Returns a product object of the given parent type (parent, configurable, grouped, bundle) if available or the product object passed as 1st parameter when $strict parameter is set on false.
$this->skip() Skips the current product, useful to filter out some products based on specific condition
String | Integer | Boolean | Array in variable $self
$self is the value of the attribute for the current product.
This variable is only available for custom attributes and functions.
Custom variables use
Data Feed Manager allows you to create your own variables and to add them to your data feed.
Create a custom variable
To create custom variables from your Magento admin, go to : products › Data Feed Manager › Custom variables
Some templates of use are loaded by default when installing the extension.
Here is how to proceed:
Create a new variable by clicking on "add new".
Enter the name of your new custom variable and add a comment and PHP script.
Add the new custom variable into your data feed template, in: Products › Data Feed Manager › Data Feeds
Data Feed Manager also allows you to create custom functions.
Create a custom function
To create your own functions, go to: products › Data Feed Manager › Custom functions
Here is how to proceed:
Create a new option by clicking on "add new"
Add PHP script for your new custom function
Add the new custom function into your data feed template in: PRODUCTS › Data Feed Manager › Data Feeds › configuration
Examples of custom functions
Pad an attribute to a certain length with another string:
<?php/** {{product.ean output="str_pad_custom($self,10,0)"}} * when ean is 12345, then the output is 0000012345 */return str_pad($self,$pad_length,$pad_string,STR_PAD_LEFT);/** could also be used as a inline function* {{product.ean output="str_pad($self,10,0,STR_PAD_LEFT)"}}*/?>
Format a number:
<?php /** {{product.price output="number_format_customl($self,2,',')"}} *when price is 9.99345, then the output is 9,99 */return number_format($self,$decimal,$decimal_separator,' ');/** could also be used as a inline function *{{product.ean output="number_format($self,2,',',' ')"}}*/?>
FAQ
Pre-sales informations
Magento versions supported by Data Feed Manager
This extension works with Magento Community Edition and also Magento Enterprise Edition. To know if Data Feed Manager is compatible with your Magento version, please check the Compatibility tab.
Magento Open Source vs Magento Commerce vs Magento Commerce Cloud
Magento offers three variations of its product.
As their names have changed over the past few years, here is a recap:
Magento Open Source: previously Magento Community Edition (CE), is a free and non-hosted e-commerce platform.
Magento Commerce: previously Magento Enterprise (EE), is the paid version of Magento and offers support services.
Magento Commerce Cloud: is the paid version of Magento and offers support and hosting services.
Simple Google Shopping Vs Data Feed Manager
Data Feed Manager includes all the features of Simple Google Shopping but allows you to create more kinds of data feeds (csv, txt, xml) and with special features like extra-header for any shopping engine, market place or search engine such as BingShopping, Shopping.com, Shopzilla, Amazon...
.
Countries supported by Data Feed Manager
All countries are supported (tax rates and currencies) by Data Feed Manager.
You just need to edit the data feed for the targeted country.
You may also have to use the appropriate currency when using prices attributes.
Currencies supported by Data Feed Manager
Any currency can be managed in your data feeds.
You can define a different currency for each data feed using currency codes.
This will automatically convert the prices into the indicated currency.
Character encoding of the generated data feed
The char encoding of the generated data feed is UTF-8 for Data Feed Manager. It allows the use of special characters, such as accented letters, but also Arabic and Chinese letters.
If you're using Data Feed Manager, the default char encoding is UTF-8, while no char encoding is specified in the XML header.
Data Feed Manager limitations
Data Feed Manager has been tested successfully on Magento 2 shops containing more than 70,000 products.
Remember that the generation and export time for any quantity of products will depend on your server capacity. Generally, exporting a data feed with 10,000 products shouldn't take more than 2-3 minutes on a standard shared server.
License and domains
License validity
A license is valid for an unlimited period of time on one single installation
If you're using more than one installation, you will have to buy a separate license for each instance.
if you're running several domains on a same installation, you will need only one license for all of them.
Although your license doesn’t have a limited period of validity, your Support & Upgrade period does. By purchasing a module, you’ll be granted a 12-month support period for free. Passed this period, you will have to pay for a new one (see FAQ: Extend your Support period)
Domains pre-registration
You can pre-register your live domain to your license in advance.
Thanks to this option, you'll be able to get the module ready to use on your domain before it goes live.
To pre-register your production domain:
Go to: mY account › Licenses & DOwnloads
Click on the Settings icon next to the module you want your domain to pre-register on.
Click on the link at the bottom of the page saying: Do you want to pre-register your domain in order to be ready to go live?
Finally, enter your domain name and click on pre-register now .
Testing environments
One license is valid for an unlimited period of time on one installation only. However, it is possible to extend or transfer your license in 2 cases:
If you would like to add your testing environments to your license. In that case, it is possible to extend your license to an unlimited number of domains for free. For mywebsite-staging.com or mywebsite-dev.com
If you want to transfer your license to another live domain. In that case, the Support & Upgrade period for your license must still be active.
To be able to use Data Feed Manager on both your production and testing environments, follow the instructions below:
Install Data Feed Manager on your environment. (see FAQ: Modules installation in Magento or in WooCommerce)
Activate the license. (see FAQ: Licenses activation in Magento or in WooCommerce)
Also, if you are managing a large amount of domains, please contact us so that we can automatically whitelist these domains.
Modules versioning and download
Extensions download
In order to download Data Feed Manager, log into your Wyomind account:
Go to: my account › Licenses & downloads
Click on the settings icon next to Data Feed Manager.
A new window opens.
Click on the download icon.
Only the latest extension version released within your Support & Upgrade period is available. In order to get the very latest extension version make sure your Support & Upgrade plan is up to date.
Modules upgrade
When purchasing a module from wyomind.com, you benefit from 12 months of upgrade. Within this period you can at any time download the latest version of the module directly from your account.
To upgrade Data Feed Manager, follow the steps below:
Go to: my account › Licenses & Downloads
Click on the settings icon next to Data Feed Manager.
Click on the download icon.
Install the new version of Data Feed Manager in your Magento admin or your WooCommerce back-office.
Modules Installation/Uninstallation
Extensions manual installation
You can install Data Feed Manager manually.
Download Data Feed Manager (zip file) on: mY ACCOUNT › Licenses & Downloads Refer to the FAQ: Extensions download
Once Data Feed Manager is downloaded, open the folder and unzip it.
Copy the content of the unzipped folder and paste all files and directories in your Magento 2 root directory.
In your Command Line Interface, execute:
bin/magento setup:upgrade
If you are using a production mode, execute also:
bin/magento setup:static-content:deploy
bin/magento setup:di:compile
Extensions installation via Composer
You can install Data Feed Manager using Composer software in two cases:
if you purchased Data Feed Manager on Magento Marketplace.
if you purchased Data Feed Manager on Wyomind.com AND requested access to our repository: repo.wyomind.com
Add to your composer configuration our repository:
Extensions activation from the back-office of Magento
Once Data Feed Manager is installed, you have to activate the license. For previous versions, you can activate the license from your back-office:
Go to your Magento admin panel. A message pops up at the top of the page.
If the message doesn't appear then you must check that:
1. The Adminhtml_Notifications and Wyomind_Core modules are well enabled. 2. The HTML output of the Adminhtml_Notifications and Wyomind_Core modules are not disabled in: storesconfigurationadvanced advanced 3. The encryption key well exists in app/etc/env.php:
Copy your activation key in: Stores › Configuration › Wyomind › Your extension
You can find your activation key in 2 different places: - In the confirmation email that you received after purchasing Data Feed Manager. - In your Wyomind account: My account › Licenses & downloads Select Data Feed Manager and click on .
A new page opens where you'll find your activation key (see below).
In your Magento admin go to: Stores › Configuration › Wyomind › Your extension
Paste the activation key in the Activation Key field and choose between the automatic (yes) or the manual (no) activation method: - By choosing Yes, the connection to Wyomind license server will be automatic. - By choosing No, you will have to log on to Wyomind license server yourself.
Click on Save config .
A message appears at the top of your admin panel. Click on that link: Activate it now!
Copy and paste the license code in theLicense code field from your admin or simply click on Activate now!
Finally, refresh your cache, log out and log in back straight after, to complete the installation.
Add another domain to your license
To activate the license on another domain (test, staging...):
Once the extension is installed on the new domain, copy your activation key in: Stores › Configuration › Wyomind › Your extension
After having saved the configuration, a notification appears. Click on Add this domain to my license.
A transfer request will then be sent to our team within an hour. Once the request is taken care of, you will receive a confirmation email. If your transfer request is accepted, you can use Data Feed Manager on both environments at the same time.
Note that the order in which you activate your license on your domains does not matter. You can start with your staging/dev/local environment or with your live domain, the process will be the same.
Also, if you have loads of staging domains, or if you are an agency managing load of domains for your customers, please contact us so that we can automatically whitelist these domains.
Extensions activation from the CLI
Once Data Feed Manager is installed, you have to activate the license.
For this, you can use the below command line (change the Activation key with the corresponding value):
Generating a data feed is totally different from exporting a data feed.
Generate your data feed
To generate a data feed from Data Feed Manager, you only need to click on Generate when editing your data feed from: Products › Data Feed Manager › Data Feeds
You will get an .xml, .csv or .txt file according to your configuration.
This will allow you to upload your products data into the platform you want (such as Google Shopping).
Export your template
To export a data feed from Data Feed Manager, you need need to click on eXPORT when editing your data feed from: Products › Data Feed Manager › Data Feeds
You will get a .dfm file.
You will be able to save a template that you have previously created from Data Feed Manager and to import it if needed into your Magento admin for example.
Product type and Google product category
<g:product_type> is for the categories that you have defined independently in your Magento 2 back-office.
To retrieve the category you have assigned to it for each one of your products, you can easily fill this XML section using:
CDATA stands for Character Data. It means that the data in between these tags include data that could be interpreted as XML markup, but should not be.
Syntactically, CDATA behaves similarly to a comment but it is still part of the document.
CDATA sections have no encoding, so there's no way to include the ]]> string into them.
New URL when generating a new feed
If you're getting https://mywebsite.com/googlefeed/example_feed.xml?r=0123456789 instead of https://mywebsite.com/googlefeed/example_feed.xml when generating a new feed, it's normal.
Actually, the url https://mywebsite.com/googlefeed/example_feed.xml is still available. The parameter ?r=0123456789 at the end of it is simply a random number to avoid cache issue when you download the data feed from your Magento 2 admin.
Data feed configuration
Schedule the file generation with Data Feed Manager
Data Feed Manager provides you with a fully configurable schedule in the Cron Schedule tab of your pattern configuration for each data feed or profile.
So that it works, you need to have one main scheduled task running from your server side and targeting cron.php located in the pub directory of Magento 2 root directory (ideally every hour).
If the management panel from your hosting compagny doesn't provide such a service, you should be able to use a remote service such as: http://www.mywebcron.com
Data Feed Manager also provides you with a cron job reporting, so that you can get email reports on each data feed or profile you're generating.
Add a new taxonomy file in Data Feed Manager
The Google and Facebook product taxonomies are category trees that will help you to generate values for the Google and Facebook product category attributes listing all possibilities.
Taxonomie Google: From that page, choose the language you want to use for your taxonomy at the bottom right. Then, in the Downloadable taxonomy, open the Plain Text link that contains full category names and save the file.
Taxonomie Facebook: From that page, choose the language you want to use from the Facebook product categories by language section. Then, click on the Plain Text link that contains full category names to download the file.
Paste the file in:
For Simple Google Shopping: Magento 2 > app > code > Wyomind > Simple Google Shopping > data > Google > Taxonomies
Don't forget to apply the permissions 644 to the file.
You'll then be able to choose that specific taxonomy from your data feed configuration.
Use operands in the pattern
You can use the OR operand with all these variables (without option) as in the example below:
{{object.proprietyA | object.proprietyB}}
If object.proprietyA exists then the value will be object.proprietyA, otherwise, the value will be object.proprietyB.
For example:
{{product.url | parent.url}}
There isn't any other operand of that kind.
Configurable products retrieve invalid price
In Magento 2, configurable products are in fact containers for the simple variant products. Then, their price will depend on the options that the customer has selected.
Unfortunately, as it's not possible to know in advance the choice of the customers, it is recommended to use the minimum or the maximum price in your data feeds. You can use one of the below attributes:
{{product.min_price}}
{{product.max_price}}
Google Shopping and configurable products
According to Google requirements, you should only have simple products exported in your generated data feed. In fact, configurable products are only empty shells for your simple products.
In the case where you export only simple variants into your data feed, you need to check that:
you use the Parent object to retrieve the information from the configurable product if needed. For example:
<g:link>{{product.url | parent.url}}</g:link>
your filters are not too restrictive. For example if your simple variant products are not visible individually, make sure to have ticked that options in your data feed filters.
the categories you've selected in the configuration of your data feed are also assigned to the simple variants. For example, if only the parent product has a category assigned, you'll be able to include product into your data feed based on the Product and parent categories.
Remove the VAT from the product catalog prices
To subtract the VAT from your catalog prices, in your pattern, you need to replace:
{{product.price}}
with:
{{product.price currency=USD vat_rate=0}}
Replace USD with your own currency.
If the prices of your catalog are already including the VAT, then you can use:
{{product.price currency=USD}}
Apply a custom VAT to products
To apply a custom VAT to your products, you can replace:
{{product.price}}
with:
{{product.price currency=CUR vat_rate=0.00}}
Replace CUR with your own currency and 0.00 with a value between 0 and 100 that represents the VAT.
For example:
{{product.price currency=USD vat_rate=10}}
Display the categories in the product urls
In your data feed, you gethttps://www.mywebsite.com/product but the correct URL is https://www.mywebsite.com/category/subcategory/product.
To retrieve the URL you want, you can define the options under: Stores › Settings › Configuration › Wyomind › Data Feed Manager
You'll be able to choose which URL path to use in Use canonical URLs.
You can choose between 3 options:
Individual product URLs
Shortest category URLs
Longest category URLs
For example, if you have a "T-shirt" in 2 categories: "New arrivals" and "Shirts", then depending on your configuration, you'll get different results:
The individual product URL won't include any category or subcategory.
Download the generated file
Here is the process to download your file:
Generate the file.
Right-click on on the generated link from the grid.
Choose the "Save as" option.
Map categories to Google ones
Categories names you are using in your Magento 2 back-office aren't always the same than the ones used by Google Merchant to reference your products.
This means you have to find out which Google Merchant categories have the best matching with yours, according to the Google product taxonomy.
For example, if you're selling furnitures like coffee tables, you'll have a Coffee table category in your Magento 2 back-office.
But Google Merchant doesn't handle this kind of category. The closest Google product category would be Kitchen & Dining Room Table. So this should appear this way in your data feed:
This Google product category will be retrieved in your data feed after 2 steps.
1. Map your categories with Data Feed Manager
Data Feed Manager provides you an easy way to input Google product categories matching yours.
In your data feed configuration, go in the Categories tab. Then, in Category selection and mapping section, you'll find a treeview of all your categories.
For each category, you have a little arrow followed by mapped as . There, you'll be able to start typing a keyword in order to display a list of all categories including that keyword. You simply need to select the one you need.
If your press the End key of your keyboard after typing a category mapping, the value will apply to all sub-categories.
Once all your categories are mapped, you can click on the Save button.
Here are a few guide lines for choosing the most appropriate category:
Use the category that best describes your item. To do this, first determine the primary function of the products you are submitting. For specific items like MP3 Players, select the MP3 Players category. While some MP3 players can also serve different functions, like those that contain a clock, they are primarily MP3 Players.
Use only one category. For some products, more than one category might be relevant. For example, an adapter to allow an MP3 player to be used in a car could be in both categories Motor Vehicles > Audio & Video and Electronics > Audio > Audio Accessories > MP3 Player Accessories . In such cases, choose the category that seems the most appropriate to you, but don't include more than one.
Use the most specific category possible. Being specific will help improve your data quality and in turn ensure that offers are presented in the right category. When viewing the taxonomy, try to navigate to the most specific category that still covers all the products being submitted. For instance, if you are submitting MP3 player chargers use the category MP3 Player Chargers . Conversely, if you are submitting multiple types of chargers use the category Chargers .
2. Add the Google category to the Data Feed Manager XML pattern
Finally, so that the Google category is retrieved in your data feed, you must add the following attribute to the XML pattern:
Please note that this attribute is different from Product Type for which the name of the category you have defined in your Magento 2 admin is retrieved. Google recommends you include this attribute for all products, and for all target-countries. It will result in better categorization for your products.
Retrieve each variant for the product customizable options in the pattern
For your products with customizable options, instead of retrieving only one product, you have the possibility to retrieve each variant in your XML/CSV/TXT data feeds.
Example
Imagine you have added the following customizable options for a bag :
Bag Color: the bag is available in black and in red
Bag Size: the bag is available in small and in big
Iterate the custom options
To retrieve the information of each custom option, use the below code in your template:
alias represents your custom option. You can retrieve up to 2 options. alias can be renamed with any name. For example:
color
Custom Option title is the title of your custom option. Attention, these titles are case-sensitive, they must be written exactly as in your Magento 2 admin. For example:
Bag Size
value = It is the value you want to retrieve. It can be the title, the SKU or the price of the option. You must use the following values: label, sku, price
For example, to retrieve the 4 variants of your bag (Mini Red, Maxi Red, Mini Black, Maxi black), use the below code:
value = It is the value you want to retrieve. It can be the title, the SKU or the price of the option. You must use the following values: label, sku, price
opt = It represents the custom option. Replace Custom Option title by the title of the option as it is written in your Magento 2 back-office. For example :
Bag Color
For example, to retrieve the SKUs of all the values of the Bag Color option, use the below code in your template:
Note that using the merge option, all values will be separated by a comma.
Troubleshooting
Base table or view not found
This issue may be due to a problem during the installation process.
You will be able to fix it by following these steps:
Access your database via your control panel (Phpmyadmin for example).
From the setup_module table, delete the entry Wyomind_extension.
Be careful, that entry depends on your extension. For example, if you have the extension called Simple Google Shopping, you should delete Wyomind_SimpleGoogleShopping.
Logout from your Magento 2 admin.
Log into your Magento 2 admin.
Scheduled tasks don't work in Magento 2
How do cron tasks work?
The cron.php file (available in the pub directory of your Magento 2 root directory) is regularly launched from your server side (generally every 5 minutes).
The cron task for Data Feed Manager is targeted and evaluates if a data feed or a profile needs to be refreshed (depending on the timestamp stored in the database and on the schedule table for this specific profile).
If the above condition matches, then the data feed and the profile is re-generated.
Be sure that you have correctly configured a scheduled task from the server side (cpanel) targeting the cron.php file in your magento 2 installation.
The extension includes reporting and debug tools for the scheduled tasks available in: Stores › Settings › Configuration › Wyomind › Data Feed Manager
For more information on the configuration of cron tasks in Magento 2, you can check their documentation.
404 error instead of the Google Taxonomy
You must apply the permissions 644 to app/code/Wyomind/SimpleGoogleShopping/data/Google directory and all sub folders and files via FTP.
"Please make sure the directory /feeds/ is writeable by the server"
The directory in which your data feed is stored must be writable (permissions 755). You should try to use another directory such as /media/ if /feeds/ is not properly set by changing the content of the Path field.
"PHP features are disabled"
You must update the module by downloading and installing the module last version available from your Wyomind.com account.
The data feed is inaccessible
In the case where your data feed URL is inaccessible, your site may be using the pub directory as the site root.
Then, from the Configuration tab of your data feed, you should change the path so that it is generated in the /pub/feeds/ directory instead.
Then, the data feed URL won't include the pub directory and will be:
If your data feed still doesn't display properly, maybe it's because you're trying to read it as an ISO file while Data Feed Manager creates UTF-8 encoded files.
We recommend you read it with dedicated programs like Notepad++ or Firefox (with Display › Encoding type › utf8 selected).
User's reviews
J
Jitheesh
Developer · United Kingdom · User for 4 years
★★★★★
A Must have plugin to all Magento sites
We use the Datafeed Manager module across all projects, as it saves us from worrying about any feed integrations. The flexible admin UI and features let you adjust the module to suit your own needs.
LA
Laurent Antoine
Merchant · France · User for 7 years
★★★★★
Super Plugin for managing products feeds
Date Feed manager is a super tool. I use it for google shopping. Very easy to use. I highly recommend for any commerce store.
CC
Chris C
Ecommerce Agency · United Kingdom · User for 8 years
★★★★★
Invaluable feed manager
We use this module to create and export our product range to the likes of Google, Meta and other external marketing tools. We also use the feed to export our product range to external service providers that power on-site functionality too. Easy to schedule and quick to generate.
A
Alex
Merchant · Germany · User for 7 years
★★★★★
An Essential Tool for Our Multichannel Strategy (using it since 2019)
We use the Data Feed Manager to centrally manage all our product feeds – and we’re genuinely impressed. This extension allows us to connect all our sales channels from one place: Amazon, Meta (Facebook/Instagram), Google Merchant Center, and more. The configuration is highly flexible, the field mapping works flawlessly, and even complex requirements can be handled easily using filters and rules. What stands out most is the ability to manage multiple feeds in a clean and organized interface, with precise scheduling options. For us, the Data Feed Manager has become an essential part of our e-commerce infrastructure – highly recommended!
D
David
SEO specialist · Spain
★★★★★
After two years using Wyomind with Magento 2, I can say their modules are powerful, reliable, and easy to integrate.
I’ve been using Wyomind’s modules for Magento 2 for over two years, and the experience has been excellent. Their extensions are consistently stable, high-performing, and easy to integrate. Key tools like ‘Advanced Inventory’, ‘Mass Stock Update’, and ‘Data Feed Manager’ have become essential to managing our catalog and logistics efficiently. Their customer support is also fast and helpful—something you really value when working on a high-demand e-commerce platform. Wyomind has proven to be a reliable partner that truly enhances our Magento environment. I highly recommend their solutions.
D
David
Merchant · United Kingdom · User for 5 years
★★★★★
Perfect fit for SkateHut
Wyomind's data feed manager fit's the bill for us so well. It's not just a straight data output, it is so much more with the programming capabilities and logic that it can do.. From being able to create custom functions for it and additional variables, and being able to work with all the product types that Magento has, in our opinion the flexibility of the package is such that you don't need to consider any other packages for your merchant data feeds.
JD
JM Dimensions ApS
Merchant · Denmark
★★★★★
Simple to use and great function
Really great tool - simple to use and just fast to get some great feeds created
S
Sophana
Merchant · France · User for 3 years
★★★★★
Useful and easy to use
DFM is incredibly user-friendly and efficient.
C
Chris
Merchant · United Kingdom · User for 8 years
★★★★★
Good Feed Manager
Works well for xml feeds
M
Michal
Merchant · United States · User for 5 years
★★★★★
Good Feed Management Solution
This extension helped manage our feeds for Google Shopping and more. The intuitive interface and powerful customization save time. Wyomind's support is responsive and helpful. It's a reliable, indispensable tool. Highly recommended.
M
Manav
Ecommerce Agency · India · User for 7 years
★★★★★
Fantastic extension for managing product feeds
Wyomind's Data Feed Manager is a fantastic tool for managing product feeds. It's user-friendly, reliable, and the support team is always quick to help. Highly recommend for any e-commerce store!
D
David
Merchant · Spain · User for 3 years
★★★★★
Good plugin, very effective
We use the plugin generally to extract product information from Magento usually as feeds. It is very useful and easy to use. Also very fast.
M
Marco
Merchant · Italy · User for 13 years
★★★★★
Extension for MAgento
I'm purchase more extension for Magento 1 and are very good
G
Giuseppe
Merchant · Italy · User for 13 years
★★★★★
Very good
The APP are very good,
SO
Seamus Og
Merchant · United Kingdom · User for 4 years
★★★★★
Great feed generator
We have used a few different feed generators from competitors, however Wyomind's data feed manager was the most robust and easy to use we have found
D
Dustin
Merchant · Canada · User for 9 years
★★★★★
Great extension, easy to customize and use
Great extension. Have used for over 10 years on many of our sites. High customizable, we can configure it just the way we want to get google shopping feeds, Facebook feeds, Bing feeds, etc.. Has nice logic and filtering conditions to get the feeds just how we want them.
D
Dgiouzelis
Developer · Cyprus · User for 13 years
★★★★★
Great Plugin and Wonderful support!
Really simple to configure and works perfectly.
I can manage without any problem Google, Facebook, and various product feeds, adding all data and filtering products.
We tested many, this one is the best.
C
Craig
Merchant · United Kingdom · User for 4 years
★★★★★
Very flexible data feed module
We've been using Wyomind's Datafeed Manager for a few years now. It is very flexible in its outputs. It can take a while to configure if you want something custom but there are several pre-built templates to help with this and give a good starting point for custom outputs.
A
Anthony
Merchant · United Kingdom · User for 5 years
★★★★★
Straight forward to use, great support
We have used the data feed manager extension on our Magento 2 website for the last couple of years. The user guide is informative and easy to use, allowing complete control within our feed. On the one occasion we needed to contact their support, they replied speedily and were able to resolve our query straightway.
D
David
Ecommerce Agency · United Kingdom · User for 7 years
★★★★★
We've used this addon for years, it works great!
We've first used this on Magento 1 websites, and later migrated over to Magento 2. The addon is feature rich, and allows us full granular control over the data feeds we send to google, and other platforms. It's an invaluable part of our marketing toolkit and empowers our clients to succeed with their off-site order generation - such as marketplaces, affiliate sites and more.
Magento 2 Compatibility
Supported by our master extension versions
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3
Supported by our legacy extension versions
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2
2.1.18
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1
2.0.18
2.0.17
2.0.16
2.0.15
2.0.14
2.0.13
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0
Use cases
How merchants put Data Feed Manager to work, step by step.
Output of the feed filters template is now escaped.
Unreadable or unwritable files during feed compression and FTP upload are now reported without PHP warnings.
14.1.2
Bug fix
Added prototype to the dependencies of the JavaScript files (with a slow connection, the code could be executed before prototype was loaded)
14.1.1
Compatibility
Compatibility with PHP 8.4 and Magento 2.4.9
14.1.0
New feature
The generated file can now be uploaded in gzip format (e.g. for OpenAI)
Improvement
Files are now written in a temporary directory (var/tmp) before being moved to the feed destination directory, which avoids multiple file writes on distributed environments
14.0.14
14.0.13
14.0.12
14.0.11
Bug fix
Fix output for {{product.qty}} while using the stock_id parameter
14.0.10
Bug fix
Fix replace() function in setup patches
14.0.9
Bug fix
Fix preg_replace() function in setup patches
14.0.8
Bug fix
Fix missing slash in image urls when using the role parameter
14.0.7
Code improvement
remove trailing spaces in Helper/AttributePrice.php
14.0.6
Bug fix
sample date updated and fixed
14.0.5
Improvement
Add a configuration setting to manage cron log generation
14.0.4
Bug fix
Take memory limit configuration into account
14.0.3
Bug fix
Avoid an error message when a non-existent tier price is requested
14.0.2
Bug fix
Correct a regression brought up by version 14.0.1 : PHP API was malfunctioning
14.0.1
Improvement
The {{product.sale_effective_date}} placeholder now returns the date for tomorrow as the end date for the special price if there is no actual end date. The end date is required by Google for special prices with a validity period
14.0.0
Initial release for the master version
13.0.0 legacy
Initial release for the legacy version
12.0.7
Compatibility
Fix compatibility issue with Php v8.2
12.0.6
Improvement
Accelerate the data feed generation process
12.0.5
Bug fix
FIx product visibility type support
12.0.4
Improvement
The extension supports now custom product visibility types
12.0.3
Compatibility
Remove calls to Zend functions/methods
12.0.2
Bug fix
Fix "special to date"
12.0.1
Bug fix
Fix for the MSI sources fetching
12.0.0
Improvement
Better performance for the MSI sources fetching
Special price "special to date" applies till 23:59:59
Compatibility
Magento v2.4.6 + PHP v8.2
11.24.6
Improvement
The $_objectManager property is now public
11.24.5
Improvement
Fix the warning triggered by the strtotime() function if the value is empty
11.24.4
Bug fix
Fix the upload of the data feed on the FTP server with a specific port
11.24.3
Bug fix
Fix property name in install pactch
11.24.2
Improvement
The category mapping auto-complete is updated to match new jQuery overrides
11.24.1
Improvement
Remove "drop table" instruction in the database install patch
PHP v8.1 compatibility
11.23.9
Compatibility fix for Php v8.1
11.23.8
Compatibility fix for Php v8.1
11.23.7
Re-disable by default the price block that overrides the configurable product prices
11.23.6
Improvement of the price block that overrides the default price block for configurable products.
11.23.5
PHP v8.1 compatibility Improvement
11.23.4
Bug fix for PHP v8.1 for csv profile with no enclosure character
11.23.3
Product prices cast to float for calls to number_format
11.23.2
Compatibility
Compatibility with PHP 8.1
11.23.1
Minor fix on code
11.23.0
Compatibility
Compatibility with PHP 8.1
11.22.1
Compatibility
Compatibility with PHP 8.1
Improvement
New parameter from_index=[1|0] added for the price attributes to retrieve information from Magento's price index
11.22.0
Compatibility
Compatibility with PHP 8.1
11.21.2
Check added when using index=X with {{product.tier_price}} to avoid PHP error
11.21.1
Fix for retrieving images with a particular role in the case where the role name ends with a number
11.21.0
Improvement
Possibility to choose the image role for {{product.image_link}}
11.20.3
The FTP port entered during the connection tests is taken into account for the FTP/SFTP file export
11.20.2
Fix for the button allowing to test the FTP connection on Firefox
11.20.0
Support for tier prices with percentages for {{product.tier_price}}
11.19.3
Fix for the number of elements rendered in the preview panel
11.19.2
Fix for a bug preventing the display of the data feed grid if a data feed was linked to a store view that no longer exists
11.19.1
Fix on links to documentation
11.19.0
Better management for cron tasks that are now based on the locale date and hour defined in the back-office
11.18.0
New parameter for availability, qty and is_in_stock attributes: source_code
11.17.3
Fix for a typo in a method name from the cron tasks management
11.17.2
Fix for the dates translation when scheduling data feeds execution
11.17.1
The option to display the price of the pre-selected single product when arriving on the page of a configurable product is disabled by default
11.17.0
Improvement
The price of the product in the DOM is now the price of the pre-selected single product when arriving on the page of a configurable product from a URL including the pre-selected attribute options
Data feed templates are disabled by default
11.16.9
Minor fix for a class property
11.16.8
Fix when categories are deleted whereas they are selected in the data feed configuration
11.16.7
Fix when categories are selected as filters but don't exist anymore in Magento
11.16.6
Fix for the use of the currency parameter with product.url_config
11.16.5
Fix for converting prices according to the price scope (global or website)
11.16.4
Control added for a bug happening in some categories configurations
11.16.3
Fix for the category filters
11.16.2
Increase in the size allowed for configuration fields (new installations only)
11.16.1
Fix for a bug preventing the data feed page to load when non-standard attributes were used
11.16.0
Improvement
New parameter for product_url and product.url_config that adds ?currency=XXX to the generated URL: this URL will automatically switch to the selected currency
11.15.1
Improvement
Better management of PHP scripts in CSV files
11.15.0
Improvement
Custom options are supported in CSV/TXT feeds
11.14.2
Improvement
Improved loading of Javascript JQuery modules
11.14.1
Minor fix for custom variables and functions grids
11.14.0
Improvement
Improved license management system (Clear code)
11.13.13
Fix for the demo store
11.13.12
Fix for the use of custom options in the template
11.13.11
Improved management of the prices to make it easier the fallback of an attribute with null price to another attribute
11.13.10
Bug fix
Fix for retrieving images for Magento Enterprise: row_id is used to retrieve images in the gallery table
11.13.9
Sample data added for the demo
11.13.8
The website's currency is taken into account
11.13.7
Improvement
Sample data
Product types retrieved dynamically in the filters
Bug fix
Fix on the stock_id attribute: used to return the availability of the default stock
11.13.6
Bug fix
Fix for the stock_id attribute that used to return the availability for the default stock
11.13.5
Minor fix for {{product.catalog_rule_id}}
11.13.4
Improvement
Better management of sales_effective_date: dates are not displayed if from and/or to date are missing
11.13.1
Fix for the database prefix in catalog_rule_id
11.13.0
Improvement
New attribute: {{product.catalog_rule_id}}
11.12.5
MSI modules taken into account for retrieving stocks information
11.12.4
Fix for the sale price calculation for bundle products
11.12.3
Improvement
Parent products are retrieved according to the entity_id of the child product
11.12.2
Fix on the feed import when the database is using prefixed tables
11.12.1
Fix in SQL queries for Magento Enterprise
11.12.0
Use of the code of the storeviews in the products' URLs if needed
11.11.2
Fix when saving the data feeds after a column has been deleted (CSV/TXT)
11.11.1
Fix for Magento 2.3.3
11.11.0
Compatibility with Magento 2.3.3
11.10.2
Use of the Use SSL option for the FTP connection test when uploading the feeds after generation
11.10.1
Fix for the stock management with Magento Multi Stock Inventory module: quantities automatically deducted when using MSI with the default stock only
11.10.0
Improvement
New children attribute allowing to list the child variants of a product (configurable, grouped, bundle)
New attributes for tax_class and type_id
Patch v11.10.0.9
Minor fix on progress bar
Patch v11.10.0.8
Fix for the generation via command line and cron task
Patch v11.10.0.7
Fix for the categories sorting
Patch v11.10.0.6
Code clean
Patch v11.10.0.5
Fix for the categories sorting for {{product.categories}}
Patch v11.10.0.4
JS fix for the data feeds grid
Patch v11.10.0.3
Fix for the default value of Use canonical URL
Patch v11.10.0.2
Sample date available for the demo
Patch v11.10.0.1
Fix for relation_ship
11.9.2
Improvement
Code refact
11.9.0
Compatibility
Compatibility with the Multi Stock Inventory module on Magento v2.3.0
Patch v11.9.0.8
Fix when retrieving parent data for each variant when there are loads of children products
Patch v11.9.0.7
Minor fix for URL rewrite
Patch v11.9.0.6
Fix for the canonical URLs default value
Patch v11.9.0.5
Minor fix and code clean
Patch v11.9.0.4
Fix for an SQL request
Patch v11.9.0.3
Fix for Magento EE
Patch v11.9.0.2
Minor fix on code
Patch v11.9.0.1
Fix for the compilation
11.8.1
Improvement
Better management when retrieving relationships between simple and bundle products
Bug fix
Fix for the installation of data
Patch v11.8.1.4
Fix for the echo in the templates
Patch v11.8.1.3
Minor fix on code
Patch v11.8.1.2
Fix for tier prices on Magento Enterprise
Patch v11.8.1.1
Fix for PHP scripts in the templates
Disabled images are excluded from the data feed
11.8.0
Improvement
Possibility to export default values
Patch v11.8.0.4
User interface enhanced in the license configuration
Patch v11.8.0.3
Minor fix for profile import/export
Patch v11.8.0.2
Better management of https in products and images urls
Patch v11.8.0.1
Fix for energy_efficiency_class tag
11.7.1
Improvement
Better management for the feeds export/import (compatible PHP >= v5.3)
Patch v11.7.1.1
Fix for energy_efficiency_class tag
11.7.0
Compatibility
Compatible with Magento 2.3
Patch v11.7.0.1
Fix for energy_efficiency_class tag
11.6.2
Improvement
{{product.base_price}} retrieves the base price (as it is in the database indexes)
Patch v11.6.2.1
Fix for energy_efficiency_class tag
11.6.1
Improvement
Improved execution of php script when the attribute value is a table
Patch v11.6.1.2
Fix for energy_efficiency_class tag
Patch v11.6.1.1
Minor fix
11.6.0
Improvement
Better management of categories and mapping
Improved management of the VAT rate retrieval
Support of FTP connection to upload generated files
Bug fix
Fix on a static content error
Patch v11.6.0.2
Fix for energy_efficiency_class tag
Patch v11.6.0.1
Fix on a parameter
11.5.2
Bug fix
Fix for compatibilty with Magento < 2.2.5
Patch v11.5.2.3
Fix for energy_efficiency_class tag
Patch v11.5.2.2
Check when retrieving the VAT rate in the applyTax method
Patch v11.5.2.1
Fix for files deployment
11.5.1
Fix on PHP code execution in the template
Patch v11.5.1.3
Fix for energy_efficiency_class tag
Patch v11.5.1.2
Check when retrieving the VAT rate in the applyTax method
Patch v11.5.1.1
Fix for files deployment
11.5.0
Improvement
Compatibility with Magento 2.2.5
Patch v11.5.0.3
Fix for energy_efficiency_class tag
Patch v11.5.0.2
Check when retrieving the VAT rate in the applyTax method
Patch v11.5.0.1
Fix for files deployment
11.4.1
Improvement
Better management of the taxonomy
Bug fix
New use of the custom functions to prevent any error with the cron task
Fix for default feeds
Patch v11.4.1.1
Check when retrieving the VAT rate in the applyTax method
11.4.0
Improvement
New template for siroop.ch
Patch v11.4.0.6
Check when retrieving the VAT rate in the applyTax method
Patch v11.4.0.5
Better management of the taxonomy
Fix for default feeds
Patch v11.4.0.4
Fix for the management of bundle products
Patch v11.4.0.3
Fix for the category filters
Patch v11.4.0.2
Fix for the blackbox overflow with the txt/csv profiles
Patch v11.4.0.1
Fix for the command lines to avoid error : Area code is already set
11.3.0
Improvement
Magento v2.2.1 compatibilty
Patch v11.3.0.7
Check when retrieving the VAT rate in the applyTax method
Patch v11.3.0.6
Better management of the taxonomy
Fix for default feeds
Patch v11.3.0.5
Fix for the management of bundle products
Patch v11.3.0.4
Fix for the blackbox overflow with the txt/csv profiles
Patch v11.3.0.3
Fix for the Magento unit tests
Patch v11.3.0.1
Fix for the tier_price attribute
11.2.0
Improvement
Fix tax prices supported
All price attributes support now the currency conversion and tax class parameters (msrp, cost,...)
Better PHP scripts error reports
Patch v11.2.0.10
Check when retrieving the VAT rate in the applyTax method
Patch v11.2.0.9
Better management of the taxonomy
Fix for default feeds
Patch v11.2.0.8
Fix for the management of bundle products
Patch v11.2.0.7
Fix for the blackbox overflow with the txt/csv profiles
Patch v11.2.0.6
Fix for {{product.categories}} when categories are excluded from the data feeds
Patch v11.2.0.5
Fix for malformed file paths (slash automatically added)
Patch v11.2.0.4
Fix for the data upgrade for Magento 2.2
Patch v11.2.0.3
minor code fix
Patch v11.2.0.2
minor code fix
Patch v11.2.0.1
fix for custom functions and custom variables creation
11.1.0
Improvement
Better support for PHP script errors in the data feeds
Black box can now be collapsed/expanded, maximized/minimized
Command lines renamed to datafeedmanager_* (instead of dfm_*)
Default Custom functions renamed to wyomind_* (instead of dfm_*)
Bug fix
minor fix on the output parameter for static values
Patch v11.1.0.7
Check when retrieving the VAT rate in the applyTax method
Patch v11.1.0.6
Better management of the taxonomy
Fix for default feeds
Patch v11.1.0.5
Fix for the management of bundle products
Patch v11.1.0.4
Fix for the blackbox overflow with the txt/csv profiles
Patch v11.1.0.3
Fix for {{product.categories}} when categories are excluded from the data feeds
Patch v11.1.0.2
Fix for malformed file paths (slash automatically added)
Patch v11.1.0.1
Fix for the data upgrade for Magento 2.2
11.0.1
Compatibility
compatibility with Magento v2.2
Patch v11.0.1.5
Check when retrieving the VAT rate in the applyTax method
Patch v11.0.1.4
Better management of the taxonomy
Fix for default feeds
Patch v11.0.1.3
Fix for the management of bundle products
Patch v11.0.1.2
Fix for the blackbox overflow with the txt/csv profiles
Patch v11.0.1.1
Fix for {{product.categories}} when categories are excluded from the data feeds
11.0.0
Support on the following Magento optimization options:
Javascript merging
JavaScript bundling
Javascript minification
Patch v11.0.0.10
Check when retrieving the VAT rate in the applyTax method
Patch v11.0.0.9
Better management of the taxonomy
Fix for default feeds
Patch v11.0.0.8
Fix for the management of bundle products
Patch v11.0.0.7
Fix for the blackbox overflow with the txt/csv profiles
Patch v11.0.0.6
Fix for {{product.categories}} when categories are excluded from the data feeds
Patch v11.0.0.5
Fix for malformed file paths (slash automatically added)
Patch v11.0.0.4
typo fixed in helper/AttributesInventory.php
Patch v11.0.0.3
Fix on the column suppression in the cst/txt feed and cancellation of the pattern edition for cst/txt columns
Fix on the cst/txt column suppression
Patch v11.0.0.2
Stock temporary path for feeds import file fixed
Patch v11.0.0.1
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
10.0.1
Bug fix
Fix a bug in the display of the categories
Patch v10.0.1.5
Fix for the management of bundle products
Patch v10.0.1.4
Fix for the blackbox overflow with the txt/csv profiles
Patch v10.0.1.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v10.0.1.2
Fix on enclosure escapers
Patch v10.0.1.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
10.0.0
Improvement
PHP API: getParent and hasParent functions supported
Better management of Javascript files
Improvement
Blackbox is back
Better performance when editing a configuration
Drag and drop available on the preview/library window
Patch v10.0.0.5
Fix for the management of bundle products
Patch v10.0.0.4
Fix for the blackbox overflow with the txt/csv profiles
Patch v10.0.0.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v10.0.0.2
Fix on enclosure escapers
Patch v10.0.0.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
9.0.3
Improvement
New attribute {{product.url_config}} retrieves URL to pre-select the simple product attributes from its configurable
Improved display of PHP script errors
Status attribute easier to manage
Patch v9.0.3.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v9.0.3.2
Fix on enclosure escapers
Patch v9.0.3.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
9.0.2
Improvement
Better support for attributes including html tags
Patch v9.0.2.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v9.0.2.2
Fix on enclosure escapers
Patch v9.0.2.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
9.0.1
Improvement
Better support for the install/upgrade scripts
Method $this->skip() available directly from the template to skip the current product
Patch v9.0.1.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v9.0.1.2
Fix on enclosure escapers
Patch v9.0.1.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
9.0.0
Improvement
categories attribute re-designed for a more flexible usage
Attributes can now be stored under variables with the as parameter
Conditions can now be applied to the attributes with the if parameter
Data feeds can be triggered with CLI
Php code parsing enabled by default
Patch v9.0.0.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v9.0.0.2
Fix on enclosure escapers
Patch v9.0.0.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.9
Bug fix
Fix parent/child products link when the child product is not associated to a category
Patch v8.0.9.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.9.2
Fix on enclosure escapers
Patch v8.0.9.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.8
Bug fix
Fix for images recovery in Magento 2.1 Enterprise Edition
Patch v8.0.8.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.8.2
Fix on enclosure escapers
Patch v8.0.8.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.7
Improvement
Better parent values management
Patch v8.0.7.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.7.2
Fix on enclosure escapers
Patch v8.0.7.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.6
Compatibility
Data Feed Manager is compatible with Magento 2.1.0
Patch v8.0.6.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.6.2
Fix on enclosure escapers
Patch v8.0.6.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.5
Bug fix
Fix for images recovery
Patch v8.0.5.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.5.2
Fix on enclosure escapers
Patch v8.0.5.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.4
Bug fix
Fix on the installation via Composer
Patch v8.0.4.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.4.2
Fix on enclosure escapers
Patch v8.0.4.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.3
Bug fix
Fix on the attribute management in the data feed
Patch v8.0.3.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.3.2
Fix on enclosure escapers
Patch v8.0.3.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.2
Bug fix
Encoding issue fixed for accentued characters
Patch v8.0.2.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.2.2
Fix on enclosure escapers
Patch v8.0.2.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.1
Improvement
New management of licenses for Magento 2
Patch v8.0.1.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.1.2
Fix on enclosure escapers
Patch v8.0.1.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
8.0.0
Compatibility
Data Feed Manager is compatible with Magento 2
Patch v8.0.0.3
Fix on feeds export: no more SQL error when importing feeds that include inverted comma in settings
Fix on configurable products: they can now be retrieved if they don't have child products
Patch v8.0.0.2
Fix on csv export: enclosure characters can now be escaped
Patch v8.0.0.1
Patch
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
Feature request
Specific needs or any ideas of enhancements and new features to add to the extension? Tell us more, we'll get back to you shortly!