Google Shopping Product Feed Specification – Attributes List

Google Shopping Product Feed requires the following data for each of your products-

Note: If any of the following required attribute attributes are missing in your feed, Google will reject your product. However, if you use the Identifier exists attribute in your feed, Google will accept your feed but this product’s performance will be compromised. Click here to learn more about the Identifier exists attribute.

Required Attributes #

  • Product ID
  • Product Title
  • Product Description
  • Product URL
  • Product Category
  • Product Image URL
  • Stock Availability
  • Regular Price
  • Product Condition
  • Manufacturer
  • GTIN / MPN

Required Attributes (Based on condition) #

  • MPN (Manufacturer Part Number)
  • Shipping
  • Tax (Available for the US only)
  • Availability date
  • Condition
  • Adult
  • Multipack
  • Bundle
  • Age Group
  • Color
  • Gender
  • Size
  • Material
  • Pattern
  • Item Group ID

Optional Attributes #

  • Identifier exists
  • Google Product Category
  • Sale price
  • Additional image link
  • Mobile link
  • Cost of goods sold
  • Expiration date
  • Sale price effective date
  • Unit pricing measure (except when required by local laws or regulations)
  • Unit pricing base measure (except when required by local laws or regulations)
  • Installment
  • Subscription cost
  • Loyalty points
  • Product type
  • Energy efficiency class (except when required by local law or regulations)
  • Minimum energy efficiency class (except when required by local law or regulations)
  • Maximum energy efficiency class (except when required by local law or regulations)
  • Size type
  • Size system
  • Product length
  • Product width
  • Product height
  • Product weight
  • Product detail
  • Product highlight
  • Ads redirect
  • Custom label 0-4
  • Promotion ID (Required for promotions in Australia, France, Germany, India, the UK and the US)
  • Excluded destination
  • Included destination
  • Excluded countries for Shopping ads
  • Pause
  • Shipping label
  • Shipping weight (Required for carrier-calculated rates, a table based on weight, or a rule based on weight in your account shipping settings)
  • Shipping length (Required for carrier-calculated rates in your account shipping settings)
  • Shipping width (Required for carrier-calculated rates in your account shipping settings)
  • Shipping height (Required for carrier-calculated rates in your account shipping settings)
  • Ships from country
  • Transit time label
  • Maximum handling time
  • Minimum handling time
  • Tax category

Required Attributes Explanation #

Product ID #

Attributeid
Example Value671
Feed Structure<g:id>671</g:id>

It is a unique identifier for your product on your store.

However, you may also use the product SKU as the product ID.

Product Title #

Attributetitle
Example ValueRed Logo Rex T-shirt
Feed Structure<g:title>
    <![CDATA[ Red Logo Rex T-shirt ]]>
</g:title>

It is the name of the product to be displayed.

When you set the product title, specify any special feature such as its color, and the brand name, along with the product. This will create more attraction for buyers.

However, you are not allowed to use any other promotion touch to the tile (for example adding “free shipping” or “discounted price” or using all caps).

In the case of variable products include the brand name to the title. And rather than including just ‘any’ feature to the main title, mention the feature that makes it a variant of the product.

For example, if a product is a Logo Rex T-shirt and has variations Red and Blue, then on your Google Product Feed, one variation should be named “Logo Rex T-shirt – Red” and the other one “Logo Rex T-shirt – Blue”.

So the feed data view will look like this individually:

<g:title>
    <![CDATA[ Logo Rex T-shirt - Red ]]>
</g:title>
<g:title>
    <![CDATA[ Logo Rex T-shirt - Blue ]]>
</g:title>

Product Description #

Attributedescription
Example ValueThis is a Red T-shirt. It was created for testing purposes only.
Feed Structure<g:description>
    <![CDATA[ This is a Red T-shirt. It was created for testing purposes only. ]]>
</g:description>

Add a proper description of the product you are selling. Make sure to highlight all the major features it may have, that will attract buyers.

Even though you should mention the exclusive features and benefits of the description, you are not allowed to use any extensive promotional touch in the description (for example adding “free shipping” or “discounted price” or using all caps to highlight a certain point).

Also, you shouldn’t include any links to a different webpage or compare the products to any competitors.

Product URL #

Attributelink
Example Valuehttps://www.yourwebsite.com/red-logo-rex-t-shirt/
Feed Structure<g:link>
    <![CDATA[ https://www.yourwebsite.com/red-logo-rex-t-shirt/ ]]>
</g:link>

This is the link to your product page.

When people will find your product on Google, clicking on that Ad will take the potential buyer to the link you provide here.

It’s best to include the product title on the link, however many prefer to use the product Id instead, and some use both.

Also, you must make sure your website domain is verified and starts with “http” or “https“.

Product Category #

Attributeproduct_type
Example ValueClothing
Feed Structure<g:product_type>
    <![CDATA[ Clothing ]]>
</g:product_type>

This is the product type, or category that you set on your store.
When editing a product on WooCommerce, on the right side, you will the option to set Category.

A Complete Guide To WooCommerce Product Feed - Google Shopping & Facebook [2022] 1

This attribute is optional but we recommend you use it to create a better visualization for viewers.

Google Product Category #

Attributegoogle_product_category
Example ValueApparel & Accessories > Clothing
Feed Structure<g:google_product_category>
    <![CDATA[ Apparel & Accessories > Clothing ]]>
</g:google_product_category>

Google has a category list of its own which you need to use to categorize your products on Google Shopping. You must set this attribute according to their required taxonomy in order to get your Google Product Feed approved.

Click Here To View Google Category List & Taxonomy

Hence, you can either set your WooCommerce store categories accordingly or have your own categories mapped to Google’s using a plugin when generating product feed.

As you can see, on the left are a list of all the categories available in my store. And on the right, I get the option to map them with Google Categories.

Product Image URL #

Attributeimage_link
Example Valuehttps://www.yourwebsite.com/redtee394.png
Feed Structure<g:image_link>
    <![CDATA[
        https://www.yourwebsite.com/redtee394.png
    ]]>
</g:image_link>

This will be the link to the main image of your product.

Whichever image you use here, you need to provide the URL to that image for the “image_link” attribute.

You should provide a compelling picture of the product without any promotional text or watermark. Also, avoid using any placeholder image.

Remember, this image is the most important factor to get more customers. Most people will notice your product only if they like what they see. So make sure to provide a clear picture with high quality.

Stock Status/Availability #

Attributeavailability
Example Valuein_stock
Feed Structure<g:availability>in_stock</g:availability>

This will signify if the product is still in stock, or all sold out.

Regular Price #

Attributeprice
Example Value26.53 USD
Feed Structure<g:price>26.53 USD</g:price>

This is the price of the product (usually before taxes). 

This value will be added under the attribute “price” when generating WooCommerce Google product feed.

Make sure you are inputting the accurate price, with ISO currency code as the suffix.

Please note that the price cannot be “0”. (The price “0” is only acceptable for mobile devices sold on a contractual basis.)

Also, if your products are for the US or Canada, then do not add any tax to the price. For any other country, make sure to add VAT or GST or whichever regional tax that may apply.

Product Condition #

Attributecondition
Example ValueNew
Feed Structure<g:condition>
    <![CDATA[ New ]]>
</g:condition>

Use this attribute to signify if your product is brand new or refurbished. You can use the values “new”, “refurbished” or “used” to define the condition.

WooCommerce doesn’t have any field to define the condition of the product, hence you have to add it on your own to the product feed.

However, Product Feed Manager For WooCommerce will have the option for you to add the product condition field for all products.

Manufacturer/Brand Name #

Attributebrand
Example ValueRexTest
Feed Structure<g:brand>
    <![CDATA[ RexTest ]]>
</g:brand>

It is mandatory to provide the manufacturer/brand name in order to add a product on Google shopping. Ideally, you should also mention the brand name on the product tile.

But WooCommerce doesn’t include a “brand” field for your products. Hence, you can create a custom field for every product or use a plugin to add the brand field to every product on your WooCommerce store.

However, movies, books or musical records don’t require you to include a brand name. In that case, you can keep the brand section empty.

GTIN (Global Trade Item Number) #

Attributegtin
Example value123465465464
Feed structure<g:gtin>
    <![CDATA[ 123465465464 ]]>
</g:gtin>

In order to promote products through Google Shopping Ads, manufacturers from the US or Canada that are GTIN certified must provide the GTIN number for every product on your Google Product Feed.

For other manufacturers

  • in North America, provide UPC
  • in Europe, provide EAN
  • in Japan, provide JAN

However, for a book, you need to provide ISBN instead, and for multipacks, you need to provide the ITF-14.

MPN (Manufacturer Part Number) #

AttributeMPN
Example valueRex0011Test
Feed structure<g:MPN>
    <![CDATA[ Rex0011Test ]]>
</g:MPN>

In case a product does not have a GTIN (or UPC, EAN, JAN), then you need to provide the MPN instead.

You may also use the product SKU as the value of its MPN when you do not have both GTIN or MPN (provided that you didn’t use the SKU as it’s product id).

Now, WooCommerce doesn’t provide fields for Brand, GTIN or MPN by default. Hence, you need to input custom fields for every product manually.

However, I use the Product Feed Manager For WooCommerce plugin which includes those fields on every product, as shown below:

Custom Fields

I’ll just have to input the correct data and use them as values of the required attributes when generating my WooCommerce Product feed.

Identifier Exists #

Attributeidentifier_exists
Example Valueno
Feed Structure<g:identifier_exists>no</g:identifier_exists>

You already learned earlier that providing either GTIN or MPN is mandatory. However, some products don’t have a GTIN or MPN.

For example, some products are just locally produced and don’t incorporate a GTIN or MPN.

In this case, you have to use the “identifier_exists” attribute and assign the value “no”. 

Adult Content #

Attributeadult
Example Valueyes
Feed Structure<g:adult>yes</g:adult>

You might have some erotic or adult products. It’s totally fine to promote them on Google Shopping as long as you label them as adult content. When submitting a product that’s in the adult industry, you need to use the “adult” attribute and assign the value “yes”.

In case you run a business that is completely in the adult industry, for example, a licensed erotic shop, then you do not need any attributes. You should rather go to your Google Merchant Center settings, and select the option that says that your business delivers adult products.

Multipack #

Attributemultipack
Example Value8
Feed Structure<g:multipack>8</g:multipack>

A multipack is when you sell a group of several identical products as a single unit; for example, 8 pens together.

This attribute is required for promoting in certain locations such as Australia, Brazil, Czechia, France, Germany, Italy, Japan, Netherlands, Spain, Switzerland, the UK, and the US.

You must include this attribute and assign its value with the number of products you assembled into a multipack.

If the multipack is assembled by its actual manufacturer, and not you, then you do not need to include this attribute.

Tip:
Try to include multipacks on your store with a small amount of discount.

For example, if 1 pen cost 10 dollars, and you set a multipack for 8 pens, then rather than charging 80 dollars, try to give a discount and charge 70 or 75 dollars maybe. This little discount will create more attraction.

Bundle #

Attributeis_bundle
Exampleyes
Feed Data<g:is_bundle>yes</g:is_bundle>

A bundle is when you take multiple products and sell them as one single package. Usually, all the products in a bundle are somewhat related and can be sold individually without the bundle.

Here, one product acts as the main product, and the rest are sub-products offered in a bundle.

For example, you can create a product bundle that includes a camera, a memory card, and a carry bag. Here, the camera is the main product, while the memory card and the carry bag are related sub-products in a bundle.

For promoting bundles in Australia, Brazil, Czechia, France, Germany, Italy, Japan, Netherlands, Spain, Switzerland, the UK, and the US, you must use this attribute and assign its value as “yes” or “true”.

Material #

Attributematerial
ExampleLeather
Feed Data<g:material>Leather</g:material>

In case you wish to upload a product whose material is a notable feature, then you may use this attribute. You need to use valid material names.

In case the product is made using multiple materials, mention all the materials while separating them with “/” between them. For example, cotton/leather/polyester.

**For promoting Apparels & Accessories in Brazil, France, Germany, Japan, the UK, and the US, you need to provide more attributes which include age_groupcolorgender, and size. And for variable products, you must include an extra attribute called item_group_id. So let’s learn more about them.

Age Group #

Attributeage_group
Example Valuekids
Feed Structure<g:age_group>kids</g:age_group>

(This field is required only if your product falls under the Apparel & Accessories category or its sub-category)

You have to assign which age group this product is for.

Google will accept the following values:

  • newborn
  • infant
  • toddler
  • kids
  • adult

In case of variable products, assign a separate age group for each variant.

Color #

Attributecolor
Example ValueTango Red
Feed Structure<g:color>Tango Red</g:color>

(This field is required only if your product falls under the Apparel & Accessories category or its sub-category).

You need to describe the color of the product (but not color codes or single letters).

If there are multiple colors, mention all the colors while separating them with a “/”. For example, Red/Blue/Green.

In case of variable products, assign a separate color for each variant and add it to the product title.

Tip:
It is not necessary that you have to give a generic color. You can rather use catchy color names such as “Tango Red” instead of just “Red”, which is more appealing to buyers.

Gender #

Attributegender
Example Valuemale
Feed Structure<g:gender>male</g:gender>

(This field is required only if your product falls under the Apparel & Accessories category or its sub-category).

When selling apparel, you should identify which particular gender the product is for.

Google will accept the following genders:

  • male
  • female
  • unisex

Size #

Attributesize
Example ValueXL
Feed Structure<g:size>XL</g:size>

(This field is required only if your product falls under the Apparel & Accessories category or its sub-category).

You have to assign an appropriate size value for the product.

For example, “XL” to define extra-large, or “15/32 slim” to define 15 inches neck size, 32 inches sleeves, and a slim fit.

For a free-size product, you should assign the value “one size”, “OS”, “one size fits all”, “OSFA”, “one size fits most”, or “OSFM.”

In case of variable products, assign a separate size for each variant and you may also add it to the title of the product.

Tip:
Keep a measurement table on your site to define the sizes you mentioned here.

For example, if you assigned the size as XL, then on the table explain the height, width, chest size, etc. in inches or cms, to give your customers a way to check if that size is the right fit.

Different countries have different measurements for the same size codes, hence this will be helpful.

Pattern #

Attributepattern
Example Valuestriped
Feed Structure<g:pattern>Striped</g:pattern>

This field is only applicable for variable products. If you have different pattern designs for the same product, then you need to mention separate patterns for each variant using this attribute.

Item Group ID #

Attributeitem_group_id
Example ValueAB12345
Feed Structure<g:item_group_id>AB12345</g:item_group_id>

For variable products, if the variations occur due to any of the following:

For variable products, if the variations occur due to any of the following:

  • color
  • size
  • pattern
  • material
  • age group
  • gender

then you must use the “item_group_id” attribute.

All the variants of the same variable product will have the same Item Group ID. This will indicate that they are variants of a single product. So, you need to choose a unique Group ID for each variable product.

Google Product Feed Samples #

Now that you know what details you require to generate your WooCommerce Product Feed for Google, now let us look at some samples to understand the structure.

Google accepts several file formats of product feed to be uploaded. However, the recommended format is XML.

Here’s a sample simple product feed:

Sample Google Product Feed of a Simple Product

Here’s a sample variable product feed:

Sample Google Product Feed of a Variable Product

These feed can easily be generated using the plugin, Product Feed Manager For WooCommerce. Once you have the product feed file, you can now manually upload it to your Google Shopping Center.

However, the plugin also allows you to auto-sync with Google Shopping directly. Which means, the feed can automatically be generated and sent to Google, according to your scheduled time.

I’ll give you a proper tutorial of the plugin at the end of this article.
Or you can click here to read about it now.