Start Free Trial
Start Free Trial

Google Shopping Data Feed

You can export your store data as the Google Shopping Data Feed format – tab delimited .txt file. To do that, choose the “Google Shopping Data Feed” in the dropdown next to Export button.

Exported Columns

The exported fields will match Google Shopping Data Feed specification, with some special ways how to fill in fields that are not normally available in Shopify.

 

If you export Products with “Variant Metafields” and/or “Metafields” checkbox, then the values will try to be set firstly from the mm-google-shopping Variant Metafields, then from the Metafields – whichever exist first.

If you want to gain export speed, especially for large stores with around million of Products, then set up your data so that you don’t have to rely on those Metafields – for the fastest export.

App will add any additional/custom columns to the Google Shopping Data Feed export file from any Metafields in mm-google-shopping namespace that are set for at least one of the exported Products. The column header will be the metafields key.

 

Column Source Field in Shopify
id Whichever is found first:

  1. Variant Metafield: mm-google-shopping.google-id
  2. Metafield: mm-google-shopping.google-id
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Product Variant SKU, or SKU if the product doesn’t have variants
SKU-123

An alternative is to ask Matrixify to generate id is following long format (or any other format you need):

shopify_<country>_<Product ID>_<Variant ID>

For example:

shopify_CA_123123123_234234234

To switch to long ID format, ask Support.

title Whichever is found first:

  1. Variant Metafield: mm-google-shopping.title
  2. Metafield: mm-google-shopping.title
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Product Title – Variant Title
  5. Product Title if variant has no title.

The maximum title length is cut to 150 characters as per Google Shopping requirements.

Shoe for mountains - Red
description Whichever is found first:

  1. Variant Metafield: mm-google-shopping.description
  2. Metafield: mm-google-shopping.description
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Body HTML

The maximum description length is cut to 5000 characters as per Google Shopping requirements.

Full description of the product.
link Whichever is found first:

  1. Variant Metafield: mm-google-shopping.link
  2. Metafield: mm-google-shopping.link
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. URL to the Product variant page in your store.
https://yourstore.com/products/shoe-for-mountains?variant=123456
image_link Whichever is found first:

  1. Variant Metafield: mm-google-shopping.image_link
  2. Metafield: mm-google-shopping.image_link
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Product Variant image URL
https://yourstore.com/images/1.jpg
additional_image_link Whichever is found first:

  1. Variant Metafield: mm-google-shopping.additional_image_link
  2. Metafield: mm-google-shopping.additional_image_link
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. All product images, except the variant image because it is already in the image link.
https://yourstore.com/images/2.jpg, https:://yourstore.com/images/3.jpg
availability Whichever is found first:

  1. Variant Metafield: mm-google-shopping.availability
  2. Metafield: mm-google-shopping.availability
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Will show “in stock” if Variant Inventory Policy is “continue” OR Variant Inventory Tracker is not set (meaning that the inventory is not being tracked) OR Variant Inventory Quantity > 0. Otherwise it will show “out of stock”.
in stock
price Product variant price with your store currency. If this variant has compare at price, then the price is set to compare at price.

45.99 USD
sale_price Product price, if the variant has compare at price. Empty, if variant doesn’t have a compare at price.

30.99 USD
google_product_category Google requires this field to be filled in according to Google Product Taxonomy.

Whichever is found first:

  1. Variant Metafield: mm-google-shopping.google_product_category
  2. Metafield: mm-google-shopping.google_product_category
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from your Shopify Custom Type if it matches the deepest level of that classifier. In example, if your Product Type will be “Shoes”, then the Google product category will be “Apparel & Accessories > Shoes”.
  5. From your Shopify Standard Type if the matching classifier can be found by the deepest level. (If Standard Type is selected when creating export)
  6. If any of your Product Tags will match the deepest level, then that will be used. In this example, if any of the product tags will be “Shoes”, then the Google product category will be “Apparel & Accessories > Shoes”.
Apparel & Accessories > Shoes
product_type Whichever is found first:

  1. Variant Metafield: mm-google-shopping.product_type
  2. Metafield: mm-google-shopping.product_type
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Product Type
Shoes
brand Whichever is found first:

  1. Variant Metafield: mm-google-shopping.brand
  2. Metafield: mm-google-shopping.brand
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Product Vendor
Evermountain
gtin Whichever is found first:

  1. Variant Metafield: mm-google-shopping.gtin
  2. Metafield: mm-google-shopping.gtin
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Variant Barcode
3234567890126
mpn Whichever is found first:

  1. Variant Metafield: mm-google-shopping.mpn
  2. Metafield: mm-google-shopping.mpn
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Variant SKU
SKU-123
condition Whichever is found first:

  1. Variant Metafield: mm-google-shopping.condition
  2. Metafield: mm-google-shopping.condition
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Constant “new”.
new
adult Whichever is found first:

  1. Variant Metafield: mm-google-shopping.adult
  2. Metafield: mm-google-shopping.adult
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter.
    • If your variant Option Name is “Adult”, then the Option Value will be used as value;
    • If any of product Tags will be like “Adult:yes”, then “yes” value will be taken from that.

It will set the value only if it is found in those fields as “yes” or “no”.
If no valid value found, then will assume “no” by default.

no
energy_efficiency_class Whichever is found first:

  1. Variant Metafield: mm-google-shopping.energy_efficiency_class
  2. Metafield: mm-google-shopping.energy_efficiency_class
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter. Also _ (underscore) can be used instead of space in the name.
    • If your variant Option Name is “Energy Efficiency Class”, then the Option Value will be used as value;
    • If any of product Tags will be like “Energy Efficiency Class:A+++”, then “A+++” will be taken from that.
A+++
age_group Whichever is found first:

  1. Variant Metafield: mm-google-shopping.age_group
  2. Metafield: mm-google-shopping.age_group
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter. Also _ (underscore) can be used instead of space in the name:
    • If your variant Option Name is “Age Group”, then the Option Value will be used as value;
    • If any of product Tags will be like “age_group:infant”, then “infant” will be taken from that.
adult
color Whichever is found first:

  1. Variant Metafield: mm-google-shopping.color
  2. Metafield: mm-google-shopping.color
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter.
    • If your variant Option Name is “Color” or “Colour”, then the Option Value will be used as value;
    • If any of product Tags will be like “color:green”, then “green” will be taken from that.
red
gender Whichever is found first:

  1. Variant Metafield: mm-google-shopping.gender
  2. Metafield: mm-google-shopping.gender
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter.
    • If your variant Option Name is “Gender”, then the Option Value will be used as value;
    • If any of product Tags will be like “gender:male”, then “male” will be taken from that.
female
material Whichever is found first:

  1. Variant Metafield: mm-google-shopping.material
  2. Metafield: mm-google-shopping.material
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter.
    • If your variant Option Name is “Material”, then the Option Value will be used as value;
    • If any of product Tags will be like “material:gold”, then “gold” will be taken from that.
Nano-fiber
pattern Whichever is found first:

  1. Variant Metafield: mm-google-shopping.pattern
  2. Metafield: mm-google-shopping.pattern
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter.
    • If your variant Option Name is “Pattern”, then the Option Value will be used as value;
    • If any of product Tags will be like “pattern:dots”, then “dots” will be taken from that.
Waves
size Whichever is found first:

  1. Variant Metafield: mm-google-shopping.size
  2. Metafield: mm-google-shopping.size
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter.
    • If your variant Option Name is “Size”, then the Option Value will be used as value;
    • If any of product Tags will be like “size:XS”, then “XS” will be taken from that.
10½ M
size_type Whichever is found first:

  1. Variant Metafield: mm-google-shopping.size_type
  2. Metafield: mm-google-shopping.size_type
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter. Also _ (underscore) can be used instead of space in the name.
    • If your variant Option Name is “Size type”, then the Option Value will be used as value;
    • If any of product Tags will be like “size_type:regular”, then “regular” will be taken from that.
petite
size_system Whichever is found first:

  1. Variant Metafield: mm-google-shopping.size_system
  2. Metafield: mm-google-shopping.size_system
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter. Also _ (underscore) can be used instead of space in the name.
    1. If your variant Option Name is “Size system”, then the Option Value will be used as value;
    2. If any of product Tags will be like “size_system:EU”, then “EU” will be taken from that.
US
item_group_id Whichever is found first:

  1. Variant Metafield: mm-google-shopping.item_group_id
  2. Metafield: mm-google-shopping.item_group_id
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Product ID
23487623473
shipping_label Whichever is found first:

  1. Variant Metafield: mm-google-shopping.shipping_label
  2. Metafield: mm-google-shopping.shipping_label
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Guessed from different fields the following way. Big or small letters don’t matter. Also _ (underscore) can be used instead of space in the name.
    1. If your variant Option Name is “Shipping Label”, then the Option Value will be used as value;
    2. If any of product Tags will be like “shipping_label:Fragile”, then “Fragile” will be taken from that.
Fragile
shipping_weight Whichever is found first:

  1. Variant Metafield: mm-google-shopping.shipping_weight
  2. Metafield: mm-google-shopping.shipping_weight
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.
  4. Product Variant weight expressed in grams. (Can ask support to change using Variant Weight and Variant Weight Unit instead of Variant Grams)
500 g
custom_label_0 Whichever is found first:

  1. Variant Metafield: mm-google-shopping.custom_label_0
  2. Metafield: mm-google-shopping.custom_label_0
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.

Type: String (Unicode characters. Recommended: ASCII only), not case sensitive

Limits: 1–100 characters, up to 1,000 unique values account-wide for each custom label attribute (up to 5,000 labels total)

summer
custom_label_1 Whichever is found first:

  1. Variant Metafield: mm-google-shopping.custom_label_1
  2. Metafield: mm-google-shopping.custom_label_1
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.

Type: String (Unicode characters. Recommended: ASCII only), not case sensitive

Limits: 1–100 characters, up to 1,000 unique values account-wide for each custom label attribute (up to 5,000 labels total)

best seller
custom_label_2 Whichever is found first:

  1. Variant Metafield: mm-google-shopping.custom_label_2
  2. Metafield: mm-google-shopping.custom_label_2
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.

Type: String (Unicode characters. Recommended: ASCII only), not case sensitive

Limits: 1–100 characters, up to 1,000 unique values account-wide for each custom label attribute (up to 5,000 labels total)

0-5
custom_label_3 Whichever is found first:

  1. Variant Metafield: mm-google-shopping.custom_label_3
  2. Metafield: mm-google-shopping.custom_label_3
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.

Type: String (Unicode characters. Recommended: ASCII only), not case sensitive

Limits: 1–100 characters, up to 1,000 unique values account-wide for each custom label attribute (up to 5,000 labels total)

low
custom_label_4
Whichever is found first:

  1. Variant Metafield: mm-google-shopping.custom_label_4
  2. Metafield: mm-google-shopping.custom_label_4
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.

Type: String (Unicode characters. Recommended: ASCII only), not case sensitive

Limits: 1–100 characters, up to 1,000 unique values account-wide for each custom label attribute (up to 5,000 labels total)

2000
unit_pricing_measure The measure and dimension of your product as it is sold.

Whichever is found first:

  1. Variant Metafield: mm-google-shopping.unit_​​pricing_​​measure
  2. Metafield: mm-google-shopping.unit_​​pricing_​​measure
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.

 

unit_pricing_base_measure The product’s base measure for pricing (for example, 100ml means the price is calculated based on a 100ml units).

Whichever is found first:

  1. Variant Metafield: mm-google-shopping.unit_​​pricing_base_​​measure
  2. Metafield: mm-google-shopping.unit_​​pricing_base_​​measure
  3. Blank value if Variant Metafield or Metafield has value “<EMPTY>“.

Good To Know

  • App will add any additional/custom columns to the Google Shopping Data Feed export file from any Metafields in mm-google-shopping namespace that are set for at least one of the exported Products. The column header will be the metafields key.
  • You don’t have to have all data filled in. If it will not find the appropriate value, it will just leave it empty.
  • To decide, what values are needed in which cases, please, consult the Google Shopping Data Feed format specification – there are detailed descriptions for each field, and their allowed values.
  • To export only a portion of Products, you can apply product filters by pressing the filter button in the products row.
  • To make export run very fast for large stores, don’t rely on Variant Metafields or Metafields, but store those values in Tags and Options.
  • You can update the Variant Metafields and Metafields by importing them with Matrixify , as explained in this Metafields tutorial.
  • If any of this information is unclear, or you need it to be different, ask our Support, it’s quite easy customizable.