I removed the product from Shopify weeks ago β€” why is Google Shopping still showing it?

Short answer. Deleting a product in Shopify does not delete it from Google Shopping. Merchant Center holds product data on its own schedule: a removal from a data source takes 24 to 48 hours to stop serving, an item that simply stops being refreshed only expires after 30 days, and Google's automatic product discovery can re-add the item from your page's own structured data. Check all three before assuming the removal worked.

The product is gone from your Shopify admin β€” not in your catalog, not in your collections, not in your sitemap. And it is still sitting in Google Merchant Center, still marked in stock, still eligible for Shopping ads and free listings. In a February 2026 thread on the Shopify Community forum, a merchant described products deleted one to two months earlier and still showing in Merchant Center: "nowhere in my Shopify or anything but seem to still show up in my GMC, even with the photos and everything".

This is not the same failure as a deleted product still appearing in Google Search, though the trigger is identical. That one is Google's search index holding a URL it has not recrawled, and a redirect fixes it. This one is Merchant Center holding a product record β€” separate system, separate rules, and a redirect does not touch it.

Shopify and Merchant Center keep two different copies

Your Shopify catalog is the original. Merchant Center holds a copy, submitted by a data source β€” for most stores, the Google & YouTube channel. Deleting the original does not reach into the copy and delete it; it only stops the original from being sent again. What happens to the copy afterwards is governed entirely by Merchant Center's own rules, and those rules are slower than merchants expect.

Shopify's own documentation on syncing products shows the design intent from the store's side: "Google sets a strict 30-day expiry policy on synced product data, so the Google & YouTube channel updates your products automatically within that 30-day period to avoid account suspension or loss of product data." That describes what the channel does to keep products alive. It does not describe what happens to a product once you take it out β€” which is precisely the gap merchants fall into.

How to confirm it yourself in five minutes

  1. In Merchant Center, open Products and search by title or product ID. Note the status β€” active, expired, disapproved β€” because it tells you which rule is holding the item.
  2. Open Data sources and check which source the item is attributed to. An item attributed to your Shopify channel and an item Google found on its own need different fixes.
  3. Open the old product URL in a private window. Confirm whether it returns a 404, redirects somewhere, or still loads a product page.
  4. If it still loads, view the page source and search for "@type": "Product". Structured data left behind on a still-reachable page is a live route back into Merchant Center.
  5. Search Google for the product name plus your store name and check the Shopping tab specifically β€” an item can be gone from Search and still live in Shopping.

Not sure how many stale product URLs your store is still publishing? We read your live catalog and every product page's structured data, and flag URLs that still advertise a product you no longer sell β€” read-only, no admin access, about 2 minutes. β†’ free scan

Where the delay actually comes from

Four mechanisms produce the same symptom. They are deliberately not ranked by frequency: Merchant Center account state is not observable from outside a store. Only the page side is, and two of the four show up there.

1. The removal has not propagated yet. The plainest explanation, and the one worth ruling out first. Google's guidance on managing products in Merchant Center states that when a product is removed from a data source, "it may take 24–48 hours for your product to be removed from ads and free listings". If you deleted the product yesterday, you are inside the normal window and nothing is broken.

2. Nothing ever told Merchant Center to remove it. Deleting a product in Shopify removes it from the feed's contents, which stops it being refreshed β€” but stopping a refresh is not the same instruction as "delete this". The same Google page states that "All products expire from your Merchant Center account 30 days after the last refresh", so an orphaned item keeps serving until that clock runs out rather than disappearing with the original. This is the case behind the "deleted it two months ago and it is still there" reports.

3. Google found the product by itself. This is the mechanism most merchants do not know exists, and it is the reason a manual deletion sometimes comes back. Google's documentation on adding products automatically from your online store is explicit about the process: "We scan your website to find product pages", then "We read the structured data on those pages to understand product details like title, price, and availability". The same page states that "Google checks your website at least once every 24 hours for new products and reflects the new products or updates on Merchant Center". No feed is required for this. If the product page still resolves and still carries Product markup β€” because it was unpublished from the Google channel rather than deleted, or because a duplicate URL survived the cleanup β€” Google has a route to that item that your feed does not control.

4. The landing page is still reachable. Merchant Center does have a mechanism that removes a product with a dead destination: the "Product page unavailable" issue, where Google states plainly that "To avoid a bad user experience, we disable products that have an unavailable landing page. These products will stop showing in ads and free listings until Google can access the landing page." A 404 is the first cause listed. But that page's list of failures names "too many redirects", defined as more than 2 β€” a single redirect is not on it. So if you followed the standard advice and 301'd the dead product URL to a live collection, the destination now resolves cleanly, and the signal that would have disabled the Shopping item never fires.

That last one is two pieces of correct advice colliding. Redirecting a dead product URL is the right move for search β€” it recovers the shopper and the link equity instead of dumping both into a 404. On the Merchant Center side, it is also what keeps a stale listing serviceable. Neither system mentions the other.

The fix, per cause

  • Remove it at the source, not only in the interface. Deleting the Merchant Center copy while the data source still contains the product means the next sync resubmits it. Take it out of the Shopify side first, then clear the copy.
  • Use archive for anything permanent. Google documents archiving as removing a product "from your main product list, diagnostics, and from serving on Google surfaces (like Ads and free listings)", while keeping it restorable. That is the right instrument for a discontinued product. Pause is documented as short-term β€” a pause is treated as expired once it has been in place more than two weeks β€” so it is the wrong tool for a product that is never coming back.
  • Check the automatic source. In Data sources, look at what Google has added from its own crawl. If the item is there rather than in your channel feed, removing it from Shopify will not clear it, and it will keep returning for as long as a page advertising that product stays reachable with Product markup on it.
  • Be deliberate about the old URL. Point a redirect at a genuine replacement product rather than a generic page, so that whatever still reaches that URL β€” shopper or crawler β€” arrives at something that matches what was advertised. Where there is no replacement at all, letting the URL stay dead is what eventually triggers the landing-page rule.
  • Re-check after 48 hours. Not immediately, and not in a month. The documented window is the only honest point at which "it did not work" becomes a real conclusion rather than impatience.

One thing not to do first: uninstalling and reinstalling the sales channel is the most repeated fix in forum threads, and it does clear the account β€” but it re-mints product IDs and discards the performance history attached to them. That is a real trade, not a free reset.

Why this one comes back

Every catalog cleanup regenerates this. A discontinued line, a seasonal range, a rebrand that renames handles, a bulk delete during a migration β€” each one creates a batch of products that exist in Google's copy and not in yours, and none of them announces itself. Shopify admin cannot show you the discrepancy, because the whole point is that the product is no longer in Shopify to be shown.

Any single stale listing takes minutes to clear once you know which mechanism is holding it. The problem is that nothing tells you it happened, so catching the next one depends on remembering to check β€” after every cleanup, every migration, every app change that touches the feed. It is the same shape as the availability mismatch, where Shopify says in stock and Google Shopping says sold out: two systems holding two versions of the truth, with no alarm on the gap between them. Across full-catalog scans of more than 90,000 Shopify product pages, the failures we find share that shape: the public-facing reality drifts away from the admin, and the admin is the only place anyone is looking.

Next in this cluster

Not sure if this is happening on your store right now?

Scan my store for free