Export quickly and safely a valid and well-structured data feed of your complete catalog of products from your Magento website to your Google Merchant Account thanks to Simple Google Shopping, an extension built by a Google partner.
Easily export your products data to Google Shopping thanks to the powerful Simple Google Shopping extension for Magento 2
Create an XML data feed including all your catalog of products in one go using Simple Google Shopping.
Efficiently export your Magento 2 products catalog to Google Shopping
Product types — Include all product types to your data feeds: simple, configurable, downloadable...
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 Google requirements
Template — Start configuring your data feed very quickly using the sample XML pattern included with the extension.
Library — Find any attribute you're looking for in the attributes library.
Reports — Fix your data feed errors thanks to the errors and warnings reports.
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
XML pattern — Configure your XML pattern by adding any Magento 2 attributes.
PHP API — Add PHP scripts into your XML 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 Google
Cron tasks — Use the scheduled tasks to periodically generate your data feed.
Generation details — Check your data feed generation: number of items, time, and resource
Generation status — Ensure that your data feed is correctly generated thanks to the status.
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.
Data Feed Manager
Export your products into CSV, TXT, and XML data feeds for any shopping engine
Display your products on any marketplace and make the most of your data feeds thanks to Data Feed Manager for Magento 2.
Are you interested in Data Feed Manager?
See More details
Check the demo
Content
What are Google Merchant and Google Shopping?
In order to use Simple Google Shopping, you should be aware of what Google Merchant and Google Shopping are.
Here is some basic knowledge about Google Shopping and data feed management.
What are Google Shopping and Google Merchant?
Google Shopping is a free Google service allowing customers to find and compare products they want to buy online. If you are an online merchant, you can submit all your products to Google Shopping and attract potential customers by allowing them to view your products more easily.
In order to submit your products to Google Shopping, you need to create a Google Merchant Account. Click on the following link for further information on creating an account: https://support.google.com/merchants/answer/188924?hl=en
Once your account created, you'll have access to the Google Merchant interface. There you can manage all your product data feeds and plan any daily, weekly, or monthly updating tasks.
What is a products data feed?
A data feed is a file made up of a unique group of attributes that define each one of your products. This allows customers to search and find your items more easily. This file is similar to a RSS data feed but includes some specific XML tags used by Google Merchant Center or any other shopping engine.
Simple Google Shopping and Data Feed Manager are two Magento 2 extensions that allow you to quickly configure, generate, and automate several product data feeds.
How to use Simple Google Shopping?
STEP 1: Configure Simple Google Shopping in a general way
Before being able to configure your data feeds, you should configure the extension in a general way. To do so, go to: Stores › Settings › Configuration › Wyomind › Simple Google Shopping
Cron job reporting
In the Cron job reporting tab, you can activate the cron job reporting and fill in an email address to receive the reports. You can also 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 a choice between several options. You can choose to use the shortest category URL, the longest one, or the product URL.
For example, if you have a "T-shirt" in 2 categories: "New arrivals" and "Shirts", the urls may be Product Url = http://mywebsite.com/t-shirt.html Shortest category url = http://www.mywebsite.com/men/shirts/t-shirt.html Longest category url = http://mywebsite.com/men/new-arrivals/t-shirt.html
Enable log reporting: You can also enable the log reporting.
STEP 2: Configure your data feeds with Simple Google Shopping
To create and configure your data feeds, go to: Products › Simple Google Shopping
Your data feeds will be listed according to IDs. You will find the name of the file, its path as well as the link to the data feed file. You should also get a message that sums up the number of products exported, the time it took, and the number of errors and warnings in your data feed.
The status of your data feed will vary according to the situation:
Pending: the data feed has never been generated or the scheduled hour is passed (waiting for the execution of 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
You should find the date and the hour of the last generation of the data feed as well as the Store view taken into account for the data feed.
From the Action dropdown, you'll be able to:
Edit
Generate
Preview (10 items)
Delete
Click on Create new data feed to configure your data feed as you want.
The Tool Box
When creating a data feed, you should see a black box on the right of your screen. The Simple Google Shopping extension includes that tool to help you configure your feed and see what is wrong.
The toolbox is inevitably a very useful tool. This will help you to configure your data feed more quickly.
Below are the different options for the toolbox.
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.
Preview
When clicking on it, you'll see a preview of your data feed. It's very useful to see if the values of your attributes are correctly retrieved or if the filters you've defined are working as expected.
Report
You can get reports on the errors and warnings of your data feeds.
Those reports do not replace the error reports from Google and are by no means a guarantee that your data feed will be approved by the Google team. This will help you to save time by quickly identifying the main problems of your data feed and by making the necessary changes.
In orange will be displayed the warnings such as: Missing recommended attribute: product_type.
In red will be displayed the error that you must correct to be able to submit your data feed: Missing required attribute: google_product_category.
Next to these errors or warnings, you should see the number of items that are concerned.
By default, the reports will give the 10 first examples ( sku ) that are concerned with each error and warning. You can change that by editing the Items in preview in: Stores › Settings › Configuration › Wyomind › Simple Google Shopping › Core Settings
Configuration
In that first tab is the main configuration of the data feed. To customize your feed, you'll find several fields to fill in.
Name You can add a name to your data feed.
Filename Enter a name for the file.
Path Define the path where you want the data feed to be generated.
/feeds/
Store View Define which store view is concerned.
Website url Add your website URL.
Title Add a title to your feed.
Description Add a description to your data feed.
XML pattern This is probably the most important field as this is where you will configure your pattern.
Categories filter
In the Categories tab, you will find 2 subtabs that will allow you to manage your categories.
You can filter your categories according to two different ways:
Exclude all products from the selected categories.
Include all products from the selected categories.
For example, if you wish to include only products of the Gear category, you can configure your filters in two different ways.
First of all by ticking the Include option that will allow you to include all categories that you have selected.
Or via the Exclude option that will exclude all categories that you have selected.
You are able to 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 Google ones. This step is very important so that Google can make a link between their product categories and yours.
What is the category mapping?
The Google product taxonomy is a tree of categories that will help you generate values for the Google product category attribute listing all possibilities.
Categories names you are using in your Magento aren't always the same as 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 furniture like coffee tables, you'll have a Coffee table category in your Magento admin. But Google Merchant doesn't handle this kind of category. The closest Google product category could be Kitchen & Dining Room Table.
Simple Google Shopping provides you with an easy way to input Google product categories that are 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.
First, select the Google Taxonomy source on which the category mapping is based.
Taxonomy files for the main countries are directly included in the extension to allow you to map your categories more easily. You can also have a look at the below documentation to know how to add a new taxonomy file.
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 Google category to the XML template?
Finally, so that the Google category is retrieved in your data feed, you must add the following attribute to the XML template:
With Simple Google Shopping, you have the possibility to change the file on which the category mapping is based.
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.
Save that file and paste it in: Magento 2 Root Directory › lib › WyominD › 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.
Filters
Simple Google Shopping for Magento 2 also allows you to filter your products on several levels according to their attribute sets or their visibility for example.
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 several attribute sets. In our case, we've decided to include only the Default and Gear attribute sets.
Product Visibility
Then, choose the products that will be included to 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 configure your advanced filters according to several options.
LIKE / NOT LIKE
a 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
Simple Google Shopping for Magento 2 provides you with a fully configurable schedule in the Cron Schedule tab of each data feed pattern configuration.
You just have to tick the days and hours when you want your data feed to be generated.
Note
In that section, you can use the Note field to add any information you can find useful. This is an internal note.
Action History
In the Action History tab, you can find a history of your previous generations and configurations.
You'll find:
ID It is the ID of the history line.
Version ID It is the ID of the data feed configuration version.
Origin The origin of the action can be: Backend / Cron / CLI / API
Username It is the name of the user behind the action.
Action The available actions are: create / generate / update / delete
Details If you click on Moredetails, you can see the detail of the data feed update from a grid.
If you click on a line of the above grid, you can check the detail in a popup.
Date It is the date of the modification.
STEP 3: Generate and download the data feeds
Generate the data feeds manually
Simple Google Shopping allows you to generate the data feeds manually or automatically.
Manually
You can generate your data feeds manually from the action dropdown of the data feeds grid.
You also have the possibility to 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 Simple Google Shopping.
Then, you need to select a least one day and one-time frame from the Cron schedule tab for each data feed that must be updated.
Generate the data feeds through CLI
You can easily use the Command Line Interface to generate the data feeds.
To generate all the data feeds:
bin/magento wyomind:simplegoogleshopping:generate
To generate one data feed from a given id:
bin/magento wyomind:simplegoogleshopping:generate int DATA_FEED_ID
To generate several data feeds from a given list of ids:
bin/magento wyomind:simplegoogleshopping: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:simplegoogleshopping:list
Download the generated data feed
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, select Save link as after a right-click on the link. You should 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 Simple Google Shopping
10 Things to know when creating an XML data feed with Simple Google Shopping
An XML data feed is using opening and closing tags that include a value.
<g:id>123456</g:id><price>45.99 USD</price>
A data feed template is made of several tags including 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.
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.
The syntactic coloration in Simple Google Shopping will also help you to avoid many errors in your pattern.
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...
{{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>
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 Simple Google Shopping 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 to 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 to 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 to 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}}
{{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.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}}
PRICES AND PROMOTIONS
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.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.min_price}}
Retrieves the minimum 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.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.
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 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.
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.
For example:
{{product.categories nth="1"}}
Shows the first category path : 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
Shows the before last category path from the 2nd category level with only one category level: Clothes
{{object.category_mapping}}
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:
This will retrieve a maximum of 5 category mappings in 5 separate tags.
{{object.google_product_category}}
Retrieves the Google category that you have assigned (in the Categories section) to the first category found for the product (index 0).
For example:
{{product.google_product_category}}
AVAILABILITY
The below attributes are often used to retrieve the availability of your products, for example, the quantity.
{{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.
For example:
{{product.qty float=1 stock_id="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 backorderable.
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.
For example:
{{product.availability stock_id="2" in_stock="Currently in stock" out_of_stock="Out of stock" backorderable="Available for order"}}
{{object.is_in_stock}}
Retrieves either "in stock" if the product is in stock, "out of stock" if the product is out of stock.
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
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.
For example:
{{product.is_in_stock stock_id="1" in_stock="In stock" out_of_stock="No more Stock"}}
PRODUCT VARIANTS
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.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>
{{object.attribute output="functions"}}
The output parameter allows you to define the output format for a given attribute.
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),0,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>
{{object.attribute php="functions"}}
The php parameter acts exactly like 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 Simple Google Shopping extension.
With Simple Google Shopping 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 ... ?>).
Those scripts are used with Data Feed Manager only.
API coding standards
The Simple Google Shopping PHP API uses the exact same syntax and standards as any PHP coding.
Attribute calls
For performance reasons, Simple Google Shopping 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 ouput 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 Simple Google Shopping.
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_simplegoogleshopping_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
Manage your Google Shopping data feeds in your Google Merchant Account
Each store is different, this is why you must pay particular attention to how is configured your data feed to be sure that it matches your own needs. We highly encourage you to check how to use Simple Google Shopping before starting using our extension and before submitting your data to Google Merchant.
Create a data feed in Google Merchant
To create a data feed, click on the PLUS icon from your Google Merchant Center account in: ProductsFeeds
Basic Information
Start with filling in the basic information:
Type The "Products" feed type is to submit your Google Shopping product information.
Country of Sale Choose the country where the products included in your data feed are sold and will be shipped. Note that these items must meet the requirements for the country of sale you submit to, including the feed specifications and policies.
Language It is the language of the content in your feed. Each country of sale has accepted content languages.
Destinations Select which Google products can display the items in your data feed.
Shopping ads
Once it's filled in, click on Continue.
Name and input method
You can continue with the name and the input method of your data feed.
Primary feed name This is the name of the data feed as it will appear in your merchant account and help you understand the content of the feed. Note that the feed name does not need to match the name of the actual file you’re submitting.
Now choose how to connect your data to Merchant Center. You have several options:
Google sheets If you're updating your product data via a Google Sheet. Note that the changes will automatically be applied to your account.
Scheduled Fetch If you're hosting a file on your website that contains data and scheduling a regular time for Google to fetch updates. Note that updates are only applied to your account when the fetch occurs.
Upload If you prefer keeping a file on your computer that contains data and regularly uploading it to your account through SFTP, FTP, Google Cloud Storage, or manually.
Content API If you're using the Content API for Shopping to automatically upload product listings.
Click on Continue.
Setup for Scheduled Fetch
If you have selected the Scheduled Fetch to connect your data to Merchant Center, fill in the below info:
File name This is the exact file name that you can find in the File name column from: Catalog › Simple Google Shopping
Googleshopping_full.xml
Fetch Frequency Choose to update your data daily, weekly, or monthly.
Note that Fetch frequency must be synchronized with your catalog updates. A daily fetch frequency requires to monitor your data feeds daily.
Fetch Weekday/Date Choose the day of the week/month when to update your data feed.
Fetch Time Choose the time when Google must fetch the data feed.
Time zone Select your locale time zone
File URL Add the URL that appears in the File link column when the data feed is generated from: Catalog › Simple Google Shopping
Login and Password Add your login and password in the case where the data feed is protected with http authentication.
Click on Continue.
Be careful to synchronize the fetching time with the data feed generation time. For example, when the data feed is generated at 01:00 AM, Google should fetch the data feed at 02:00 AM.
Setup for Upload
If you've selected the Upload method, fill in:
File name This is the exact file name that you can find in the File name column from: Catalog › Simple Google Shopping
Googleshopping_full.xml
Upload a file now You can now directly upload or drop your file.
Click on Continue.
Fetch data
The data feed should then be displayed in the data feed list from: ProductsFeeds
Open the new data feed and click on Fetch Now.
Fix the errors and warnings of the data feed
Once the data has been fetched a report is generated including errors and warnings that must be fixed.
You can have a clear overview of your product status from the Diagnostics tab. Check how many products are:
Active
Expiring
Pending
Disapproved
Errors
Here is a few examples of the common errors in Google Merchant Center.
Note that the errors will appear with a red exclamation mark.
Invalid URL
All the errors linked to the URL are due to the fact that you didn't specify the URL of your website in your Google Merchant Center account or it is not claimed, so go to: Google Merchant Center › Business Information › About Your Business › Website
Missing shipping information
If you get this error, it is because you didn't configure a shipping rule in your Google Merchant Center account or if you did, you didn't do it for the target country.
For that, go to: Shipping › Services
Here you can add a new rule just by clicking on the + button.
Then, fill in the different settings and click on Save.
That error occurs when products don't have a brand. For example, clothing items need a "brand" value.
You can first check that you're using the right attribute in your data feed template. For example, you may be using:
<g:brand>{{product.manufacturer}}</g:brand>
instead of:
<g:brand>{{product.brand}}</g:brand>
Otherwise, you can add an attribute from your Magento back office and define a brand for each one of those products from your admin: Magento › Manage products
In the case where all your products have the same brand, you can also define in your data feed configuration that all products will get the brand XXX by writing:
<g:brand>XXX</g:brand>
In the case where your products don't have enough identifiers, you can define that there is no identifier existing by replacing:
<g:identifier_exists>true</g:identifier_exists>
by:
<g:identifier_exists>false</g:identifier_exists>
Missing required attribute: age group
That error is due to the age group. In the case where you sell items for only one age group (adult), you could edit the data feed template with:
<g:age_group>adult</g:age_group>
In the case where you're selling products for adults and for children, you will need to add an attribute from your Magento back office (for example age_group) and specify the age group for each one of your products in your Magento admin: Magento › Manage products
and keep in your data feed template:
<g:age_group>{{product.age_group}}</g:age_group>
Missing required attribute: color
Concerning that error, it means that there is no "color" value found for some products.
You can first check that you're using the right attribute in your data feed template. For example:
<g:color>{{product.colour}}</g:color>
instead of:
<g:color>{{product.color}}</g:color>
Also, you may not have defined a color value for a particular product in your Magento admin: Magento › Manage products
Currency is not supported in the given country in attribute: price
When the currency is not supported in the given country, it means the currency defined in the data feed template is not the same as the currency of your products.
For example, the currency defined in the template is in EUR whereas your product prices are in USD. In that case, every EUR must be changed into USD in your data feed template.
Missing required attribute: size
When a size attribute is missing, you can first check that your products have an attribute for size.
For example, for the shoes category, the attribute for size may differ. You can have a look in the black box, in your data feed template configuration, to see if there is already an existing size attribute for shoes by clicking on Attributes Library.
As you can see, the size attribute for shoes exists under the name of shoe_size. Then you can add it to your data feed template as below:
With Google Merchant Center, you can also have an overview of the warnings. Warnings are not penalizing because your products are inserted to Google Shopping however it is better no to have some.
Note that the warnings will appear with an orange warning sign.
Missing recommended attribute: image link
That warning means that some of the products don't have image link.
You can have a look at some products involved. The problem may be that the products are variants of configurable ones.
The solution would be to modify the template in order to get the image links of the parent products and to replace:
{{product.image_link}}
by:
{{parent.image_link | product.image_link}}
Missing recommended attribute: description
When a description is missing, you can simply edit the product directly from your Magento backoffice: Magento › Manage products
Missing recommended attribute: google product category
When Google product category is missing, it means that you didn't map your categories with Google ones.
For that, go in the Categories tab of your data feed template, from: Catalog › Simple Google Shopping
FAQ
Pre-sales informations
Magento versions supported by Simple Google Shopping
This extension works with Magento Community Edition and also Magento Enterprise Edition. To know if Simple Google Shopping is compatible with your Magento version, please check the Compatibility tab.
Send a pre-sale question
To get information regarding our products and services, you can send your request:
Keep in mind that these services are in no case technical support.
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.
Modules' updates
Also, on the Changelog tab of each product page, you can find detailed information about all new versions available.
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 Simple Google Shopping
All countries are supported (tax rates and currencies) by Simple Google Shopping.
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 Simple Google Shopping
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 Simple Google Shopping. 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.
Simple Google Shopping limitations
Simple Google Shopping 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.
Syncing with a Google Merchant account
The data feed is not automatically sent to Google Shopping. Google Merchant will automatically and periodically retrieve your data feed. Here is how to proceed:
Create a Google Merchant Account.
Upload the generated file for the first time manually.
Once your file has been validated, create a cron job (a scheduled task) in your Google Merchant Account in order to automatically download the feed from your website. You can manage download periodicity directly in your Google Merchant Account.
From Magento 2, configure the data feed generation from the Scheduled Tasks tab.
Note that the validation of your data feed can take a few days for the first submission due to a manual verification from the Google team.
Compatibility with the Google Shopping requirements
The Simple Google Shopping and Data Feed Manager extensions for Magento 2 are fully compliant with the latest Google Merchant requirements.
We are always looking for ways to improve our extensions so as to offer you the best features and user experience.
Simple Google Shopping and Google Content API
Simple Google Shopping for Magento 2 doesn't use the Google Content API since it generates data feeds.
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 Simple Google Shopping on both your production and testing environments, follow the instructions below:
Install Simple Google Shopping 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 Simple Google Shopping, log into your Wyomind account:
Go to: my account › Licenses & downloads
Click on the settings icon next to Simple Google Shopping.
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 Simple Google Shopping, follow the steps below:
Go to: my account › Licenses & Downloads
Click on the settings icon next to Simple Google Shopping.
Click on the download icon.
Install the new version of Simple Google Shopping in your Magento admin or your WooCommerce back-office.
Modules Installation/Uninstallation
Extensions manual installation
You can install Simple Google Shopping manually.
Download Simple Google Shopping (zip file) on: mY ACCOUNT › Licenses & Downloads Refer to the FAQ: Extensions download
Once Simple Google Shopping 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 Simple Google Shopping using Composer software in two cases:
if you purchased Simple Google Shopping on Magento Marketplace.
if you purchased Simple Google Shopping 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 Simple Google Shopping 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 Simple Google Shopping. - In your Wyomind account: My account › Licenses & downloads Select Simple Google Shopping 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 Simple Google Shopping 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 Simple Google Shopping 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):
In the case where you've purchased the professional installation service, our team we will need the below information in order to proceed to the installation of the extension :
a valid FTP access (host, login and password)
an access to your admin panel (url, login and password)
an SSH access (for Magento 2)
Feel free to create a ticket including the above info from your Wyomind account in Support, or contact us via the following form.
Google Merchant account access
So that our team can proceed with the configuration of your data feed, we need you to share the access to your Google Merchant account with us.
As Google Partner, we offer you many possibilities to manage your products on Google. Feel free to check our Google Shopping services for more information about the data feed configuration.
To share your access, go to your Google Merchant account.
Click on Users from the parameters on the top of your account.
Click on the + icon to add a user and fill in our email address (contact us to see what email address you should use).
You can choose Standard as the user access.
Google Ads account access
So that our team can proceed to the configuration of your data feed, we need you to share the access to your Google Ads account with us.
As Google Partner, we offer you many possibilities to manage your products on Google. Feel free to check our Google Shopping services for more information about the data feed configuration.
To share your access, go to your Google Ads account.
First send us your account ID that you can find on top of your account next to your company name. We'll then be able to send you a request.
When it's done, you should have received an email. You can also check in the Managers section of your Google Ads account. There, you should see a request from Wyomind in your Link requests. Click on Accept from the Actions column.
A confirmation popup is displayed, click on Grant Access.
Once you've granted access, you should see Wyomind among your Managers.
Data feed configuration
Schedule the file generation with Simple Google Shopping
Simple Google Shopping 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
Simple Google Shopping also provides you with a cron job reporting, so that you can get email reports on each data feed or profile you're generating.
Shipping and tax in Google Shopping Data feeds
You have 2 ways to manage shipping and tax with Google Merchant:
Managing your shipping and tax settings in your Google Merchant Account: Settings › Shipping and tax
Adding shipping and tax informations directly in your data feed template.
Please note that tax setting should only be used for merchants submitting feeds to the US. For all other countries, it is required to submit prices which are tax inclusive.
Either you can manage tax in your Google Merchant account by choosing between these 3 options:
Opt to not charge tax.
Set a tax rate based on the state an item ships to.
Use an estimate based on the destination ZIP code. Note: To estimate the tax rate, we use data from Tax Data Systems based on the destination ZIP code.
Either you can also use the tax attribute in your data feed.
Either you can manage shipping in your Google Merchant account by choosing between these 3 options:
Specify a flat shipping rate (or free shipping).
Define custom tables if the shipping rate you charge varies by price, weight, or number of items.
(US only) Apply a carrier-calculated rate if the shipping rate you charge is based on rates from UPS, FedEx, or USPS. Note: We use daily rates for UPS, and standard (non-retail counter) rates for FedEx.
Either you can also use the shipping attribute in your data feed.
The shipping attribute is an item-level override for merchant-level shipping settings as defined in your Google Merchant Center account.
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 › Simple Google Shopping
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.
Frequent errors in Google Merchant
Errors and warnings in your Google Merchant account
After having uploaded your feed, you may get some errors and warnings in your Google Merchant account.
1. Go to the Data Feeds tab and open your data feed by clicking on its name.
2. There you'll be able to see the list of the different errors and warnings of your data feed. Click on the message you want to get more details about the issue.
3. The drop-down notification displays details about the error or warning and also contains a non-exhaustive list of products that are concerned about the issue.
4. Click on Show Item to see what's wrong with that product in particular.
Once corrections are made for each error and warning, don't forget to regenerate your feed from your Magento 2 admin and reupload it manually from your Google Merchant account.
You can find information on how to make the corrections for each error and warning in the following FAQs.
Critical Errors: inaccurate prices
This issue may happen if you didn't update the price configuration in the data feed pattern according to your Magento 2 website settings.
By default, the Google Shopping pattern is pre-configured for the US market, USD currency, and prices excluding tax.
Google requires some Unique Product Identifiers that may be a brand, a MPN (manufacturer part number), an EAN, an ISBN, or any other global identifier. They must be added as below:
<g:ean>{{product.ean}}</g:ean>
If you do not have any strong identifier to provide to Google, you can use an association of brand and MPN. This means that you must add in your data feed configuration the following code snippet:
Above, brand is your own attribute for brand and your SKU attribute is used as a manufacturer part number. If you do not have a manufacturer attribute, you can also hard code this value like this:
<g:brand>Your own brand</g:brand>
It's also possible to specify that your products don't have any identifier at all:
<g:identifier_exists>FALSE</g:identifier_exists>
Missing required attribute: gender
You didn't specify gender.
Gender is required for all apparel items in feeds that target the US, UK, DE, FR, and JP.
3 values are accepted:
male
female
unisex
Missing required attribute: age group
You didn't specify the age group.
Age group is required for all apparel items in feeds that target the US, UK, DE, FR, and JP.
2 values are accepted:
adult
kids
Missing required attribute: color
You didn't specify the dominant color(s) of the item.
Color is required for all apparel items in feeds that target the US, UK, DE, FR, and JP.
Missing required attribute: size
You didn't specify the size.
Size is required for all apparel items in the 'clothing' and 'shoes' product categories in feeds that target the US, UK, DE, FR, and JP.
Missing recommended attribute: google product category
You didn't specify any category mapping for listed categories/collections.
Category/collection names you are using in your Magento 2 aren't always the same that those 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.
Missing recommended attribute: product_type
Reminder: product_type is an attribute that indicates the category/collection of the product being submitted, but you can provide your own classification. Unlike the google_product_category, you can include more than one product type attribute value if products apply to more than one category.
In Simple Google Shopping, you have a magic attribute realizing this for you:
{{product.product_type}}
It creates a list of all the categories/collections where the product may be found :
<g:product_type> category A > sub-category B </g:product_type>
<g:product_type> category A > sub-category B > sub-category C </g:product_type>
It happens that Google Merchant reports you warnings about missing product_type. The issue usually comes from simple products that are associated with configurable ones. You could try to use this code which will retrieve the parent "product type" for each product:
{{parent.product_type}}
Missing recommended attribute: description
Description missing means that your products don't have any description available. Google needs the description for each item.
First of all, check if the concerned products use the short_description. The short descriptions are filled for your products but not the long descriptions, so you must use in your data feed pattern:
Then, check if the concerned products are not linked to a parent that has the description, the descriptions are attached to the parent items (when using configurable / simple products), so you must use in your data feed pattern:
This error means that your descriptions contain some invalid characters: either wrongly encoded characters or unsupported characters (not supported by the UTF8 character set).
Most of the time the cleaner function should help to remove all wrongly encoded characters:
Image missing means that some of your product don't have any image attached.
First of all, check if the concerned products have at least one image assigned.
Then, check if the concerned products are not linked to a parent. If they are, you just need to use the following code that will display the parent product's images:
{{parent.image_link}}
If you still have missing images in your data feed, this could be because some of your products don't have images at all. In such a case you must use the advanced filters in order to remove these products from the feed.
Some of my products have issues with microdata
Microdata is a kind of HTML snippet that must be added to the product pages in order to allow Google to fetch your data more regularly.
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 Simple Google Shopping 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 › Simple Google Shopping
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 Simple Google Shopping 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
U
UKD
Merchant · United Kingdom · User for 9 years
★★★★★
Great Simple And Essential Module
Great simple and essential module for your Magento 2 store. Easy installation, good guidance and integrates with all our other modules. Support was required a few times for various issues we had and that was first class too. Allows easy and fast creation of google merchant centre feeds. Highly recommended.
SD
Sergio Doglioli
Merchant · Italy
★★★★★
Just simple and power
Excellent module: I needed to perform several exports to synchronize my platform. Nothing is simpler, faster, or more powerful than Wyomind. I had tried other modules in the past, but they all had limitations that prevented their use: with Wyomind, I finally found the ultimate solution, even for those without technical expertise.Very powerful for those familiar with the software, simple to use for beginners or those without specific database and language skills. Perfect. Thanks.
F
Fern
Merchant · United Kingdom · User for 1 year
★★★★★
Good, simple extension that does the job
all good
MS
Mr Smith
Merchant · United Kingdom · User for 13 years
★★★★★
Excellent extension, does exactly what we need
We needed an extension to generate xml sheets for google shopping with the ability to filter out certain product types and also to filter by attributes. This extension does exactly what we need, as well as offering many more customisable options and filter settings that may be useful for others. It has been in use for several years now, generating updated xml sheets every 24 hrs which our merchant centre then pulls across keeping every products details up to date. The few times we have needed to contact support with a query, they have been quick to respond and help resolve our query quickly and without fuss. Highly recommend for any magento website which uses google shopping, this is pretty much essential.
T
talc
Merchant · United Kingdom · User for 6 years
★★★★★
Google Shopping extension for Magento is fantastic
Wyomind’s Simple Google Shopping extension for Magento is fantastic! Easy to set up, highly customizable, and saves so much time. Great support team too. A must-have for seamless feed management!
J
Jose
Developer · Spain · User for 12 years
★★★★★
Easy to use, intuitive and very good documentation.
Every day they improve the extension a lot more, besides having it always with a very extensive documentation and the support is super fast.
M
Mark
Merchant · United Kingdom
★★★★★
A Game-Changer - Highly Recommend!
We've been using this Magento extension for several years now, and it has truly transformed how we manage our data feeds. What sets this extension apart is its simplicity combined with incredible flexibility. Setting up product feeds was straightforward, even for team members without extensive coding knowledge. The XML customization options allowed us to tailor our feeds exactly to our needs, ensuring everything is perfectly aligned with Google's requirements.
The extension isn’t just limited to Google Shopping. We've also successfully used it to create feeds for other marketplaces, which has expanded our reach with minimal additional effort. The ability to schedule feeds and automate updates has saved us countless hours, keeping our product data current without the need for manual intervention. We've often used it in unconventional ways on our care home website.
Another standout feature is the exceptional support team. Whenever we've encountered a question or needed assistance, their response has been quick and helpful, ensuring that any issues are resolved promptly. The documentation provided is thorough, making it easy to navigate even the more advanced features of the extension.
In conclusion, this extension is a must-have for any Magento-based website looking to optimize product feeds efficiently. It’s reliable, easy to use, and supported by a team that clearly knows their stuff. We highly recommend it to any business aiming to streamline their data feeds and enhance their online presence.
A
ANYBRAND
Merchant · Germany · User for 10 years
★★★★★
Easy to use and efficient
We use this module for our promotional gifts products since years now. It is easy to use and efficient. The support from Wyomind is always fast and friendly. We highly recommend this extension.
H
HS
Merchant · United Kingdom · User for 3 years
★★★★★
Makes life simple
So, I have used Google Shopping feed Extension by Wyomind for our business to generate product feeds , Much satisfied with the extension and support service they offered. Also the extension generates the precised product feeds and much according as per the requirement.Easy to install extension. The configuration backend is very clear and intuitive and also customizable. Configurable products are supported. I installed it without any problem, modules are constantly updating and the upgrade is easy.
DD
Don D.
Merchant · United States · User for 8 years
★★★★★
This module is really simple and work well
We have used this module for at least 10 years now. Yes, we had to pay for extended support a few times to update the compatibility with Magento and PHP versions, but the flexibility of the XML variables and codes itself always worked.
We have never had to change the XML file, the file created by cron, and submitted the updated version of our inventory to Google every evening and never failed.
Although they don't advertise it, you can use this same module to create different versions of inventory files to update to different marketplaces like Facebook Shopping...
Great module, good work you guys!
G
Gonzalo
Developer · Spain · User for 12 years
★★★★★
Very good extension and comfortable to use
It is a very easy to use extension with a little knowledge and even if you do not have the documentation is very well explained and ready to work with it.
Also the support is very good
SK
Samuel K
Merchant · France · User for 14 years
★★★★★
Un outil particulièrement puissant avec une flexibilité hors pair
Une rapidité de mise en oeuvre, une pureté des données générées et un service client réactif toujours à l'écoute pour nous accompagner dans l'optimisation des mécaniques de création des données dynamiques.
La puissance de l'intégration de la structure XML modifiable à souhait avec la puissance du PHP, c'est la perfection à l'état pur ! Nous avons rarement été autant surpris par un outil aussi puissant et aussi facile à exploiter, chapeau bas à l'équipe de Wyomind !
V
Vicki
Merchant · United Kingdom · User for 11 years
★★★★★
This module is great for uploading your products to Google
This module is great to upload your products en mass to the google shopping centre; it is super easy to use without coding knowledge requirement.
Everytime we have required the support, the team have provided responses within minutes and the resolution to all of our issues.
We have used this module for over 11 years now on different versions of Magento and it has never let us down.
A* would thoroughly recommend
J
JoshFBC
Merchant · United Kingdom · User for 11 years
★★★★★
Solid data exporter
We have had this module installed ever since we moved to magento two, around 3 years ago. Since then with have comprehensively used this extension to generate a Google Merchant Feed that has been ingested directly into Google with great results. We now use the plugin to send the data to a Google Comparison Shopping Service (or CSS) with great success. We have also had similar success with exporting feeds to the Meta platform via an equivalent CSS and furthermore to Pinterest too. Each of these feeds had different requirements, all of which were handled with no issue but the extension. However, we have struggled to create stable feeds for other marketplaces that do not first feed into a data aggregator. This is almost certainly due to the fact that this kind of functionality is not the scope of this extension, and the Data Feed extension that wyomind is probably a far better option. I would definitely recommend this extension for businesses who have a simple requirements to send product data to the key Marketplaces, however with caution that they may not always work as expected, especially if not further feeding the data into some form of middleware/ data aggregation software. Overall I would give this module 5 stars, as it achieves more than what we ever expected it to.
S
sbakker
Merchant · Netherlands · User for 13 years
★★★★★
Excelent module! Using it for more then 10 years
As an online retailer, I understand the importance of having a strong presence on Google Shopping to maximize product visibility and drive sales.The pleasure of using Simple Google Shopping by Wyomind, and I must say, it has been a game-changer for my business. This review aims to shed light on the exceptional features and benefits of this remarkable tool. Simple Google Shopping Wyomind is a game-changer for online retailers. Its user-friendly interface, feed optimization, synchronization, and advanced filtering make it a must-have tool. Highly recommended!
A
Areeb
Merchant · United States · User for 4 years
★★★★★
The Extension is great to generate product feeds
So, I have used Google Shopping feed Extension by Wyomind for our business to generate product feeds , Much satisfied with the extension and support service they offered. Also the extension generates the precised product feeds and much according as per the requirement. I would recommend this extension to all the bushiness merchants to use it for their business and generate the google shopping feeds so that you all can grow your businesses.
S
Schmucker_schmuck
Merchant · Germany · User for 4 years
★★★★★
The extension simple google shopping works fine
Hi, with simple google shopping you can create data feeds for Google shopping with templates which allow the use of PHP in it. This makes it really easy to adapt the attributes of our magento 2 shop to the guidelines of Google Shopping, it helps a lot! One minor point of criticism is that the templates from the Magento 1 extension of Wyomind which we used as well had to be quite a bit adapted to make them work in the magento2 extension simple google shopping. But overall the migration from M1 to M2 was quite an adaption, so the guys at Wyomind had to do some adaption work themselves I reckon!
R&
R & W Media Magento Agency
Ecommerce Agency · United Kingdom · User for 10 years
★★★★★
Best Google Shopping feed extension
The best Google Shopping feed extension on the market place. We use this for so many of our clients' stores. Easy to set up and use, highly recommended
MM
Manuel Moreno
Marketing Agency · Spain · User for 7 years
★★★★★
Indispensable for our store
We were using the Simple Google Shopping plugin in Magento 1, and it worked flawlessly every time. When we migrated our store to Magento 2, we opted for the same solution. The plugin is good overall and performs the functions it was created for. The support team helps with the implementation thanks to the free support period and gives you the option to increase that support time by up to 2 more months. The wyomind team is made up of great Magento certified professionals, which is what we were interested in from the beginning.
B
BettyJ2
Developer · United Kingdom · User for 8 years
★★★★★
Excellent - does exactly what it says it does!
This is a module we have been using since 2018 and in this time we have had no issues or complaints. We have also been very impressed with the level of upgrades that are available after a Magento 2 update. No complaints here!
Magento 2 Compatibility
Supported by our master extension versions
2.4.9
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 Simple Google Shopping to work, step by step.
Attribute set selection in the feed filters — when the Attribute Set selection added up to more than 250 characters, it was not saved and the feed silently kept the previously saved sets. The selection is now stored up to 4000 characters.
17.0.13
Bug fix
Product URL in the feeds — after the URL key of a product was changed with Create Permanent Redirect, {{product.url}} could output the old URL, redirected with a 301, whatever the Use canonical urls option (shortest or longest category URL, individual product URL). The feed now uses the current URL of the product.
17.0.12
Improvement
Output of the admin templates is now escaped.
Compatibility
Replaced utf8_decode(), deprecated since PHP 8.2.
17.0.11
Bug fix
Tags with a quantity equal to 0 were dropped from the feed: the string "0" was treated as an empty value in the OR (|) fallback resolution. Numeric values are now accepted
17.0.10
Bug fix
Fixed a fatal error with PHP 8: the execute() method of the console commands is now compatible with Symfony Command::execute(): int
The Generate and Listing CLI commands always returned a failure code, whatever the outcome
17.0.9
Improvement
Improved price rounding
17.0.8
Compatibility
Compatibility with Php v 8.4
17.0.7
Compatibility
Zend_Json::encode has been replaced with the native json_encode function
17.0.6
Bug fix
Fix missing slash in image urls when using the role parameter
17.0.5
Bug fix
Feed's list page: display the last generation date in the Magento admin's timezone rather than GMT
17.0.4
Bug fix
Correct a javascript error in admin
17.0.3
Bug fix
Correctly render effective end date on special prices
17.0.2
Bug fix
Correct product visibility filter
17.0.0
Initial release for the master version
16.0.0 legacy
Initial release for the legacy version
15.0.6
Bug fix
Fix potential bug that drives to incorrect product page URL
15.0.5
Improvement
Accelerate the data feed generation process
15.0.4
Compatibility
Compatibility with Php v 8.1
15.0.3
Compatibility
Compatibility with Php v 8.1
15.0.2
Improvement
The extension supports now custom product visibility types
15.0.1
Compatibility
Compatibility with Magento v2.4.6 + PHP v8.2
15.0.0
Compatibility
Compatibility with Magento v2.4.6 + PHP v8.2
14.10.2
Improvement
Price block override that prevents price mismatches for configurable product (beta)
14.10.1
Improvement
Custom price block optimized (custom block that prevents product prices mismatches with configurable products)
14.10.0
Improvement
The category mapping auto-complete is updated to match new jQuery overrides
14.9.3
Compatibility fix for PHP v8.1
14.9.2
Better schema upgrade and data upgrade management
14.9.1
Bug fix for data feeds including numerous attributes
Better schema upgrade and data upgrade management
14.8.4
PHp v8.1 compatibility improvement
14.8.3
Compatibility
Compatibility with PHP 8.1
14.7.2
Fix for recovering the promotion ids
14.7.1
Fix for retrieving images with a particular role in the case where the role name ends with a number
14.7.0
Improvement
Possibility to choose the image role for {{product.image_link}}
14.6.4
Temporary deactivation of the price rendering feature for configurable products with pre-selected options: this feature changed the price of other products displayed on the product page
14.6.3
Fix for the error: Notice: Undefined property: WyomindSimpleGoogleShoppingModelResourceModelProductCollectionInterceptor::$attributesHelper
14.6.2
Improvement
google_product_category is now a reserved keyword so that it always provides the result of the category mapping even if there is an attribute produced with this code
14.6.1
Minor fix on code
14.6.0
Feed generation speed optimized
14.5.2
Fix for the cron tasks
14.5.1
Fix for a bug preventing the data feeds automatic generation
14.5.0
Better management for cron tasks that are now based on the locale date and hour defined in the back-office
14.4.14
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
14.4.13
Minor fix on code
14.4.12
Minor fix on code
14.4.11
Improvement
Possibility to use a negative index when retrieving images: {{product.image_link index=-1}} retrieves the last image of the product
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
14.4.10
Fix when categories are deleted whereas they are selected in the data feed configuration
14.4.9
Modification of the method to retrieve the base Magento directory and adaptation for some Magento Cloud configurations
14.4.8
Fix when categories are selected as filters but don't exist anymore in Magento
14.4.7
Improvement
The currency parameter is supported for product.url_config
14.4.6
Fix for a bug
Management of a special case in the generation reports
14.4.5
Fix for converting prices according to the price scope (global or website)
14.4.4
Mapping section increased: useful when having a lot of categories
14.4.3
The module is even more permissive for sites that do not have sources associated with a website
14.4.2
Improvement
The module can work even if there is no source configured for the current stock
14.4.1
Fix for a bug preventing the data feed page to load when non-standard attributes were used
14.4.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
14.3.1
Improvement
Report is back in the black box
14.3.0
Improvement
Error reporting available when clicking on "X errors, X warnings" after the feed generation and in the grid
14.2.1
Magento Cloud fix for factory classes
14.2.0
Improvement
Improved license management system (Clear code)
14.1.1
Fix for the demo store
14.1.0
Improvement
License system improved
14.0.5
Minor fix for Magento 2.2
14.0.4
Improvement
PHP code quality improved
14.0.3
Minor fix on code
14.0.2
Minor fix on code
13.8.9
Bug fix
Fix for retrieving images for Magento Enterprise: row_id is used to retrieve images in the gallery table
13.8.8
Improvement
Product types filter: product types are retrieved dynamically
13.8.7
Fix on a SQL error when there is a lot of mapped attributes
13.8.6
Fix for retrieving stocks using Magento EE
13.8.4
Improvement
Better management of sales_effective_date: dates are not displayed if from and/or to date are missing
13.8.3
Fix on a typo on the "separator" parameter
13.8.2
Fix for products URLs with manually created rewrites
13.8.1
Fix for Magento 2.3.3
13.8.0
Compatibility with Magento 2.3.3
13.7.1
Fix on a bug when generating feeds with promotional price rules
13.7.0
Compatibility
Compatibility with the Multi Stock Inventory module on Magento v2.3.0
Patch v13.7.0.8
Fix for the default value of Use canonical URL
Patch v13.7.0.7
Sample date available for the demo
Patch v13.7.0.6
Fix on advanced filters
Patch v13.7.0.5
Minor clean in etc/di.xml
Patch v13.7.0.4
Minor fix for URL rewrite
Patch v13.7.0.3
Fix for the promotion_id
Patch v13.7.0.2
Fix for the canonical URLs default value
Patch v13.7.0.1
Fix for the compilation
13.6.1
Fix when installing several modules at the same time
Patch v13.6.1.2
Fix for the default value of Use canonical URL
Patch v13.6.1.1
Fix for the promotion_id
13.6.0
Compatibility
Magento 2.3 compatible
Patch v13.6.0.9
Fix for the default value of Use canonical URL
Patch v13.6.0.8
Revert for Magento Cloud
Patch v13.6.0.7
Disabled images are excluded from the feeds
Patch v13.6.0.6
Minor fix on code
Patch v13.6.0.5
Fix when retrieving products urls for Magento 2 EE
Patch v13.6.0.4
Fix on path with Magento Cloud
Patch v13.6.0.3
Fix when using with Magento Cloud: /app/ was added to the path where the file is stored
Patch v13.6.0.2
Fix for the energy_efficiency_class tag
Patch v13.6.0.1
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
13.5.3
Compatibility
Compatibility with PHP v5.5 and v5.6
Patch v13.5.3.3
Minor fix on code
Patch v13.5.3.2
Fix for the energy_efficiency_class tag
Patch v13.5.3.1
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
13.5.1
Improvement
Improved execution of php script when the attribute value is a table
Patch v13.5.1.3
Minor fix on code
Patch v13.5.1.2
Fix for the energy_efficiency_class tag
Patch v13.5.1.1
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
13.5.0
Improvement
Better management of category filters and mapping
Patch v13.5.0.4
Minor fix on code
Patch v13.5.0.3
Fix for the energy_efficiency_class tag
Patch v13.5.0.2
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
Patch v13.5.0.1
Fix on php syntax
13.4.3
Better management of the module installation place
Patch v13.4.3.3
Minor fix on code
Patch v13.4.3.2
Fix for the energy_efficiency_class tag
Patch v13.4.3.1
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
13.4.2
Bug fix
Fix for compatibilty with Magento < 2.2.5
Patch v13.4.2.5
Minor fix on code
Patch v13.4.2.4
Fix for the energy_efficiency_class tag
Patch v13.4.2.3
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
Patch v13.4.2.2
Fix on {{product.qty}} when a configurable product has no child
Patch v13.4.2.1
Minor fix in the layout
13.4.1
Fix on PHP code execution in the template
Patch v13.4.1.3
Minor fix on code
Patch v13.4.1.2
Fix for the energy_efficiency_class tag
Patch v13.4.1.1
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
13.4.0
Improvement
Compatibility with Magento 2.2.5
Patch v13.4.0.3
Minor fix on code
Patch v13.4.0.2
Fix for the energy_efficiency_class tag
Patch v13.4.0.1
Fix on the simplegoogleshopping_categories variable that caused issue when creating a new data feed
13.3.2
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 v13.3.2.1
Minor fix on code
13.3.1
Improvement
Files are now automatically updated depending on the Magento version while installing the module
Patch v13.3.1.5
Fix for the Google Taxonomy source
Better management of the taxonomy
Fix for default feeds
Patch v13.3.1.4
Fix on specific tags
Patch v13.3.1.3
Fix on CDATA management
Patch v13.3.1.2
Fix for the category filters
Patch v13.3.1.1
Fix for the bundle products
13.3.0
Improvement
Fix for a Magento Bug that displays the SQL request instead of the error message
Fix for the error messaged related to the license management
Patch v13.3.0.2
Fix for the Google Taxonomy source
Better management of the taxonomy
Fix for default feeds
Patch v13.3.0.1
Fix for the bundle products
13.2.0
Improvement
Magento v2.2.1 compatibilty
Patch v13.2.0.4
Fix for the Google Taxonomy source
Better management of the taxonomy
Fix for default feeds
Patch v13.2.0.2
Fix for Magento Enterprise Edition
Patch v13.2.0.1
Fix for the cron task frequency (*/30 * * * * instead of * * * * *)
13.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 simplegoogleshopping_* (instead of sgs_*)
Default Custom functions renamed to wyomind_* (instead of sgs_*)
Bug fix
minor fix on the output parameter for static values
Patch v13.1.0.3
Fix for the Google Taxonomy source
Better management of the taxonomy
Fix for default feeds
Patch v13.1.0.2
Fix for the cron task frequency (*/30 * * * * instead of * * * * *)
Patch v13.1.0.1
fix for the translation file ("menu" was translated with an empty string)
13.0.1
Compatibility
Compatibility with Magento v2.2
Patch v13.0.1.2
Fix for the Google Taxonomy source
Better management of the taxonomy
Fix for default feeds
Patch v13.0.1.1
Fix for the cron task frequency (*/30 * * * * instead of * * * * *)
13.0.0
Support on the following Magento optimization options:
Javascript merging
JavaScript bundling
Javascript minification
Patch v13.0.0.3
Fix for the Google Taxonomy source
Better management of the taxonomy
Fix for default feeds
Patch v13.0.0.2
Fix for the cron task frequency (*/30 * * * * instead of * * * * *)
Patch v13.0.0.1
Javascript fix for the category filter types
12.0.1
Bug fix
Fix a bug in the display of the categories
Patch v12.0.1.2
Fix on PHP errors generated by previous patch version
12.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 v12.0.0.2
Fix on PHP errors generated by previous patch version
11.0.2
Improvement
Better support for attributes including HTML tags
Patch v11.0.2.2
Fix on PHP errors generated by previous patch version
11.0.1
Improvement
Better support for the install/upgrade scripts
Method $this->skip() available directly from the template to skip the current product
Patch v11.0.1.2
Fix on {{product.categories}} Categories that are empty when retrieved by {{product.categories}}, are deleted from the category list.
Fix on PHP errors generated by previous patch version
11.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
Patch v11.0.0.2
Fix on PHP errors generated by previous patch version
10.0.8
Compatibility
Simple Google Shopping is compatible with Magento 2.1.0
Patch v10.0.8.3
fix for the translation file ("menu" was translated with an empty string)
Patch v10.0.8.2
Fix on PHP errors generated by previous patch version
10.0.7
Bug fix
Fix for images recovery
Patch v10.0.7.2
Fix on PHP errors generated by previous patch version
10.0.6
Improvement
Code improvements for Magento Audit
Patch v10.0.6.2
Fix on PHP errors generated by previous patch version
10.0.3
Improvement
Minor code improvements
Patch v10.0.3.2
Fix on PHP errors generated by previous patch version
10.0.2
Improvement
New attribute {{product.url_config}} retrieves URL to pre-select the simple product attributes from its configurable
New management of licenses for Magento 2
Patch v10.0.2.2
Fix on PHP errors generated by previous patch version
10.0.0
Compatibility
Simple Google Shopping is compatible with Magento 2
Patch v10.0.0.2
Fix on PHP errors generated by previous patch version
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!