Google Shopping

How to Create a Shopify Product Feed for Google Shopping

Published July 4, 2026 · 9 min read

If you sell on Shopify and want your products to show up in Google Shopping results, Shopping ads, or free listings, everything starts with one file: your product feed. Google doesn't crawl your store directly - it reads a structured feed that tells it exactly what you sell, at what price, and whether it's in stock.

This guide walks through what a Google Shopping feed actually needs, how to build one from Shopify, and the mistakes that get feeds rejected or suspended.

What is a Google Shopping product feed?

A product feed is a structured file (usually XML or CSV) containing one row per product, with standardized attributes Google requires: title, description, price, availability, condition, GTIN/MPN, and more. You upload or link this feed inside Google Merchant Center, and Google uses it to populate Shopping ads, the Shopping tab, and free product listings.

Required attributes for a Shopify Google Shopping feed

At minimum, Google expects the following fields for every product:

AttributeDescription
idUnique identifier for the product (usually the Shopify variant ID)
titleProduct name, ideally matching what shoppers search for
descriptionPlain-text product description, no HTML
linkDirect URL to the product page
image_linkHigh-resolution main product image
priceCurrent price, including currency
availabilityin stock, out of stock, or preorder
gtin / mpnGlobal identifiers - required unless the product is a custom/handmade item
brandManufacturer or store brand name
conditionnew, refurbished, or used

Missing or malformed values in any of these are the single biggest cause of disapproved products in Merchant Center.

Three ways to build a Google Shopping feed from Shopify

1. Manual CSV export

You can export your Shopify product catalog to CSV and manually map it to Google's required schema. This works for a handful of SKUs but breaks down fast - prices, stock levels, and new products change constantly, and a manual feed goes stale within days.

2. Google & YouTube Shopify app

Shopify's own Google & YouTube channel app connects your store to Merchant Center and handles basic syncing. It's a solid starting point, but customization is limited if you need to exclude collections, adjust attributes per product, or run multiple destinations (Meta, TikTok, Pinterest) from the same source data.

3. A dedicated feed app

Apps built specifically for product feeds - like InstantFeed - connect to your Shopify catalog once and generate a live, always-synced feed URL you submit to Merchant Center. Every price change, stock update, or new product flows through automatically, and you can filter by collection, tag, or availability so only the right products are sent to each channel.

Generate a Google Shopping feed in minutes

InstantFeed connects to your Shopify store and gives you a live, always-synced feed URL for Google Shopping, Meta, TikTok, Pinterest, and Snapchat - no code, no manual exports.

Get InstantFeed on Shopify

Common reasons Google rejects Shopify feeds

How often should your feed update?

Google recommends refreshing your feed at least once every 24-30 hours, but if you run Shopping ads on fast-moving inventory, near real-time syncing prevents you from advertising products that are already out of stock - a common cause of poor Shopping ads performance and account warnings.

FAQ

Do I need a Shopify Plus plan to submit a Google Shopping feed?

No. Any Shopify plan can connect to Google Merchant Center, either through Shopify's native channel app or a third-party feed app.

Can I use the same feed for Google Shopping and Meta ads?

Not directly - each platform expects a slightly different attribute schema. A feed management tool that generates destination-specific feeds from the same product catalog saves you from maintaining separate exports.

How long does it take for Google to approve a new feed?

Initial review typically takes a few hours to a few days. Fixing disapproved items and resubmitting is usually much faster once the underlying data issue is corrected.