Skip to content
PassGMCContinue with Google
Product data

Google Merchant Center Product Data Specification: A Shopify Owner's Field Guide

Beau Wright · 28 Aug 2026 · 15 min read
Google Merchant Center Product Data Specification: A Shopify Owner's Field Guide

The disapproval email arrives naming a field you have never typed in your life: [gtin], [item_group_id], or [identifier_exists]. You did not write those fields. Shopify built them from your product data and sent them to Google on your behalf, and now Google is unhappy with one of them.

Here is the reassuring part. The Google Merchant Center product data specification is a public document, not a secret standard. It lists every attribute Google accepts, the exact format each attribute takes, and the character limit it has to fit inside. Nothing in it is a matter of opinion. Once you can read it, a disapproval stops being a verdict and becomes a lookup: find the attribute in the notice, check its rule, fix the field in Shopify.

This guide walks through the specification the way a Shopify owner needs it: which attributes are required for every product, which ones become required only in certain situations, what changed in the 2026 update, and what a disapproval for each one actually looks like.

Key Takeaways

  • Seven attributes are required for every product: id, title, description, link, image_link, availability, and price.

  • Price and availability must match your landing page, your structured data, and your checkout. These two are the strictest fields in the specification, because a mismatch on either one gets the product removed without warning.

  • Never guess a GTIN or MPN. Google's documentation states that an incorrect value gets the product disapproved, so a guessed identifier is worse than no identifier.

  • The 2026 update added handling_cutoff_time, minimum_order_value, and video_link, and raised the minimum image size to 500 x 500 pixels, with enforcement starting January 31, 2027.

What the product data specification actually is

sec 1

The product data specification is Google's master reference for the product data your store submits to Merchant Center. It defines every attribute, marks each one as required, optional, or required only in certain conditions, and sets the format rules: character limits, accepted values, and how each value has to be written.

Think of each attribute as a promise about your product. price promises what the buyer will pay. availability promises the item is actually in stock. image_link promises the picture shows the real product. Google crawls your landing page and compares each promise against what the page shows. When the promise and the page disagree, Google removes the product from Shopping results.

That framing explains most of what looks arbitrary about the specification. Character limits exist so listings display properly. Fixed value lists exist so in_stock means exactly the same thing for every merchant on the platform. The matching rules exist because a shopper who clicks a listing that promises $49 and lands on a page charging $54 has been misled, whether or not anyone intended to mislead them.

Two practical conclusions follow. First, the specification is public and checkable in advance, so no disapproval ever needs to be a mystery. Second, product data problems that pile up across many products stop looking like isolated mistakes to Google and start looking like a store whose listings cannot be trusted. That shift is how individual product disapprovals grow into an account-level Merchant Center suspension, which stops every product at once.

The seven attributes every product must have

sec 2

These seven are required for all products, in every country, with no exceptions. If one is missing or breaks its format rule, that product does not show on Google.

Attribute

Format and limit

What happens when it is wrong

id

Maximum 50 characters, unique for each product

If two products share an ID, one overwrites the other. Google advises using the product's SKU as the ID and never changing it once set

title

Plain text, maximum 150 characters

Titles containing promotional text such as "free shipping", all capital letters, or gimmicky foreign characters get the product disapproved. The title must also match the title shown on your landing page

description

Plain text, maximum 5,000 characters

The description may contain only information about the product. Promotional text and links to your store are not allowed, and the description must match your landing page

link

Must start with http or https

The URL must use your verified domain name, and it must lead directly to the product page. An interstitial page (any page shown before the real product page) is not allowed unless the law requires one

image_link

Must start with http or https

Images containing promotional text, watermarks, or borders get the product disapproved. So do placeholder images and generic images that do not show the actual product

availability

Exactly one of: in_stock, out_of_stock, preorder, backorder

The value must match your landing page, your checkout, and your structured data. If the page says sold out while the feed says in_stock, the product is removed

price

A number plus an ISO 4217 currency code (for example USD)

The price must match your landing page, your structured data, and your checkout, and the product must actually be purchasable online at that exact price

Two of these deserve extra attention.

Price and availability are the strictest fields in the entire specification. They are the only two attributes where a mismatch with your landing page triggers what Google's product data quality documentation calls preemptive item disapproval. Preemptive means Google removes the listing first and lets you fix it afterwards. There is no warning step, because these two fields are about money and stock, and Google protects shoppers on those before anything else.

Title and description carry writing rules, not just length rules. The specification explicitly prohibits promotional wording, all capital letters, and gimmicky characters in titles. Those title rules come from the same rulebook as Google's editorial and professional requirements, and they catch many Shopify stores whose product titles were written to persuade shoppers on the storefront (capital letters for emphasis, the word SALE in the title, decorative symbols) rather than to satisfy a data specification.

The attributes that are required only sometimes

sec 3

This group causes the most confusion, for a simple reason: a store can run for a year without ever needing one of these fields, and then trip over it the moment the store adds a variant, a used item, or a t-shirt.

Attribute

When it becomes required

Format

brand

Required for nearly all new products. The exceptions are movies, books, and musical recordings

Maximum 70 characters

gtin

Strongly recommended whenever the manufacturer assigned one

Numbers only, no dashes or spaces, up to 14 digits per value

mpn

Required when the product has no manufacturer-assigned GTIN

Maximum 70 characters

condition

Required if the product is used or refurbished

Exactly one of: new, refurbished, used

item_group_id

Required for products with variants in the US and several other countries, and required for free listings

Maximum 50 characters

availability_date

Required when availability is set to preorder

ISO 8601 date format, no more than one year in the future

color, size, age_group, gender

Required for apparel products in certain countries, and for free listings in the Apparel and Accessories category

Each has its own accepted values and limits

material, pattern

Required when material or pattern is what distinguishes one variant from another

Maximum 200 and 100 characters

item_group_id is the one that catches US Shopify stores by surprise. The moment a product has variants, every variant must carry the same group ID. The group ID is what tells Google that these listings are one product in different variations (the same shirt in three sizes) rather than several near-duplicate products competing with each other. Google recommends using the parent SKU as the group ID and keeping it unchanged.

The apparel attributes catch stores that do not think of themselves as clothing stores. A store that sells one branded t-shirt alongside its main catalog inherits the full set of required apparel fields for that product: color, size, age_group, and gender, each with its own list of accepted values.

Identifiers: GTIN, MPN, and the one mistake that guarantees a disapproval

sec 4

Identifiers tell Google exactly which product you are selling, so Google can match your listing against the same item sold elsewhere. The rules are short, and the penalty for breaking them is written directly into the specification.

Submit a GTIN when the manufacturer assigned one. The GTIN is the product's barcode number. Google's GTIN documentation calls it strongly recommended wherever one exists.

Never invent one. The specification says: only provide a GTIN if you are sure it is correct, and if you submit a product with an incorrect GTIN value, your product will be disapproved. The same rule applies to MPN. A guessed identifier is always worse than a missing one, because a guessed identifier actively claims your product is a different product.

If the product genuinely has no GTIN, submit brand and mpn instead. This is the normal, fully compliant path for private-label, own-brand, and handmade goods.

There is also a field called identifier_exists. Submitting it with the value no tells Google explicitly that this product has no GTIN, MPN, or brand identifiers at all. If you do not submit this field, Google assumes the default value of yes, which means Google expects identifiers to be present.

Do not fill brand with filler text. The specification names the exact strings it rejects: "N/A", "Generic", "No brand", and "Does not exist". If a product truly has no brand, leave the field empty instead of writing a placeholder into it.

The classic own-brand mistake is pasting a supplier's barcode onto a product you have rebranded as your own. That barcode identifies the supplier's product, not yours. Leave the barcode field empty and let brand plus mpn identify the product instead.

Product type and Google product category are not the same field

sec 5

These two fields get confused constantly, because both sound like they answer "what kind of product is this". They answer it for different audiences.

google_product_category uses Google's own fixed category list. You pick one category from that list, and it tells Google's systems what your product is in Google's own vocabulary. The specification's advice: include only one category, choose the most specific one that fits, and submit either the full category path or its numeric ID, not both. Google recommends the numeric ID.

product_type is your own category description, written in your own words, up to 750 characters. The specification notes that only the first product_type value is used to organize bidding and reporting in Google Ads Shopping campaigns.

Both fields are listed as optional in the specification, and that word misleads people into ignoring them. Skipping them does not violate any rule. It does mean two concrete things: Google's systems guess the category for you, and your future Shopping campaigns lose the reporting structure that product_type would have provided.

What changed in the 2026 specification update

sec 6

Most articles on this topic describe the specification as it stood a year ago. Google published a product data specification update for 2026 that adds new attributes and sets three dates worth putting in your calendar.

Date

What happens on that date

April 14, 2026

The new shipping attributes and video_link take effect. Technical validation errors for them start being reported, and warnings about undersized images begin appearing

June 30, 2026

Videos submitted through video_link become eligible to appear on Google, and policy and quality checks on those videos begin

January 31, 2027

Enforcement of the 500 x 500 pixel minimum image size begins, for both image_link and additional_image_link, across all product categories

The new attributes, in plain terms:

  • handling_cutoff_time sets a daily deadline for processing online orders, so that delivery estimates reflect when an order actually ships.

  • minimum_order_value states the minimum spend required to purchase and ship an order.

  • video_link is an optional field for submitting links to product videos.

  • loyalty_program_label and loyalty_tier_label are new sub-fields under shipping, used to offer loyalty shipping benefits on individual products.

The image change is the one that will catch real stores. The minimum size for product images is now 500 x 500 pixels in every category. Google states it will automatically optimize some undersized images, and that merchants can replace those automatically optimized versions with larger originals. The safe course of action is direct: find every product image smaller than 500 x 500 pixels and replace it before January 31, 2027, because after that date those images stop being accepted. Google's own preparation advice is to check the "Needs attention" section in Merchant Center, along with "View history", to find the affected products.

What Shopify sends for you, and what it cannot send

sec 7

Your Shopify catalog reaches Merchant Center through the Google & YouTube app, which converts your Shopify product fields into the attributes described above. Most of the specification is handled for you automatically. The gaps are specific, and they are worth knowing by name.

Shopify's product syncing documentation states that before a product can sync at all, it needs four things: a description, at least one image, availability on both the Online Store and the Google & YouTube sales channels, and either a barcode (which becomes the GTIN) or a brand name plus a Manufacturer Part Number.

That last requirement is the identifier rule from earlier in this guide, enforced by Shopify before the product ever reaches Google. A product with an empty barcode field and an empty vendor field cannot satisfy it, so it will not sync.

The failure patterns Shopify itself lists are the same ones the specification describes: missing descriptions or images, unavailable landing pages, missing GTIN or MPN identifiers, promotional overlays on images (text, logos, watermarks, and badges), and excessive capitalization in titles.

To diagnose any single product, open that product in your Shopify admin, find the Sales channels section, and click Google. The errors listed there name the specific attribute that failed, which is the fastest diagnosis available anywhere.

One boundary note. This guide covers the specification itself: the attributes, their formats, and their rules. The separate question of keeping a whole catalog synchronized over time, including prices drifting during sales and variant links pointing at the wrong variant, is covered in our guide to keeping your product feed clean. Read that one next if your data is correct but keeps going stale.

How to read a disapproval notice

sec 8

A disapproval always names the thing that failed. Reading the notice properly turns a vague scare into a short repair job. The sequence:

  1. Find the attribute in the message. Merchant Center reports each issue against the specific attribute that failed, usually written in brackets, such as [image_link] or [gtin], together with the affected product and the data source the product arrived through. If you run a single Shopify store, that data source is simply the feed the Google & YouTube app created. The feed's name appearing in the notice does not mean the feed name is the problem. It is a label telling you where the product came from, nothing more.

  2. Look up the attribute's rule. Use the tables in this guide or the specification page itself. Every attribute has one correct format, and the notice is telling you which promise failed.

  3. Fix the data in Shopify, not in Merchant Center. Shopify is the source that the sync reads from. A correction made only in Merchant Center gets overwritten the next time the app syncs.

  4. Know the point where this stops being routine. A handful of disapproved products is ordinary catalog maintenance. Systematic product data problems trigger something different: Google's quality documentation describes a warning email, a 28-day window to fix the data, and potential suspension of the whole account if it is not fixed. That is the line where a data problem becomes a business problem.

Check your product data before Google does

Everything in this specification can be checked from outside your store, which is exactly how PassGMC checks it. The scanner reads your product pages the way Google's crawler does: price agreement between your listing and your page, availability signals, image problems including promotional overlays, title and description text measured against the editorial rules, and the consistency between what your listings claim and what your pages show. It runs 46 checks and returns a prioritized fix list, with the exact Shopify admin path for every fix.

The free headline scan takes about a minute and needs no sign-up. Run it before Google's next crawl runs the same comparison.

Quick answers

What are the required attributes in the Google Merchant Center product data specification?
Seven attributes are required for every product: id, title, description, link, image_link, availability, and price. Beyond those seven, brand is required for nearly all new products, and the identifier, condition, variant, and apparel attributes become required depending on what you sell.

Why is my product disapproved when the data looks correct?
The most common cause is a mismatch rather than a missing field. Price and availability must match your landing page, your structured data, and your checkout, and these are the only two attributes where Google removes the product preemptively on a mismatch. Check the exact variant page a shopper lands on, not just the product's default page, because the mismatch often lives on the variant.

Do I need a GTIN for every product?
No. Submit a GTIN wherever the manufacturer assigned one. For products that genuinely have none, such as own-brand or handmade goods, submit brand plus mpn instead. Never guess a value: Google's documentation states that an incorrect GTIN or MPN gets the product disapproved.


Want your product data checked against the specification in about a minute? Run a free PassGMC scan and see exactly which attributes need attention.


See where your store stands, free.

Run a free headline scan and get your readiness score in about a minute. No sign-up needed to see it.

Scan my store