Every product that shows up in Google Shopping, paid or free, starts as a row of product data in Google Merchant Center. On Shopify you rarely build that data by hand. You connect the store, and an app turns your catalog into a feed that Merchant Center reads and refreshes for you.
This guide covers the default route (Google's own Google & YouTube app), exactly what it sends, where the extra Google fields live in Shopify, the sync errors that come up most often, and the point where a dedicated feed app starts to pay for itself.
Three ways Shopify products reach Google
There are three ways your products can end up in Merchant Center, and it helps to know which one you are using before you fix anything.
- The Google & YouTube app. Built and maintained by Google, free to install from the Shopify App Store. It pushes products to Merchant Center through Google's API and keeps them updated when you edit them in Shopify. This is the right starting point for most stores.
- A feed app or a file feed. Third-party apps generate a feed (usually an XML or CSV file at a URL) that Merchant Center fetches on a schedule, or they push data through the API. You get rules, custom titles and more control, at a monthly cost.
- Products Google finds on your website. The current Merchant Center can detect products from your site's structured data and add them automatically. Useful as a fallback, but you have far less control over what gets submitted.
Pick one main source per product. Running the Google & YouTube app and a feed app for the same items at the same time creates duplicate offers, conflicting prices and a lot of confusing errors. If you are new to the platform itself, read how Google Merchant Center works with Shopify first.
Setting up the Google & YouTube app
Before you install anything, make sure the store can pass Google's review. The app checks some of this for you, but the common blockers are the same every time: a password-protected storefront, missing refund or shipping policies, no visible contact details, and checkout that does not work. Fix those first.
- Install the app. In the Shopify App Store, search for "Google & YouTube" and add it. It appears under Sales channels in the left sidebar of your admin.
- Connect a Google account. Use the account that owns (or will own) your Merchant Center. If you already have a Merchant Center account, connect that one instead of creating a second account.
- Connect or create Merchant Center. The app verifies and claims your store domain for you. If another Merchant Center account already claimed the domain, you will need to release it from that account first.
- Choose target countries and language. Products sync only to the countries you select, and the app works with your Shopify Markets setup. Each country needs matching currency and shipping.
- Set shipping. You can let the app use your Shopify shipping settings or define shipping rates directly in Merchant Center. Either way, the rates must match what customers pay at checkout.
- Choose which products sync. By default, products available to the Online Store are made available to the Google & YouTube channel. You can exclude items from the product's Publishing settings or in bulk from the product list.
- Wait for review. Shopify's help center says new products can take 3 to 5 business days to be reviewed by Google. Do not keep changing things during that window unless an error tells you to.
Shopify's own documentation on syncing products to Google lists the current requirements for your country, which change more often than the setup flow does.
What the app actually syncs
The app maps standard Shopify fields to Merchant Center attributes. Each variant becomes its own offer, grouped under the parent product. Knowing this mapping tells you where to fix any given error.
| Shopify field | Merchant Center attribute | Notes |
|---|---|---|
| Product title | title | Variant options may be added. Avoid all caps and promo text. |
| Description | description | HTML is stripped. Keep it about the product, not shipping promos. |
| Product media | image_link, additional_image_link | The variant image, if set, becomes the main image for that variant. |
| Price and compare-at price | price, sale_price | Must match what the landing page shows in that country's currency. |
| Variant barcode | gtin | The single most important identifier field. |
| Vendor | brand | Make sure this is the real brand, not your supplier's name. |
| Inventory | availability | Out-of-stock variants sync as out of stock unless you sell when out of stock. |
| Product ID and variant ID | id, item_group_id | Offer IDs follow a pattern like shopify_US_productID_variantID. |
| Variant options (Color, Size) | color, size | Name options clearly so the app can recognize them. |
| Product category and type | google_product_category, product_type | Shopify's standard product category helps Google classify the item. |
The practical rule: if Merchant Center shows a wrong title, price, image or GTIN, the fix is almost always the matching Shopify field. Edits you make directly in Merchant Center to app-synced products tend to be overwritten on the next sync.
Google-specific fields: metafields for GTIN, MPN, condition and age group
Some attributes Google wants have no standard Shopify field. The Google & YouTube app stores them as product and variant metafields in the mm-google-shopping namespace. In the admin you will usually see them in the product's Metafields section with names starting "Google:", and you can confirm the definitions under Settings > Custom data > Products.
GTIN
GTIN is not a metafield. It comes from the Barcode field on each variant, under the Inventory section of the product or variant page. Enter the UPC, EAN, JAN or ISBN printed on the manufacturer's packaging, digits only. If your products do not have manufacturer barcodes, leave the field empty rather than typing a SKU into it. A SKU in the barcode field produces "invalid value [gtin]" errors. The full breakdown is in our guide to fixing missing GTIN errors in Merchant Center.
MPN and custom products
If a product has no GTIN but the manufacturer assigns a part number, fill the Google MPN metafield and make sure Vendor holds the real brand. For handmade, custom or private-label goods with no identifiers at all, set the Google custom product metafield to true. That tells Google the product legitimately has no GTIN, which is what identifier_exists does in a normal feed.
Condition
Google assumes new unless told otherwise. If you sell used or refurbished items, set the Google condition metafield to used or refurbished on every affected product. Getting this wrong is a policy problem, not just a data problem.
Age group, gender, color and size
For apparel and accessories, Google requires age group, gender and color in several major markets (including the US, UK, Germany, France, Japan and Brazil), and size for clothing and shoes. Color and size can come from variant options. Age group (newborn, infant, toddler, kids, adult) and gender (male, female, unisex) go into the Google metafields. Shopify's standard category metafields (such as color or target gender) may also be picked up, so check the product's Google status after you fill them.
Editing these fields in bulk
Filling metafields product by product does not scale past a few dozen items. Two faster options:
- Shopify's bulk editor. Select products, open Bulk edit, and add metafield columns from the column picker.
- CSV. The Shopify product CSV includes columns such as Google Shopping / Gender, Google Shopping / Age Group, Google Shopping / MPN, Google Shopping / Condition and Google Shopping / Custom Product. Export, fill in the sheet, and reimport. Our Shopify CSV import guide covers the format.
Common sync errors and how to fix them
Errors show in two places: on the product page in Shopify (the Google & YouTube status under Sales channels) and in Merchant Center under Products > Needs attention. Merchant Center gives more detail. These are the ones that come up most often on Shopify stores.
| Error | Usual cause on Shopify | Fix |
|---|---|---|
| Missing value [gtin] or limited performance due to missing identifiers | Empty Barcode field on branded products | Add real barcodes from packaging or the supplier. For no-GTIN goods, add brand and MPN or mark as custom product. |
| Invalid value [gtin] | SKU or made-up number in Barcode | Replace with the real GTIN or clear the field. |
| Mismatched value (page crawl) [price] | Currency conversion, a price app changing prices with JavaScript, or a sale that ended | Make the price in the page's HTML match the synced price for that market. |
| Mismatched value [availability] | Inventory not tracked, or theme shows "in stock" for sold-out variants | Track inventory in Shopify and check the variant's stock status on the page. |
| Missing shipping information | No shipping rate for a target country | Add a rate in Shopify shipping or in Merchant Center shipping settings. |
| Image too small or promotional overlay | Supplier images with watermarks, text or borders | Use clean product images. Minimum is 100 x 100 pixels (250 x 250 for apparel), but aim much higher. |
| Missing value [age_group], [gender], [color] | Apparel without the Google metafields filled | Fill the metafields or variant options as described above. |
| Landing page not working or unavailable | Draft product, deleted handle, or store password enabled | Publish the product or exclude it from the channel. |
If the whole account is suspended rather than individual products, you are dealing with an account-level policy problem, usually misrepresentation. That needs a different process, covered in how to fix a Merchant Center misrepresentation suspension.
Warning: Do not fix app-synced products by editing them inside Merchant Center. The next sync from Shopify will overwrite your change, and you will be chasing the same error again next week.
Products that are not syncing at all
A missing product is different from a disapproved one. If an item never appears in Merchant Center, check these in order:
- The product status is Active, not Draft or Archived.
- The product is published to both the Online Store and the Google & YouTube channel.
- The product is sold in a market that matches one of the app's target countries.
- The product type is something Google accepts. Gift cards and some restricted items do not sync.
- Required fields exist: a description, at least one image, and a price above zero.
After fixing, give the app time. Changes usually sync within hours, but review of new or changed items can take a few days.
When a feed app makes more sense
The Google & YouTube app sends your store data as it is. That is a feature for small catalogs and a limit for larger ones. Consider a dedicated feed app, or a supplemental data source in Merchant Center, when you need to:
- Write Google titles that differ from on-site titles (for example, adding brand, material and size in an order that suits shopping searches).
- Set custom labels based on margin, bestseller status or season for Performance Max campaign segmentation.
- Exclude specific variants, or send some products to only certain countries.
- Send the same catalog to Microsoft, Meta or other channels from one place.
- Apply rules at scale, such as filling product_type from collections or rewriting titles by pattern.
There is a middle path. Keep the Google & YouTube app as your primary source and add a supplemental data source (a Google Sheet works) in Merchant Center with attribute rules to override a few fields. This needs the Advanced data source management add-on, which you turn on in Merchant Center settings. For what to change once you have that control, see Google Shopping feed optimization.
Tip: If you switch from the app to a feed app, exclude products from the Google & YouTube channel or remove its data source before the new feed goes live. Two sources with different offer IDs for the same products will create duplicates.
A simple maintenance routine
Once the feed is running, most of the work is watching for drift. A short weekly check catches problems before they cost impressions:
- Open Products > Needs attention in Merchant Center and sort by number of affected products.
- Fix the top issue at its source in Shopify, not in Merchant Center.
- Spot-check a few new products for barcode, vendor and Google metafields before they sync.
- Confirm policy pages and contact details still load, especially after theme changes.
- Recheck prices after any sale, currency or pricing app change.
If you manage several stores or a large catalog, a scanner helps. The AM Jarvis GMC Scanner and Fixer checks a connected Shopify or WooCommerce store for common Merchant Center problems, such as missing GTIN or brand, thin descriptions, and missing policy or contact pages, and pushes fixes back to the store in batches. That keeps the source data clean, which is what the Google & YouTube app syncs anyway.
