Why do my Google Shopping ads keep stopping every time a product page goes down or sells out?

When a product page 404s, gets unpublished, or falls out of stock without the right settings, Google Merchant Center quietly disapproves the item and your Shopping ads stop serving, often before you notice.

Google AdsGoogle Merchant CenterGoogle ShoppingSEOproduct feed

What's going on

A merchant notices their Google Shopping campaign performance suddenly craters: impressions and clicks drop off a cliff with no change to the ad itself. Digging into Google Merchant Center reveals the cause: one or more products in the feed have been disapproved because the landing page they point to is returning a 404, redirecting somewhere unexpected, or showing as out of stock when the ad still expects it to be purchasable.

This isn't really a bug. Merchant Center policy requires that a Shopping ad's landing page actually match and sell the advertised product, and it's designed to catch violations of that. The trouble is that Shopify and Google Merchant Center are two separate systems syncing on their own schedules, so a change made in Shopify, unpublishing a product, selling out of stock, restructuring URLs during a theme change, can go unnoticed by the merchant for days until Google's crawler catches up, disapproves the item, and pauses its ads, usually with the only visible symptom being a drop in traffic rather than an obvious error inside Shopify itself.

Multiple merchants have reported the same pattern independently: a product goes unavailable for an entirely ordinary reason, sold out, discontinued, swapped for a different variant, and the ripple effect knocks out ad delivery for that item, sometimes affecting the standing of other approved products in the account if disapprovals stack up.

Why it happens

Google Merchant Center evaluates every product in your feed against its landing page in periodic crawls that run independently of when you actually made a change in Shopify. If a crawl finds a 404, an unexpected redirect, or an out-of-stock page that the feed still marks as available, it disapproves that product for policy reasons: the ad can't legally point somewhere that no longer sells what it advertises.

The disconnect happens because Shopify's unpublish, archive, delete, and out-of-stock states don't automatically produce the same signal Google expects. A product removed from the online store without a redirect just becomes a dead URL, and a variant sold out without a clear continue-selling setting can look inconsistent to Google's crawler compared with what the feed reports. None of this shows up inside Shopify admin as an ads problem. It only surfaces as a quiet drop in Merchant Center approval status and, downstream, in ad performance.

5 ways to fix it

1

Turn on Google Merchant Center's own diagnostics and alerts first

Merchant Center already tracks this for you. Its Diagnostics view lists every disapproved or pending item along with a specific reason, such as a landing page error, a page not found, or an item marked out of stock. Turn on account-level email notifications so you hear about a disapproval spike within hours instead of noticing it only when ad spend and traffic drop. This costs nothing and needs no code.

2

Keep Shopify's product status and your Google feed in sync

Most of these disapprovals trace back to a mismatch between what Shopify shows and what Google last crawled: a variant marked out of stock while the page is still live with tracking on, or a product unpublished instead of set to draft. Decide on one consistent rule per situation, whether that is continuing to sell when a variant is out of stock or excluding that product from the Google and YouTube sales channel, and apply it the same way every time so the two systems don't end up disagreeing about whether a page should serve an ad.

3

Redirect discontinued product URLs instead of leaving them dead

When a product is retired without a redirect in place, its old URL will simply start returning a 404. Google's crawler revisits landing pages it has previously indexed on its own schedule, and a 404 on a page it once approved is one of the more common triggers for a sudden wave of disapprovals. Before unpublishing or deleting a product, set up a redirect from its old URL to a relevant collection or replacement product using Shopify's URL redirect settings under Online Store.

4

Run a periodic broken-link and redirect check on the storefront

Because Google re-crawls independently of when you actually made a change, a theme update, bulk product edit, or app removal from weeks earlier can quietly break landing pages that were fine when the ads were first approved. A recurring check for broken links and redirect loops, whether done manually or with a crawler tool, catches these issues before Google's crawler does, rather than after ads have already paused.

5

Escalate through Merchant Center support if a disapproval looks wrong

If Diagnostics flags a product for a landing page or availability reason but the page loads fine and stock is accurate, request a review from within Merchant Center or reach out to Google's Merchant Center support. Crawler-side issues, like a stale cache or a crawl blocked by your firewall or CDN, do happen occasionally and aren't something a store-side fix alone can resolve.

Bottom line

There's no single Shopify setting that prevents this outright, since it's really a monitoring gap between two systems, Shopify's product and inventory state and Google's periodic crawl of your landing pages, that only becomes visible once ads have already stopped. The more durable fix is process rather than a product tweak: turn on Merchant Center's native diagnostics and alerts, handle out-of-stock and unpublished products consistently, redirect retired URLs before they go dead, and check for broken links on a schedule instead of waiting for a Google notification. If your store sees frequent theme or catalog changes, a lightweight recurring site-health check is a reasonable addition, but it's a monitoring layer around the problem, not a substitute for getting the underlying settings right.

Still Stuck?

Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.