Find the cause
Open Merchant Center and read the issue against the product, not the summary. The count matters less than which kind of problem you have.
- 01Is it account level or product level? An account issue such as a misrepresentation warning can disapprove your whole catalogue at once. Fixing individual products will do nothing until the account issue clears.
- 02Price and availability mismatch. Google compares the feed against your live product page. A price that changed in Shopify and has not reached the feed yet reads as a mismatch, and a sale that ends is a common trigger.
- 03Missing GTIN or brand. These are required for most retail products. Items added without them pass in Shopify and fail in Google.
- 04Landing page problems. A product Google cannot crawl gets disapproved. Check for a redirect, a password page, or a variant URL that no longer resolves.
- 05Image issues. Promotional overlays, watermarks and placeholder images are rejected, and a bulk image change can take out a whole collection in one pass.
- 06Policy categories. Some products are restricted whatever the feed says. Worth confirming before spending time on the data.
If your offer count is far higher than your product count, extra feeds are multiplying the same catalogue, usually one per country or language. A shop with thirty products can show more than a thousand offers. It matters because a small number of broken products then reads as a large disapproval count, and account limits are measured against the inflated number.
The problem is when you find out
Most of the causes above are fixable in under an hour. The cost is rarely the fix.
The cost is the gap between the disapproval and the moment you notice. Disapproved products stop showing in Shopping results straight away. Your ad spend keeps going to whatever is still eligible, your traffic drops, and the dashboard that would have told you is one you open on purpose rather than one that interrupts you.
A disapproval that lands at 2am on a Saturday and gets noticed on Monday has cost a weekend of Shopping traffic, and nothing in the process was broken. Everyone did their job. You heard late.
Watch for the change, not the state
Opening Merchant Center tells you the state now. It does not tell you what moved. Three changes are worth catching the day they happen.
- New disapprovals. Not the total, the delta. Going from zero to two matters more than sitting at two for a month.
- Offer count jumps. A sudden multiplication means new feeds appeared, and they will carry the same problems your main feed has.
- Product ID rewrites. When the identifiers Google knows your products by change, Google can treat them as new items and the performance history attached to the old ones stops counting.
There is a fourth, and it is the one most stores never check: drift between Shopify and the feed. A price or availability that changed in your store and has not reached Google is a disapproval that has not happened yet.
Where ShopCanary fits
ShopCanary is a monitoring app for Shopify stores, built by HJB CodeForge. It watches your own Merchant Center account and tells you when any of the above changes.
You connect Google through your own account, and the access is read only. ShopCanary does not touch the Google & YouTube channel app or write anything to Merchant Center. It reads status, and it compares that status against your Shopify catalogue to catch drift before Google turns it into a disapproval.
It checks your discount and shipping rules on the same dashboard, because a feed problem and a checkout problem are the same kind of failure: revenue-affecting, and quiet.
If ShopCanary's own checking stalls, it marks that check stale rather than showing green. A monitor that fails without saying so is worse than none.