When Shopify says your products are published and Merchant Center disagrees, the disagreement has a location. Data never left Shopify, or it left in the wrong shape, or it arrived fine and failed a check afterward. This diagnostic covers the six causes behind most of those failures, each paired with the symptom it produces, so you can jump straight to the one that matches what you're seeing.
It's the companion to our full walkthrough on Shopify and Google Merchant Center not syncing. That one covers the end-to-end setup. This one assumes the setup used to work, or mostly works, and something specific broke.
Check this first
Before changing any data, establish which stage failed. A sync has three: the feed fetch, item validation, and the post-sync checks Merchant Center runs against your live storefront. Open the feed in Merchant Center and read the last fetch result. Did the request succeed, and how many items did it read? Then check the account's product diagnostics. A feed that fetched with items missing is a data problem inside Shopify. A feed that never fetched is a connection or scheduling problem. Items that fetched but came back disapproved are an attribute or policy problem. One look at those two screens narrows six possible causes down to two or three.
Six causes, and the symptom each one produces
1. Variant data mapped from product-level fields
Symptom: Merchant Center shows far fewer items than your store has products, or variants arrive sharing one price and one image instead of their own.
Shopify treats a t-shirt with three sizes as one product containing three variants. Merchant Center treats each size as a separate item. Somewhere between the two, the parent gets flattened, and every attribute that lives at the variant level in Shopify (price, SKU, barcode, availability, image) has to be pulled from the variant record. If a feed configuration or a metafield mapping reads product-level values instead, each variant inherits the parent's data. Variants that then fail uniqueness or identifier checks tend to drop out silently rather than raising an error you'd notice.
To check: confirm the metafields used in your field mapping are defined on variants, not only on products, and that the feed source is reading variant records rather than parent products.
2. Products not published to the sales channel
Symptom: new products never appear in the feed, nothing errors, and everything that synced before keeps syncing.
The Google channel, and any third-party feed app, can only include products published to its own channel in Shopify. A product added by CSV import, duplicated from a draft, or created through a fulfillment integration can be active in your admin while unpublished to that one channel. From the feed's point of view it doesn't exist, which is why there's no error to find. Add the sales channels column to the Shopify product list and check whether the affected items are published to the channel that builds your feed.
3. Currency or market mismatch
Symptom: items sync and then get disapproved for price mismatch, or one market receives the feed while another gets nothing.
Merchant Center validates the price in your feed against the price it sees on the landing page. Stores selling across markets often render a converted, market-specific price on the storefront while the feed was generated in the base currency. Google's crawler reads a number that disagrees with the feed and disapproves the item. The same mechanism produces market-level gaps, because a feed registered for one primary country and currency covers exactly that market. Compare the currency your feed sends against the target country configured in Merchant Center, and look at what price your storefront actually renders for a visitor from that country.
4. App permission scopes that no longer cover the mapping
Symptom: partial syncs. Prices keep updating but new products stop appearing, or metafield-driven fields arrive empty after working for months.
Shopify apps operate inside the permission scopes granted at install, and those scopes determine what the app can read on each request. A reinstall, a credentials rotation, or a scope change after a staff audit can leave an app able to read products but not the metafield namespaces your field mapping depends on. The sync then keeps succeeding from the app's perspective: requests return data, just less of it, and the skipped columns fail required-attribute checks downstream. Review the app's granted scopes in your Shopify admin against what your mapping reads, and look in the app's sync log for skipped records rather than failures.
5. Colliding item IDs from overlapping sources
Symptom: item counts fluctuate without you changing anything, or variants overwrite each other until only some survive each fetch.
Merchant Center keys items on the id you send. If two variants share an id, because the id was built from the product handle alone instead of handle plus variant, each fetch replaces the previous entry and the feed shrinks to whichever variant was sent last. The same collision happens between tools: the official Google channel and a third-party feed app both writing into the same Merchant Center feed will overwrite each other's items on every fetch cycle. Check how your id and item_group_id are constructed, and confirm only one source writes to each primary feed.
6. You're watching a cache, not the sync
Symptom: you fixed the data hours ago and Merchant Center still shows the old version.
Scheduled feeds are pulled by Google on its own timetable; saving in Shopify doesn't push anything. Even after a fresh fetch lands, Merchant Center takes time to process it, and the price and availability checks run against a cached view of your landing page. A corrected price can sit in the feed while the disapproval it caused lingers until the page is re-crawled. Before debugging data that looks stale, check the feed's last successful fetch timestamp. If your fix postdates it, you haven't seen your fix yet.
Triage in that order: stage first, then the cause whose symptom matches yours. Variant mapping, channel publishing, and ID collisions stop items from arriving at all. Currency mismatches let items arrive and then get them disapproved. Stale caches make all of it look worse than it is. For account structure, feed registration, and the settings most likely to break after a theme migration or a new market, continue with the full Shopify and Google Merchant Center sync guide.
#shopify #google merchant center #product feeds #ecommerce #troubleshooting
Free tool
Not sure if your feed has errors?
Run your Google Shopping, Meta, or TikTok product feed through our free validator and get a prioritized error report before channels reject your products.
Editorial note
Written by Muhammad Norafif
This article was published on August 20, 2026 and last updated on August 20, 2026. NextFeed builds product feed management software for Shopify, Google Shopping, Meta, and other commerce channels.