Last Updated on September 6, 2021
For some lucky, creating a Google Shopping feed that works is a walk in the park.
But since you’re here reading this article, I bet you’re not one of them.
It’s not rocket science, but it can be very tricky to know what to fix and then to find where to fix it.
I’ve set up hundreds of Shopping campaigns and I’ve encountered most problems at least once.
So in this article, I’ll take you through the various parts of a shopping feed, how you avoid these devilish errors and how to get to fix them as quickly as possible.
Table of Contents
Part 1 – Basic Google Shopping Feed Fixes
Let’s start with the easiest part, the name.
The feed you need for Google Shopping is known under a ton of different names: merchant center feed, google shopping feed, product data feed, product feed, data feed, etc.
Those might sound complicated but all of these are the same thing: a file with all of the product information of your store in a format that can be read by another system.
These kinds of feeds are used by a lot of different systems. But if you want to advertise your products in Google Shopping, you’ll need to adhere to Google’s requirements.
Google Shopping Product Data Specification
Google has a long list of specifications that details which data they need and in which format they need it in.
If you’re having problems with your Google Shopping feed, this is probably where things go wrong.
The data that you have in your Shopping feed is insufficient, or incorrect.
The exact requirements depend on two things:
- the type of product that you sell
- the country you’re selling in
In what follows, I’ll start with all of the required items. If you’re stuck, going through this list and understanding what goes on behind the scenes might give you a clue how to fix it.
id
The product id is the number you use in your store to identify a specific item. It’s important that the number is unique in your product feed. You can use your SKU number or the id generated by your store platform.
If you want to sell in the same country in multiple languages, you can use the same product id for the same item in a different language.
title
For the product title attribute, you can describe your product in up to 150 characters.
Be sure to include the most important keywords at the start, because Google often will show only the first 35 characters, as you can see in the screenshot below:
In the Google Shopping portal, a bigger product title up to 75-100 characters is shown. But the majority of people won’t see this page:
The product title is one of the product attributes with the biggest impact. So make sure you include import product details like brand, color, material or size.
Pro tip: a good product feed title usually also is a title with a lot of SEO benefits
Avoid promotional text in your titles like Free Shipping or Limited offer.
For more tips on how to improve your product titles, read our Product Title Optimization Guide!
description
The product description is where you give all the product details a customer cares about: features, dimensions, use cases, etc.
These descriptions don’t show up in the search results, but they do in the Free Listings section on the Shopping tab of the search results.
You have up to 5000 characters, but only a few of those will actually show. In the screenshot, about 175 characters are shown. If we check the seller’s website, the product description has over 1400 characters.
So use the limited real estate smartly. Get your most important point across first. And although the rest of the product description might not be visible, it can help Google to understand what other keywords your product would be relevant to appear for.
As with the title, avoid promotional text.
link
You have to provide a direct link to the product page (not your homepage) and it has to include the https:// (or http://) part. If you have a specific page for mobile traffic, you can supply that link via the mobile_link attribute.
image_link
This is the main product image. If you have multiple images, use the additional_image_link attribute.
It’s best to use the best quality image you have, preferably 800px x 800px, but higher is always better. Ideally, the shot needs to be of the product on a white background.
Don’t try to be clever by adding extra text or logos to the image, that won’t work.
But do have a look at the current search results. It happens often that all products have the same image, often dropshippers that use the product images supplied by the manufacturer. That means that you could stand out with a different angle or higher quality image.
Let’s take a look at another example of this tactic:
google_product_category
The google product category attribute tells Google which category your product belongs to.
The category attribute is no longer required. If you don’t pick a category, Google will pick the most appropriate on automatically:
This feature hasn’t been around for too long, but Google’s guesses of the product categories that I’ve seen were pretty accurate.
If you want to supply the data yourself, you can only use the pre-defined values from the Google Product Taxonomy list. Don’t just settle for the highest level category, try to be as specific as possible.
Example: you’re selling a cycling jersey:
Don’t settle for the general category: Apparel & Accessories > Clothing > Activewear
But be as specific as possible: Apparel & Accessories > Clothing > Activewear > Bicycle Activewear > Bicycle Jerseys
Being as accurate as you can help to increase your visibility.
If you’re selling bundled products, pick the most appropriate category.
product_type
The product type is another category indicator. It’s not required but highly recommended. This one is mainly used for the organization of your Shopping campaigns.
You’re also not limited to the categories that Google has, so you can create your own subcategories to make the organization easier.
Most advertisers will send their own site hierarchy into this attribute.
If you do use this, be sure to include the full string. In the example above, maybe your store only sells cycling jerseys. So you could have:
Apparel & Accessories > Clothing > Activewear > Bicycle Activewear > Bicycle Jerseys > Woollen Jerseys
or
Apparel & Accessories > Clothing > Activewear > Bicycle Activewear > Bicycle Jerseys > Nylon Jerseys
This allows you to access all of these values when you’re organizing your campaigns.
condition
The product condition is a required attribute for all products.
Options:
- new
- used
- refurbished
availability
The product availability is a required attribute for all products.
Options:
- in stock
- out of stock
- preorder
Note that items available for preorder are eligible to show in Google Shopping. If you want to prevent this, you can set them to “out of stock” instead.
price
The product price + currency is a required attribute for all products. For example 15.00 USD. The currency needs to match the country you’re creating the feed for, it needs to match the price of the product a customer would pay at checkout.
You need to include VAT into your price, except if you’re targeting the USA, Canada or India.
Price mismatches are one of the most common problems in a Google Merchant Center account. This is often the case if you have multiple variants or if you’re doing currency conversions!
sale_price
Use the sale_price attribute to communicate a special deal on a product. It is an optional attribute with the same requirements of the product price attribute.
Common mistake #1
The attributes condition, availability, sales price, and price are pretty straightforward, but Google is very strict about the accuracy of all the data in your product feed.
What you put in your feed needs to match the data on your website. If the price doesn’t match, a product will get disapproved.
To avoid this, make sure to update your Google Shopping feed is updated frequently and that the data for each product variant is passed correctly. Check in the Automation section below for some tools that make this process easier by integrating with your store.
gtin
Gtin or Global Trade Item Number is a unique product identifier. You probably know these better as barcodes. Depending on you where you are located or source your products from, you’ll use a different system:
- UPC: 12 digit number mainly used in North-America
- EAN/UCC: 8,13 or 14 digit number mainly used outside North America
- JAN: 8 or 13 digit number used in Japan
- ISBN: unique identifier for books
If you have multiple options, for example, a UPC code or an EAN number, you can use either one of them.
If you are selling a multipack or bundle, use the gtin of one of the products.
brand
The brand name of the company that created the product. Don’t include your own store name or the name of your distributor. If it’s a product that you have created yourself and you’ve bought a UPC/EAN barcode from a party like GS1, do add your brand name here.
mpn
Mpn or Manufacturer Part Number. This is a number provided by the manufacturer of the product. It’s required for products that don’t have a valid gtin number.
identifier_exists
The identifier_exists attribute indicates whether a product identifier exists for this product. Here is how to use it:
- You resell items that have a gtin / mpn and a brand: identifier_exists needs to be set to TRUE
- You sell old or custom items: identifier_exists needs to be set to FALSE (Google then won’t require a gtin, mpn number or brand for these products in your data feed)
If you don’t provide a value, Google will set it to TRUE.
Don’t try to be clever and set the identifier_exists to FALSE to avoid having to look up or enter all the product identifiers. Google really needs this information to match you with the right search queries.
Common mistake #2
For most products, Google requires 2 out of 3 product identifiers. These are the following attributes: brand, gtin or mpn.
Because a lot of sellers will have different product titles or descriptions, Google uses these product identifiers to figure out which products are the same.
If you don’t supply the correct information, your products might be disapproved, or it will fail to get clicks. This means it’s in your own interest to do the legwork to include these product identifiers.
If you haven’t been using gtin or mpn identifiers, check with your suppliers, they should be able to provide them.
But I’ve also had many cases where a supplier didn’t know or didn’t have any product identifiers.
My next move is usually checking sites like upcitemdb or barcodelookup.
For example, I tried to find the UPC number of an Anker Powercore 20000 power bank. I opened up upcitemdb. The screenshot below shows me all of the different product variations.
I assume Google has a similar database.
If you don’t add the product identifiers to your shopping feed, Google will match your products based on the product titles.
So if your product title is “Anker Powercore 20000 power bank”, Google will show Shopping ads with searches for power bank.
But there are a lot of other ways to describe this product: battery pack, external battery, etc. Thing is that your competitors are probably using a lot of these keywords. And if you use the same product identifiers as your competitors, you’re able to tap into this multitude of searches.
Special product attributes
Besides most of the required attributes covered above, some categories or cases require you to add additional information into your product feed. Apparel probably being one of the most demanding categories.
item_group_id
The item_group_id attribute is necessary if you’re selling a product that comes in multiple variations like a different color or size.
The attribute indicates to Google that there is one “core product”, with small variations. It allows customers to explore variations right in Google Shopping:
Each of the products that have the same item_group_id needs to have one product attribute that differs
For example:
- Light pink chinos 34: item_group_id: chino12 – color: pink – size: 34 – age_group: adult
- Black chinos 28: item_group_id: chino12 – color: black- size: 28 – age_group: adult
- Blue chino 32: item_group_id: chino12 – color: blue – size: 32- age_group: adult
Below I’ll cover each of the attributes that are used in the variations.
If you submit multiple products with the same item_group_id, but with identical attributes, you’ll see the “duplicate variants” error. You can fix this by making sure each variation is unique.
color
The color attribute is required for all apparel items and indicated the color. The value you need to provide to Google needs to be the actual color spelled out: black grey, teal, etc.
If you have multiple colors, you can provide up to three colors by putting a slash in between colors. For example: yellow/green/white
gender
The gender attribute indicates the gender the product is for.
Possible values are male, female or unisex.
size
The size attribute indicates the product’s size. Multiple values are supported, but you have to stay consistent across variations.
In our example above we were using the size for the pants: 28, 29, 30, 31, 32, etc.
If you’re also selling shoes you can use the common shoe size in your region: 7, 9, 9.5, 10, 10.5, etc.
Also, S, M, L, XL are possible.
If the product contains 2 size dimensions, like a pair of pants, you can combine them separated by a slash: 32/34 for example (where 32 is the waist and 34 is the length)
age_group
The age_group attribute is required for all apparel items and it indicates which target audience the product is meant for. Possible values are:
- newborn: 0-3 months
- infant: 3-12 months
- toddler: 1-5 years
- kids: 5-13 years
- adult: 13 years & up
These values will help Shopping match products to search queries like “sun hat baby 7 months”
So in most cases, you’ll use set age_group to adult. Note that this is different from the adult attribute, which is explained below.
adult
The adult attribute is required if the products contain nudity or sexually suggestive content. If your product doesn’t contain this, you don’t need to supply it, it is set to no as default.
Often this is linked to a checkbox in your store’s back-end. I have had one client where this was all switched on by mistake, which caused the products not to be shown. So make sure this one is only turned on if it needs to be.
custom_label_0-4
To finish, I want to mention the custom_label attribute. These are extra pieces of information you can add to your product feed. Adding custom labels to your Google shopping campaigns takes you into the optimization realm of your Shopping campaigns. (When you set up your campaigns in Google Ads interface, you’re able to use these custom labels to define your campaign structure)
But I wanted to add them here in case you want to provide extra information to your feed.
The Google Shopping Policies
Besides all of the required product attributes, there are also some meta requirements you need to pay attention to. These are the various Shopping policies.
Violating these policies is what gets your Google Merchant Center account suspended. I’ll cover each of them below and show you how to fix them.
Prohibited or Restricted product policy
If you are selling products that are heavily regulated or not allowed on Google (categories like alcohol, adult content, tobacco, counterfeit goods, weapons, drugs, copyrighted content, etc.) you could run into these types of errors.
So if you’re not sure about your products, check the list of prohibited or restricted items.
This can change depending on the country you’re selling in. So if you’re expanding internationally, the grounds for disapproval might be different.
Landing page policy
Google wants the best possible experience for a user on your site. If the link you provide to the landing page is broken or returns a different kind of server error, that product or your whole feed might get disapproved.
A second common error in this category is sending the user to the homepage instead of the specific product page.
Welcome gates or popups that block the whole page are also not allowed by Google. So if you do use a popup, make sure it’s easy for the user to get around it.
Check the list of landing page restrictions.
Return and Refund policy
You need to have clear information on your site on how a customer can get a refund or how she can return an order.
If you don’t have these policies in place, your feed will be suspended, and if it remains unsolved, your account suspended.
Shipping settings
You need to provide accurate and complete information with regards to the service (fast, slow, express, insured, etc.) and associated costs.
If you are shipping from outside the country you are targeting you need to provide clear information about the cost and type of service. Also, be clear about extra customs fees that might be applied to the order.
The basic thinking behind this policy is: don’t surprise your customer. Be clear what to expect and what it’s going to cost.
There are two ways to set your Shipping rates:
- In your Google Merchant Center account (recommended)
- In your product feed
I prefer #1 because it gives you a good overview of the shipping rates that are active.
If you include the shipping values in your product feed it overrides the values in GMC. That’s where things often go wrong.
Problem 1: incomplete shipping value
There are two ways to pass the correct data for this attribute, one is to do this in a single field:
shipping: US:::4.95 USD
Or add all of the subattributes separately:
shipping_country, shipping_region, shipping_service or shipping_price (only this last one is required).
Problem 2: Calculated shipping rates
Sometimes, shipping rates depend on the weight of the product. If you’ve configured the different brackets in GMC, you need to make sure that you send through the weight value in the correct format for each product. This includes the value + measurement unit.
Tax settings
In most countries, the price you provide in your feed will include sales tax. Only in the United States you’ll need to configure the tax settings in Google Merchant Center: which states do you owe tax in, what percentage, etc.
Going through all these attributes, I hope you’ve spotted the errors you were making before and have managed to fix them in your back-end.
Lifting your Google Merchant Center suspension
If your account got suspended and you’ve fixed the issues that led to that suspension you can request an account review.
Part 2 – Fixing Errors In Google Merchant Center
All of the information above will already improve your data quality and shed some light on any policies you might be violating.
When you’re fixing your feed, you can use the Diagnostics overview in the Products section of Google Merchant Center to see if you’re making progress and indicate what other problems you need to fix.
There are 3 types of issues in GMC::
Account issues
These are issues that affect your whole account. For example, an unclaimed website, no Google Ads account linked or a missing return & refund policy.
Feed issues
These problems are related to the fetching, uploading or processing of feeds.
Item issues
These are the bulk of the issues you’re trying to fix with this article, mainly related to the data quality.
Clicking on each section will outline exactly what is wrong and what you can do to fix them.
Not every problem has the same importance, In Merchant Center there are 3 different types of problems:
- Errors: critical problems that need to be addressed asap
- Warnings: important things to fix when you’re done with the errors. These will often increase visibility
- Notifications: suggestions to optimize your product feed
Here is a look at a Google Merchant Center account with its share of problems:
By now you should have been able to fix a lot your feed issues.
But some problems require a different approach. In this section, I’ll tackle these with different approaches and new tools that can help.
Creating a shopping feed from scratch
If you’re unable to get any of the integrations or feed generators to work, sometimes you need to get back to basics to find the underlying issue.
With shopping feeds, that means creating a new simple product feed from scratch where you can control each and every variable.
You can do this when you’re creating a new feed in Google Merchant Center. Google will generate a new spreadsheet that’s linked to your GMC account and which detects any changes and automatically updates the information in your product feed.
This is a very time-consuming approach, plus all the data needs to be updated as soon as something changes in your store. So I only use this approach if products rarely change or if I need to troubleshoot why a specific product feed won’t work.
There also is an official google shopping feed template. It’s a copy of the template that you’ll get from Google Merchant Center if you use Google Sheets for your product feeds. Be sure to also check tab 2 in the document called Example. This will illustrate how to use the template.
Product variations, Bulk Changes & Multiple Feeds
Luckily, you don’t have to go through the above to create your shopping feed. Most ecommerce platforms will have some kind of integration with Google Merchant Center. Shopify, for example, has its own free app that pushes your products into Merchant Center.
And for some stores, that’s all they need. But in some cases, you need extra flexibility or features that these basic setups are too limited.
To me there are a couple of features that make dealing with product feed a lot easier:
- Properly handle product variations
- Ability to quickly make (bulk) changes
- Manage multiple product feeds
- Take advantage of custom labels
- Use optimized feeds for Bing, Facebook Ads, etc.
Some of these or must-haves, others will save you some time.
There are a ton of tools out there that will help you do this (skip ahead for a big list of them). They all work in the following way:
- Grab product data from the store (via an app, plugin, extension, API, etc.)
- Ability to edit data in your product feed via the tool
- Push feed(s) to Google Merchant Center
All tools below will do #1 and #3. But not all will do #2.
With the free or cheap ones (except for Feed Rules), you don’t have the ability to edit any of the data in your product feed before it gets pushed to Google Merchant Center.
That means no bulk changes, multiple product feeds or custom labels.
These often have the features that really make the difference. They go under a number of different names: data feed management software, feed management, shopping feed platform, etc.
Google Shopping Feed Tools
The main benefit of these comes out when you’re managing multiple product feeds. That can be google shoppings feeds for multiple countries or a feed for Google and another for Bing Shopping.
These are the main providers of this software:
You’ll see the pricing varies widely between the different tools. Don’t make a decision purely based on price. If you’re interested in any of these tools, sign up for a trial and explore what they can do for you.
Pro tip: most of them will include a free setup, which will help you get your product feeds ready in no time!
Google Merchant Center Feed Rules
Feed Rules is a little-known feature in Google Merchant Center can do some of the things these platforms can, the only difference is that you can do it for free.
You can use these to add new information to your Google Merchant Center data feed and make bulk changes. In the screenshot above, I’ve used the functionality to add a custom label to the feed, depending on the product type.
Google Shopping Feed for Shopify
A quick search in the Shopify app store shows you’ve got plenty of choices:
Opinions over which one is the best vary. I’m a big fan of the standard Google Shopping app by Shopify. it used to be buggy but they’ve worked hard over the last couple of years to improve it.
Just beware that if you follow all the steps in their setup, you’ll create a Smart Shopping campaign. It’s not the end of the world, but something to be aware of and learn more about.
Here is the list of solid options:
- Google Shopping app by Shopify (free – by Shopify) – link
- Feed For Google Shopping (paid – Simprosys InfoMedia) – link
- ShoppingFeeder (free & paid – ShoppingFeeder) – link
Some of the data feed management providers mentioned above, also have their own Shopify apps: Channable and DataFeedWatch.
Google Shopping Feed for WooCommerce
To generate your shopping feeds on WooCommerce, there are many plugins out there. Two of our favorites:
- WooCommerce Product Feed PRO – link
- WooCommerce Google Feed Manager – link
Apart from the above, all the feed platforms also offer WooCommerce support: GoDataFeed, Channable, DataFeedWatch & Sales&Orders
Google Shopping Feed for Magento
To get your Magento product feed working, there are plenty of extensions available:
- Google Shopping – M2 (paid – Magmodules) – link
- Simple Google Shopping – M2 (paid – Wyomind) – link
Most of the data feed management providers mentioned above, also have their own Magento extensions: Channable (M2), DataFeedWatch (M2).
Google Shopping Feed for BigCommerce
BigCommerce now supports Google Shopping on all plans via the Sales&Orders app.
Other BigCommerce apps that will help you with Google Shopping:
- DataFeedWatch – link
- GoDataFeed – link
Google Shopping Feed for Shift4Shop (3dcart)
Shift4Shop also offers Google Shopping support with a variety of modules:
- Automatic Google Shopping Feed (paid – 3dcart) – link – screenshot looks like it +5 years old, so don’t know about the quality of the app
- DataFeedWatch (paid) – link
- GoDataFeed (paid) – link
- Sales&Orders (paid) – link
Google Shopping Feed for Prestashop
- Google Shopping Merchant Center Module (paid) – link
- Google Shopping Export (paid) – link
- Google Shopping Feed in 3 min (paid) – link
Master the subtle tweaks of the setup
You made it till the end, congrats!
Now you know how and where to fix the problems with your Google Shopping Feed.
If you’d like to know what to do after setting up, check out my Google Shopping course. Through a series of video lessons, you’ll learn how to set up your Shopping campaigns for maximum impact. The feedback from our students has been really great so I encourage you to check it out!