Google Merchant Center Feed Timeout: Fix Guide 2026

A feed timeout in Google Merchant Center means Google's crawler attempted to download your feed file but the download did not complete within the allowed time window. It sounds like a server problem, but the real causes are more varied, and the fixes range from a single server configuration change to a complete feed architecture rethink. Here is how to diagnose and fix every scenario.

Understanding Feed Timeout vs. Feed Fetch Error

A timeout is a specific type of fetch error. Where a generic fetch error might mean the URL returned a 404 or 403, a timeout means the URL was reachable, the download started, but did not complete. This distinction matters because the fixes are different. A 404 fix is about URL correctness. A timeout fix is about server response time and file size.

In Merchant Center, timeouts appear in the Processing tab under your feed details. The error message typically says something like "fetch timeout" or "connection timed out." Note the time of the failed fetch. If timeouts happen consistently at the same time of day, server load during peak traffic is a likely contributor.

Causes and Fixes for Feed Timeouts

1. Feed File Too Large to Download in Time

Google's Feedfetcher has approximately a 30-second window for the total download. Large catalogs without compression can produce feed files of 200 MB, 500 MB, or more. At typical server transfer speeds, these files cannot download within the limit. The file size is the most common cause of timeout for stores with 10,000 or more products.

Enable gzip compression on your feed endpoint. This single change typically reduces file size by 70 to 90 percent. In Apache, add AddOutputFilterByType DEFLATE text/xml to your configuration. In Nginx, use gzip on; and gzip_types text/xml application/xml. After enabling compression, test the feed URL with curl --compressed -I to confirm the response includes Content-Encoding: gzip and check the Content-Length reduction.

2. Dynamic Feed Generation on Slow Servers

If your feed is generated on demand by a PHP, Python, or Node.js script that queries the database for every fetch, and your server is on shared hosting or under load, the generation itself can take longer than 30 seconds for large catalogs. The timeout happens before the download even begins properly.

Switch to pre-generated static feed files. Set up a scheduled job (cron on Linux, Task Scheduler on Windows) that runs your feed generation script every few hours, writes the output to a static file, and Google's crawler fetches the pre-built static file. The feed may be a few hours old, but it will never timeout. Most stores do not need real-time feed updates, and static feed files eliminate the timeout risk entirely.

3. Shared Hosting Bandwidth Throttling

Shared hosting providers often throttle bandwidth for large file transfers. A 100 MB feed file that starts downloading quickly may slow to a crawl partway through due to per-connection bandwidth limits. The download starts successfully, Google's crawler waits, and then the connection times out before the file completes.

Move your feed file to a CDN (Cloudflare R2, AWS S3, Google Cloud Storage). Object storage services have no per-connection bandwidth limits and serve files from edge locations that minimize transfer time. Upload your static feed file to the storage bucket, generate a public URL, and register that URL in Merchant Center. You can also automate the upload as the final step of your feed generation cron job.

4. CDN or Firewall Throttling Google's IP Ranges

Some CDN configurations rate-limit crawler traffic, including Google's Feedfetcher. If your CDN identifies the Feedfetcher user agent as a bot and applies bot-mitigation rules (slowing connections, requiring JavaScript challenges), the feed download will timeout even though the file is small enough to download normally.

Add a firewall rule that bypasses bot mitigation for requests matching the Feedfetcher user agent string or originating from Google's published IP ranges. In Cloudflare, create a WAF Custom Rule: User Agent contains "Feedfetcher-Google" AND Path matches "/feed.xml" - Action: Allow. This bypasses Cloudflare's bot management for feed crawl requests while keeping protections in place for everything else.

5. Feed Schedule Timed During Peak Server Load

GMC allows you to configure when it fetches your feed. If your scheduled fetch time coincides with your store's peak traffic period (usually early afternoon for retail sites), your server is under maximum load exactly when Google tries to download a large, dynamically-generated feed. The combination causes timeouts that do not occur during off-peak hours.

In Merchant Center, go to your feed settings and change the fetch schedule to overnight (2 AM to 5 AM in your server's timezone). This is also when your feed generation cron should run, so the static file is always freshly built and ready before the scheduled GMC fetch window.

Testing Whether Your Fix Worked

After implementing your fix, do not wait for the next scheduled GMC fetch. Use the "Fetch now" button in Merchant Center to trigger an immediate attempt. Watch the Processing tab. If the fetch completes without a timeout error and the product count processes correctly, the fix worked. If it times out again, the download is still too slow or the file is still too large.

Independently test your feed URL download speed using an external server. Tools like WebPageTest, GTmetrix, or a simple curl from a remote server give you download times from outside your network. Aim for a total download time under 20 seconds to leave comfortable margin within GMC's 30-second limit.

For very large catalogs where file size is fundamental, consider splitting your feed into multiple sub-feeds by product category. Register each sub-feed as a supplemental feed in Merchant Center. Each fetches independently, so individual timeouts on one sub-feed only affect that product subset, not your entire catalog. See the feed fetch error guide for the full configuration approach for split feeds.

Diagnose Your Feed Timeout Root Cause

Our audit tool analyzes your feed configuration, file size, server response times and fetch history to pinpoint why your feed is timing out and what to fix first.

Run Free Audit

Feed Timeouts and Account Health

A single timeout is not a crisis. GMC retries and serves your last successful feed for several days. But consistent timeouts that prevent weekly or even daily feed updates mean your live product data (prices, stock levels, promotions) drifts out of sync with what Google is showing in Shopping ads. That drift creates misrepresentation risk when users click through to product pages and find different prices than the ad showed.

If your feed has been timing out for an extended period and you already have product disapprovals, run through the full GMC suspension checklist to confirm no policy flags have accumulated. A feed that has been stale for two or more weeks while running Shopping ads with outdated data is the exact scenario that leads to a misrepresentation suspension.

Fix the timeout first, then verify the feed processes cleanly. If you are already in suspension or appeal, the feed timeout fix should be documented as part of your remediation steps in the GMC appeal. Show GMC reviewers that the feed now fetches successfully and that your product data is current and accurate.

Frequently Asked Questions

Why does my Google Merchant Center feed keep timing out?

Feed timeouts in GMC usually have three root causes: the feed file is too large to download within the 30-second limit, the server generating the feed dynamically is too slow, or a CDN or firewall is throttling Google's fetch crawler IP ranges. Compressing the feed and pre-generating it as a static file fixes the majority of timeout issues.

What is the maximum feed file size Google Merchant Center accepts?

Google Merchant Center accepts compressed feed files up to 4 GB after decompression. The practical limit for reliable fetching is more constrained by the 30-second download timeout. A large uncompressed file will timeout, while the same file compressed with gzip typically downloads well within the time limit.

Does a feed timeout cause products to be disapproved in Google Merchant Center?

A feed timeout does not immediately disapprove your products. GMC retries the fetch and continues serving the last successfully fetched version for several days. However, if the feed consistently fails to fetch, products will eventually be marked as stale and disapproved. If your feed has been timing out for more than 3 days, check your active product count immediately.

Should I split a large feed into multiple smaller feeds in GMC?

Yes, splitting a very large feed is a valid solution if compression alone does not resolve the timeout. You can register multiple supplemental feeds in Merchant Center, each covering a subset of your product catalog. Each sub-feed is fetched independently, so a timeout on one does not affect the others.