Skip to content
Store slow, dated, or hard to edit? Request a Store Diagnostic
Running B2B on spreadsheets or email? Plan Your B2B Project
Paid Media

Google Shopping for Shopify: Getting Your Product Feed Approved

If you have connected the Google & YouTube app to your Shopify store, submitted your products, and then watched half of them sit in “disapproved” purgatory in Google Merchant Center, you are not doing anything unusually wrong. Feed rejections are one of the most common frustrations Australian merchants run into when they first turn on Shopping ads, and most of the causes are narrow, fixable, and repeat themselves in predictable patterns.

This post walks through exactly how the Shopify-to-Google product feed works, the specific reasons Google rejects products (at both the item level and the account level), how to read the diagnostics Merchant Center gives you, and what a genuinely clean, low-maintenance feed looks like long term. It is written for the store owner or marketing manager doing this themselves, not just for people about to hire someone.

None of this requires custom development for most stores. It requires understanding what Google’s automated review is actually checking for, and being disciplined about product data hygiene, which is honestly the less glamorous half of running Shopping ads well.

How the Shopify to Google Merchant Center feed actually works

Shopify does not talk to Google Shopping directly. The connection runs through the Google & YouTube app (built and maintained by Shopify, available free in the Shopify App Store), which does three things:

  1. Links your Shopify store to a Google Merchant Center account (creating one for you if you do not already have one).
  2. Builds a product feed from your Shopify product catalogue, mapping Shopify fields (title, description, price, images, variants, inventory, product type) to the Google Shopping product attributes Merchant Center expects (title, description, price, availability, gtin, brand, condition, and so on).
  3. Keeps that feed in sync automatically. Whenever you edit a product, change a price, or update stock in Shopify admin, the app pushes that change through so Merchant Center reflects it, generally within a few hours rather than instantly.

This matters because it means your Shopify product data is your Shopping feed. There is no separate spreadsheet to maintain in the basic setup, the quality of what is in Shopify admin (titles, descriptions, images, product type, inventory) directly determines feed quality. Get sloppy in Shopify and you get sloppy in Merchant Center.

For stores with more complex catalogues, multi-currency, marketplace-specific pricing, or attributes Shopify does not natively support like custom GTIN overrides at scale, some merchants supplement this with a dedicated feed app (Google Shopping Feed apps in the Shopify App Store) that gives more granular control over attribute mapping without touching theme code. That is a reasonable middle step before anything custom.

The most common reasons Shopify products get disapproved

Disapprovals fall into two buckets: item-level (a specific product breaks a policy) and account-level (something about your Merchant Center account or website as a whole is unresolved). Item-level issues are far more common day to day.

Missing or invalid GTIN and MPN

Google increasingly requires a GTIN (Global Trade Item Number, the barcode number, usually a UPC, EAN, or ISBN) for products in most categories, especially anything with an established barcode from a manufacturer. If your Shopify product’s Barcode (ISBN, UPC, GTIN, etc.) field on the variant is empty, or if you have entered something that is not a valid GTIN, the product can be rejected or served with reduced visibility.

If a product genuinely does not have a manufacturer GTIN (common for private label and made-to-order items), you need to explicitly mark it as such in Merchant Center rather than leaving the field blank, and provide a brand and MPN (manufacturer part number) instead where possible.

Mismatched price or availability between the feed and the landing page

This is the single most common cause of ongoing disapprovals for growing stores. Google’s crawlers periodically re-check your product landing pages and compare the price and stock status shown there against what is in the feed. If your feed says $49.95 and the live product page shows $54.95 because someone edited a price manually and a cache did not clear, or a sale ended on the page but the feed has not caught up, you get a “price mismatch” disapproval.

The fix is almost always about timing and caching, not the app itself:
– Avoid editing prices through channels that bypass standard Shopify product updates (some flash-sale or price-scheduling apps stage changes oddly).
– Check that your theme is not showing a different price via JavaScript overlays (some discount apps do this) than what is actually stored on the product.
– Give the feed time to resync after bulk price changes, large catalogue-wide price edits can take longer to fully propagate than a single product edit.

Missing return policy or shipping information

Merchant Center now requires a clearly stated returns policy and shipping information to be genuinely visible on your site (or configured directly in Merchant Center under Growth > Shipping and returns settings), not just on the product page but findable and consistent with what you have set up in the platform settings. If your website’s returns page contradicts what is configured in Merchant Center, for example, Merchant Center says 30-day returns but your policy page says 14 days, that inconsistency can trigger disapprovals or account warnings.

Set your shipping settings (rates by destination, processing time) and returns policy directly in Merchant Center under the “Tools and settings” area, and make sure your live returns and shipping policy pages on the Shopify store say the same thing. This trips up more Australian merchants than you would expect, largely because the Shopify returns policy page (Settings > Policies) and the Merchant Center settings are edited independently and drift apart over time.

Image policy violations

Google is strict about product images. Common causes of image-related disapprovals:
Watermarks, logos, or borders overlaid on the product image, even a small brand logo in the corner can trigger this.
Promotional text on the image itself, “50% OFF” or “FREE SHIPPING” burned into the image graphic, as opposed to text on the page around it.
Placeholder or generic images, using a manufacturer stock photo that says “image coming soon,” or an unrelated image.
Image too small or low quality, Google has minimum resolution requirements, particularly stricter for apparel.

The safest approach is to keep your primary product image genuinely clean: the product on a plain or lifestyle background, no text overlays, no badges. Save promotional messaging for the page copy, banners, or ad extensions instead.

Misleading claims and restricted categories

Health, beauty, and supplement products get extra scrutiny, claims like “cures,” “clinically proven,” or unsubstantiated before/after claims can trigger disapproval even if they are common language in your industry. Restricted categories (certain supplements, weapons-adjacent items, tobacco-related accessories, some financial products) may need additional certification or may not be eligible for Shopping ads at all in Australia. If you sell in a regulated category, check Google’s Shopping ads policies for that specific category before assuming a standard listing will go through.

Account-level disapprovals vs item-level disapprovals

It is worth understanding the difference, because they need different fixes:

  • Item-level disapproval affects individual products. You fix the specific product data and resubmit; Google typically re-crawls within a day or two.
  • Account-level disapproval or suspension affects your entire Merchant Center account and usually stems from a policy issue with the website itself, for example, unclear business information, a broken checkout, misleading pricing sitewide, or a mismatch between your business identity and what is shown on the site. This is more serious because no products can serve until it is resolved, and repeated violations can lead to account suspension rather than just disapproval.

If you are seeing an account-level warning, check the Business information section in Merchant Center first, this is the most common root cause.

Merchant Center account verification and business info requirements

Before any products can serve, Google generally requires:

  • Website claim and verification, proving you own the domain, usually done automatically through the Google & YouTube Shopify app during setup, or manually via an HTML tag or Google Search Console.
  • Business information, a real, consistent business name, address, and phone number that matches what is shown on your website (footer, About page, contact page). Inconsistency here (different ABN-registered business name to the trading name shown on-site, for example) is a common Australian-specific snag.
  • Contact information visible on-site, Google’s automated checker looks for a way to contact you (email, phone, or contact form) that is easy to find.

Set this up once, properly, and it rarely needs revisiting. It is the account-level equivalent of getting your GST and business registration details right in Shopify settings, boring, but it blocks everything downstream if it is wrong.

How to check and fix feed diagnostics inside Merchant Center

Inside Merchant Center, go to Products > Diagnostics. This is where the specific, itemised list of what is wrong lives, it is far more useful than the generic “products disapproved” count on the dashboard.

A practical workflow:

  1. Open Diagnostics and sort by number of affected products. Fix the issue hitting the most products first, usually something systemic like a missing GTIN field on an entire product type, or a shipping setting gap.
  2. Click into an individual issue to see the specific error code (e.g. “Missing required attribute [gtin],” “Mismatched value [price]”) and a sample of affected product IDs.
  3. Cross-reference the affected products back in Shopify admin. Most of the time you will find a pattern, a product type imported without barcodes, or a collection where images were bulk-uploaded without checking for watermarks.
  4. Fix the source data in Shopify, not in Merchant Center directly where avoidable, since Shopify is the source of truth the feed re-pulls from.
  5. Wait for the resync (typically within 24-48 hours for the Google & YouTube app) and check Diagnostics again rather than assuming the fix worked.
  6. Use the “Request review” option for account-level suspensions once you believe the underlying issue is genuinely fixed, reviews can take several business days, so do not resubmit repeatedly on unverified fixes.

A practical feed hygiene checklist

Use this as a recurring check, not a one-off setup task:

  • Every product has a valid GTIN, or is explicitly flagged as not applicable with brand/MPN supplied instead.
  • Product titles are descriptive and specific (brand, product type, key attribute like size or colour) rather than generic, this also genuinely improves Shopping ad performance, not just approval odds.
  • Primary images have no text overlays, watermarks, or badges.
  • Prices and stock status shown on the live product page match what is set in Shopify (no JS overlays creating a visual mismatch).
  • Shipping and returns settings in Merchant Center match the actual policy pages on the site.
  • Business name, address, and contact details are consistent across Shopify footer, policy pages, and Merchant Center business info.
  • New product types are spot-checked in Diagnostics within a week of first being added to the feed, not months later.
  • Bulk price or inventory changes are followed by a Diagnostics check a day or two later.

When to bring in a specialist

Most disapprovals are fixable by anyone comfortable working through Shopify admin and Merchant Center diagnostics methodically, it does not require a developer. Where it gets genuinely harder is when disapprovals are intermittent and hard to reproduce (often caching or app-conflict related), when you are managing feed rules across a large multi-thousand-SKU catalogue, or when Shopping performance itself is the real problem and feed health is just one input into a broader account structure and bidding strategy. At that point, it is less about fixing individual rejections and more about setting up the account architecture properly from the start. If that is where you are at, Nexly’s Shopify Google Ads management service covers Merchant Center setup, feed health, and campaign structure together, rather than treating them as separate problems.

FAQ

Why do my Shopify products keep getting disapproved even after I fix them?
The most common cause is the fix not actually reaching the live feed yet, Google needs to re-crawl and Merchant Center needs to resync, which can take a day or two. If disapprovals persist beyond that, check for a caching issue where the live product page still shows old data, or a discount app overlaying a different price via JavaScript than what is stored on the product.

Do I need a GTIN for every product on Shopify?
Not strictly, but Google expects one wherever a manufacturer barcode genuinely exists, and increasingly restricts visibility for products without one in categories where GTINs are standard (most physical retail goods). For genuinely unique or private-label items without a barcode, mark the product as such in Merchant Center rather than leaving the field blank.

How long does it take for Shopify product changes to show up in Google Shopping?
Through the Google & YouTube app, changes typically sync within a few hours to a day. Large bulk changes across many products can take longer to fully propagate, so give it 24-48 hours before assuming a fix has not worked.

Can I use a third-party feed app instead of Shopify’s Google & YouTube app?
Yes, and for catalogues with complex attribute needs (multiple GTIN formats, category-specific attributes, or feed rules that need conditional logic) a dedicated feed management app can offer more control. For most standard catalogues, the native Google & YouTube app is sufficient and lower maintenance.

Why is my whole Merchant Center account suspended, not just individual products?
Account-level suspensions are usually about the website or business identity rather than any single product, commonly inconsistent business information, an unclear returns policy, or a broken checkout flow. Check Business Information settings first, since that is the most frequent cause.

Ready for a proper look at your feed and account setup?

If you have been chasing disapprovals for a while and want a second set of eyes on the whole setup, not just the symptom in front of you, book a free Shopify audit or talk to the team about what a clean Google Shopping setup should actually look like for your catalogue.

Niraj Raut
Written by Niraj Raut SEO Manager

Niraj Raut is the SEO Manager and co-founder at Nexly. He helps Australian Shopify and Shopify Plus brands earn durable organic growth through technical SEO, search-led store architecture and content that ranks. He writes about what actually moves rankings for ecommerce.

Connect on LinkedIn
Have a Shopify project? Chat with us, takes 30 seconds.