Craftshift logo

Google Shopping feed optimization for Shopify

Google Shopping feed optimization for Shopify

A well-optimized Google Shopping feed is the difference between products that show up and products that sit invisible. Google Merchant Center has strict data requirements, and Shopify stores often fail them without knowing it. Missing GTINs, generic titles, wrong image formats, and incomplete variant data are the most common reasons products get disapproved.

This guide covers everything you need to get your Shopify products approved and performing well in Google Shopping. From the required fields to title optimization, from variant-specific feeds to fixing the most common disapprovals.

In this post

Merchant Center requirements

Before optimizing your feed, your Google Merchant Center account needs to meet baseline requirements. Google will not show your products if these are not in place.

Missing any of these will trigger an account-level suspension, which takes your entire catalog offline. Fix account issues before spending time on individual product data. The CraftShift Shopping Feed Checker validates both account-level and product-level requirements.

Required vs. recommended fields

Google splits product data into required fields (your product gets disapproved without them) and recommended fields (your product runs but performs worse without them). Here is the breakdown.

FieldStatusShopify sourceNotes
idRequiredProduct ID (auto)Unique per product
titleRequiredProduct titleMax 150 chars, front-load keywords
descriptionRequiredProduct descriptionMax 5,000 chars
linkRequiredProduct URL (auto)Must match your verified domain
image_linkRequiredFeatured imageMin 100×100, no watermarks
priceRequiredVariant priceMust match website price exactly
availabilityRequiredInventory statusin_stock, out_of_stock, preorder
brandRequired*Vendor fieldRequired for most categories
gtinRequired*Barcode fieldRequired for branded products
conditionRequiredNot set by defaultnew, refurbished, or used
google_product_categoryRecommendedProduct categoryUse Google’s taxonomy
product_typeRecommendedProduct typeYour own categorization
additional_image_linkRecommendedAdditional imagesUp to 10 extra images
colorRecommendedColor optionRequired for apparel
sizeRecommendedSize optionRequired for apparel
item_group_idRecommendedParent product IDGroups variants together

Fields marked with * are required for most product categories. Custom or handmade products can use identifier_exists = false instead of a GTIN. Filling in the recommended fields significantly improves your ad performance. Products with complete data get more impressions and lower cost-per-click.

Product title optimization

Your Shopping feed title is not the same as your store product title. Google uses the feed title to match search queries. A generic title like “Classic T-Shirt” will not compete against “Men’s 100% Cotton Crew Neck T-Shirt – Navy Blue.”

The formula that works: Brand + Product Type + Key Attribute + Color/Size. For example: “Nike Dri-FIT Running Shorts Men’s Black Size L.” Put the most important keywords first. Google gives more weight to words at the beginning of the title.

Keep titles under 150 characters. Google truncates longer titles in the ad display (usually around 70 characters), but the full title is still used for matching. Do not stuff keywords. Do not use ALL CAPS. Do not include promotional text like “Free Shipping” or “Sale” in the title. Google will disapprove it.

For variant products, include the variant-specific attributes in each variant’s title. “Classic T-Shirt – Red / Large” is better than just “Classic T-Shirt” repeated for every variant. This matters for the variant images in Shopping feeds to display correctly too.

GTIN, UPC, and EAN explained

GTIN (Global Trade Item Number) is the umbrella term for product identifiers. In the US, this is the UPC (12 digits). In Europe, it is the EAN (13 digits). In books, it is the ISBN. Google requires one of these for branded products sold by authorized resellers.

In Shopify, the GTIN goes in the “Barcode” field on each variant. If you manufacture your own products and do not have GTINs, set identifier_exists to false in your feed. This tells Google you are the manufacturer and do not have a UPC. However, products with valid GTINs perform better in Shopping. They are eligible for more placements and get higher trust scores.

You can validate your barcodes before uploading with the CraftShift Barcode Validator. Invalid GTINs cause disapprovals that are hard to debug because the error message just says “Invalid GTIN” without telling you which digit is wrong.

Image requirements for Shopping

Google has specific image requirements for Shopping ads. Failing these results in disapproval or poor ad performance.

The main image (image_link) should show the product clearly on a clean background. Use additional_image_link for lifestyle shots, detail views, and scale references. You can include up to 10 additional images per product.

For products with color variants, each variant should have its own image showing that specific color. Do not use the same image for all variants. Google matches the image to the variant data, and mismatches can trigger disapprovals. The JSON-LD schema generator helps ensure your on-page structured data matches your feed data, which Google cross-references.

Variant-specific feeds

Each product variant should be a separate line item in your Shopping feed. A T-shirt in 3 colors and 4 sizes should appear as 12 items in the feed, each with its own title, price, image, and GTIN.

Use the item_group_id field to link variants together. This tells Google these are variations of the same product. Without it, Google treats each variant as a completely separate product, which fragments your data and can lower your Quality Score.

The variant-specific fields that matter most for Shopping: color, size, material, pattern, and image. If a customer searches “red Nike t-shirt” and your feed only has one generic image for all colors, your ad looks wrong even if you win the auction. An app like Rubik Variant Images ensures each variant has proper images both on your product page and in your feed data.

For stores with complex variant structures, getting this right has a direct impact on return rates. When a customer clicks a Shopping ad showing a red product and lands on a page showing blue, they bounce. The swatches vs. dropdowns guide covers how variant presentation on the landing page affects this experience.

Common disapprovals and fixes

Price mismatch

Google crawls your product pages and compares the price to your feed data. If they do not match, the product gets disapproved. This often happens when you change prices on Shopify but the feed has not updated yet. Set your feed to update at least daily. If you run frequent sales, update more often.

Missing GTIN

Google requires GTINs for branded products. If you resell products from a manufacturer, you need the barcode. If you make your own products, set identifier_exists to false. The Barcode Validator catches format errors before they reach Merchant Center.

Image does not meet requirements

Usually caused by watermarks, promotional overlays, or images that are too small. Remove any text overlays from your main product image. Use lifestyle images with text as additional images only.

Misrepresentation or insufficient product data

This is the vaguest disapproval and the hardest to fix. It usually means your product page is missing key information: no return policy link, no shipping info, or product descriptions that are too short. Review your product pages against the product page checklist to fill any gaps.

Automatic item disapproval for policy violations

Certain product categories (supplements, medical devices, weapons) face extra scrutiny. Google may disapprove items that fall into restricted categories even if your data is perfect. Review Google’s shopping policies for your product category.

Run the Shopping Feed Checker to scan your entire catalog for potential disapprovals before they happen. It checks all required fields, validates GTINs, tests image URLs, and flags common policy issues.

Feed apps vs. manual management

Shopify offers a free Google & YouTube channel app that creates a basic Shopping feed. For many stores, this is enough. It pulls product data automatically and keeps it synced. But it has limitations.

The free channel does not let you customize titles separately for Shopping (your store title and feed title are the same). It does not support supplemental feeds for bulk overrides. And it sometimes fails to include variant-specific images or attributes correctly.

Third-party feed apps (like DataFeedWatch, Simprosys, or GoDataFeed) give you more control. You can map fields differently, create rules for title optimization, set up category-specific logic, and manage multiple feeds for different markets. They cost $20-100/month depending on your product count.

For most stores with under 500 products, start with the free channel and fix issues manually. Move to a paid feed app when you need title customization at scale, multi-market feeds, or complex category mapping. Regardless of which approach you use, the CraftShift Schema Generator ensures your on-page structured data aligns with your feed data, which improves Google’s trust in your product listings.

For SEO that complements your Shopping ads, the Shopify SEO checklist covers the on-page signals that also affect organic Shopping visibility. And for stores optimizing for AI-powered shopping assistants alongside Google, the AEO guide explains how structured data feeds into those systems.

Frequently asked questions

Do I need a GTIN for Google Shopping?

Yes, for branded products sold by authorized resellers. If you manufacture your own products, you can set identifier_exists to false. But products with valid GTINs get better placement and more impressions.

How often should my Shopify Shopping feed update?

At minimum, once per day. If you change prices or inventory frequently, update every few hours. Price mismatches between your feed and website cause immediate product disapprovals.

Why are my Shopify products disapproved in Google Shopping?

The most common reasons are: missing GTINs, price mismatches, images with watermarks or overlays, insufficient product descriptions, and missing shipping or return policy information. Check Merchant Center diagnostics for the specific reason.

Can I use different titles for Google Shopping and my Shopify store?

Not with Shopify’s free Google channel. You need a third-party feed app to customize Shopping titles separately. This is worth doing because Shopping titles benefit from including brand, attributes, and keywords that would look awkward as your store product title.

How do I submit variant images in my Shopping feed?

Each variant needs its own line item in the feed with its own image_link. Use item_group_id to group variants together. If your Shopify product has variant-specific images assigned, most feed apps pull them automatically.

Is the free Shopify Google channel enough for Shopping?

For stores with under 500 products and straightforward data, yes. Move to a paid feed app when you need custom title rules, multi-market support, supplemental feeds, or advanced category mapping.

What image size does Google Shopping require?

Minimum 100×100 pixels for non-apparel, 250×250 for apparel. Maximum 64 megapixels. Use clean, white-background images for the main image_link. No watermarks, no promotional overlays, and the product should fill at least 75% of the frame.

Our Shopify Apps

Smart Bulk Image Upload

Bulk upload product images from Google Drive & save time!

Rubik Variant Image & Swatch

Show only relevant variant images on your product pages.

Rubik Combined Listings Swatch app

Rubik Combined Listings

Link separate products as variants with beautiful swatches

CS – Export Product Images

Bulk export product images by vendor, collection or status

Blog Posts