A store owner I worked with had the Google channel "connected" for the better part of a year. Green status in the Shopify admin, products syncing, no alarming banners. When I searched for her products in an incognito browser — the way an actual stranger would — Google showed nothing. Not buried on page three. Nothing.

Another merchant had the opposite picture: products were reaching Merchant Center, but disapprovals kept piling up faster than he could clear them, and every "fix" he tried seemed to make a new batch appear.

Different symptoms, same underlying situation — and in neither case was anyone on the team incompetent. The connection between a Shopify store and Google's shopping surfaces just doesn't belong to anyone. That's the real problem, and it's worth understanding before you pay someone to fix the wrong layer.

"Connected" is a light on a dashboard, not a fact about customers

The only test that counts is the customer-facing one: open an incognito window, search for your products like a stranger would, and look at what Google actually shows. A backend status light is a claim. The search result is the fact.

The dashboard has been telling some merchants "connected" for months while their products were invisible the entire time. The two statements are not in conflict — they're just about different things.

This is the same family of problem as reviews that render on your page but never reach Google: the layer a human sees and the layer a machine reads can disagree for a very long time before anyone notices.

Why nobody on your team catches it

A working Shopify-to-Google connection spans at least five systems: the channel app inside Shopify, your Merchant Center account, the Google identity that binds them, your domain history, and your market and currency settings. Each piece can be individually healthy while the whole is broken.

And each piece has a different "owner." Your theme developer is right that it isn't theme work. Your marketer is right that it isn't an ads problem. The app's support team points at Google; Google's support points back at Shopify. Everyone is locally correct, the seam between them stays broken, and the merchant eats the cost — quietly, in sales that never had a chance to happen.

The five places the connection actually breaks

1. The identity has the wrong kind of power. Google has two access layers that look almost identical: access to the Merchant Center account, and owner-level control of the Business Manager behind it. The connection wizard checks the second; most people setting it up only hold the first. The tell is a permission error — usually mentioning "Super Admin" — at the exact moment everything looked like it was about to work. The fix isn't a workaround; it's binding the connection to an identity that holds both layers.

2. A dead domain is hiding downstream. If your store ever ran on a domain you've since let lapse, a reference to it can survive in places you'd never think to look — including the checkout URL stored inside Merchant Center's own business settings. I've seen one stale reference block an entire account ("No products displayed") while the storefront, the primary domain, and every product link were already clean. There are about five distinct surfaces where the old domain can hide, and the obvious ones are usually not the culprit.

3. Your market settings multiplied the catalog. If Shopify Markets has international selling broadly enabled — the default "International" group covers 196 regions — the channel can dutifully generate a copy of every product in every currency: tens of thousands of duplicate offers for a catalog of a few hundred items, each duplicate a fresh chance to be disapproved. The right fix is scoping the Google channel's own country settings, not turning off international selling — the storefront shouldn't have to change at all. Whether to sell internationally on Google is a business decision; the bloat never was one.

4. The "suspended" banner is lying to you. The channel app sometimes reports "account suspended due to policy violation" while Merchant Center's own console shows no suspension at all. The console is the authority. Before anyone panics — or worse, starts "fixing" a suspension that doesn't exist — the claim has to be verified where the decision actually lives.

5. It's working, and you're inside the waiting period. The first feed pull after a connection takes roughly 24–48 hours, and product review after a fix takes about a day. This is Google's clock, not anyone's effort. The expensive mistake here is clicking "request review" before the underlying fix is actually in place — a review of an unchanged state simply bounces, and now you've burned the attempt.

The bucket that genuinely isn't fixable

Some disapprovals are about what the product is, not how it's configured. Google's shopping surfaces restrict or prohibit whole categories — CBD, certain supplements, weapons-adjacent gear, political merchandise, alcohol in some configurations. No amount of feed engineering changes that, and anyone who implies otherwise is selling you hours, not outcomes.

If your catalog lives in a restricted niche, the honest version of this work starts with knowing what share of your products a channel will structurally refuse — before you spend money connecting it. For the rest, the options are narrow and should be stated plainly: appeal item by item, exclude those products from the channel, or accept the disapprovals and move on.

What to do about it

1. Run the customer-facing test first. Incognito window, search your brand and your best-selling products. What you see there — not the channel status — is your starting position.

2. Triage every disapproval into three buckets before touching anything. Configuration problems someone can fix (identity, domains, shipping settings). Business decisions only you can make (which countries, which products). Policy walls nobody can move. Most stuck recoveries are stuck because all three are being treated as one undifferentiated pile.

3. Change one thing at a time, and verify where the authority lives. Merchant Center's console outranks the app's banners. The search results page outranks both. And after a real fix, give Google its 24–48 hours before concluding anything.

4. Make someone own the seam. The reason this class of problem persists for months isn't difficulty — diagnosed properly, most recoveries are days of work, not weeks. It persists because it sits between job descriptions. Channel health is a thing someone has to actually be responsible for, the same way someone is responsible for the theme or the ad spend.

The bottom line

Products that don't show in Google are rarely a story about a broken store or a careless team. They're a story about a connection that spans two companies' systems, five-plus failure surfaces, and zero owners. The encouraging flip side: because the failure points are this specific, the whole class of problem is diagnosable in a single structured pass — and the fix is usually configuration, not a rebuild.

If your products have been "connected" for months and you still can't find them in a search, that's exactly the kind of thing I can pinpoint quickly. Grab a slot and bring nothing but your store URL — the diagnosis starts from what a customer sees, not from your admin.

Erick Kagai
Erick Kagai

Independent Shopify consultant. I own the seam between merchants' stores and the channels that drive their sales — and write these field notes from inside that work. More about me, including what I'm not good at.