In short
As often as the data behind it changes, which for most stores means at least once a day and continuously for price and availability. A daily scheduled fetch is the sensible floor because Google expires items that have not been refreshed within about a month, but a daily cycle is far too slow for a store running flash sales, thin stock or dropshipped products. The test is simple: if a shopper can click an ad and find a different price or an unavailable product, the feed is not updating often enough.
Frequency is set by volatility, not by a default setting
Two stores with the same number of products can need completely different schedules. A furniture retailer with stable prices, long lead times and slow-moving stock is fine on a daily fetch. A store selling limited drops, or one whose supplier changes cost weekly, or a dropshipper whose availability depends on somebody else's warehouse, needs updates measured in minutes.
So start by listing which fields actually move and how fast. Price, availability, sale price and shipping cost are the volatile ones for most catalogues. Titles, descriptions, images and identifiers change rarely and can ride along on a slower cycle.
That separation is what makes real-time updates practical. You do not need to reprocess an entire catalogue every ten minutes; you need a mechanism that pushes the fields that changed when they change, on top of a full refresh that runs daily.
The consequence of getting this wrong is not subtle. Google compares the feed against the landing page, and a mismatch in price or availability leads to disapprovals. A pattern of them across a catalogue becomes an account-level problem rather than a per-item one.
The mechanisms, and what each is for
A scheduled fetch is the baseline. Google retrieves a file from your server at a time you set, usually daily. It is simple and reliable and it keeps items from expiring, and for stable catalogues it is enough on its own.
Direct API updates are the mechanism for volatility. Google's merchant API lets a system push changes to individual products as they happen, which is how a store keeps price and stock current without regenerating everything. Most platform integrations, including the native Google channel on Shopify and the main WooCommerce and BigCommerce connectors, use this behind the scenes to sync inventory changes.
Supplemental feeds sit alongside the primary feed and override or add specific fields. They are the right place for custom labels, corrected values from a source you cannot fix quickly, and enrichment such as promotion identifiers. They are not a place to keep a second copy of your entire catalogue.
Automatic item updates use the structured data on your landing page to correct price and availability when they drift from the feed. Treat it as a safety net that reduces disapprovals rather than as your update mechanism, and only enable it if your on-page markup is reliably correct.
Most stores end up with a combination: a daily full refresh, continuous updates for the volatile fields, a supplemental feed for enrichment, and automatic updates enabled as a backstop.
Where a daily cycle is not enough
Timed promotions are the clearest case. If a sale starts at nine in the morning and the feed refreshes overnight, your ads carry yesterday's price for a full day, and the mismatch between the ad and the page is exactly what triggers disapprovals. Promotions need the price change pushed at the moment it takes effect, in both directions, including when the sale ends.
Low stock is the second. A product with three units left can sell out in an hour, and every click after that is money spent sending shoppers to a page with no buy button. Stores with fast-moving lines should be syncing availability continuously rather than daily.
Dropshipping and consignment are the third, because the stock you are advertising is held by someone else and you learn about changes only when you check. The refresh cadence here should match how often the supplier's data updates, and where the supplier updates hourly, so should you.
The fourth is dynamic or rules-based pricing. Any system that adjusts prices automatically has to be wired to the feed, otherwise it will move prices on the site while the feed reports what they used to be.
Seasonal peaks compress all of this. During a high-volume weekend the cost of a stale feed multiplies, so it is worth increasing update frequency ahead of those periods rather than discovering the limit during them.
How to tell whether your feed has gone stale
Merchant Center tells you directly if you read the right screens. The diagnostics view lists mismatch issues by type, and a rising count of price or availability mismatches is the definitive symptom. The feed processing history shows the time of the last successful fetch and any errors, and a fetch that has been failing quietly for a week is more common than it should be.
On the campaign side, look for spend on products that are unavailable, and for a fall in conversion rate that is not matched by a change in traffic quality. Both point at shoppers arriving to find something other than what was advertised.
Run a manual round trip weekly. Take ten products, including at least two that recently changed price and two with low stock, compare the feed values to the live page, and note any difference. It takes a few minutes and it catches integration failures that no report has flagged yet.
Also confirm nothing is expiring. Items that have not been refreshed within Google's window drop out, and a store that has quietly stopped refreshing part of a catalogue will see products disappear rather than be disapproved, which is easier to miss.
Related questions
Does updating a feed more often improve where products appear?
Not by itself. Frequency does not act as a ranking signal, so refreshing an unchanged catalogue every hour gains nothing. What it does is keep price and availability accurate, which prevents disapprovals and stops budget being spent on unavailable products, and both of those affect performance considerably.
What happens to products that stop being included in the feed?
They expire after Google's refresh window passes without an update, then stop serving. That makes a partial feed failure quietly damaging, because affected items vanish rather than showing an error. Monitor the item count in Merchant Center against the number your catalogue should contain, and alert on a drop.
How often should supplemental feeds be updated?
On the cadence of whatever they carry. Custom labels derived from margin or performance data might be refreshed weekly, while promotion identifiers need to change when the promotion does. Keep them narrow, document what each one overrides, and remove any that exist only to patch a problem that has since been fixed at source.