Product feeds for Google and Meta: how to keep price and stock honest
A feed is not a data export. It is a continuous promise that a product exists at that price and can be bought today, and the platforms increasingly enforce it by comparing your feed to your own page.
Shopping ads are won and lost in the feed rather than in the campaign. The bidding is the easy half; the half that decides whether you are eligible, whether you match a query and whether the account survives is the data you send.
The most expensive misunderstanding is treating the feed as a nightly export. It is a live statement about your catalogue, and it is checked against the page a shopper lands on.
Price and availability are the enforced fields
Google crawls your landing pages and compares what it finds to what you submitted. A mismatch between the feed price and the page price is the single most common cause of disapprovals and, repeated, of account suspension.
- Price must match exactly, including currency and whether tax is included, per the destination country's convention.
- Availability must be true now. "In stock" on a sold-out product is the mismatch that gets escalated fastest.
- Sale price needs its effective dates if it is temporary, or it becomes the price you are held to.
- Shipping and tax must be configured so the total a shopper sees is the total you advertised.
All of this argues for one source: the shop. A feed built from a spreadsheet somebody maintains is a feed that will disagree with the page within a month.
How often to refresh
- Scheduled fetch, at least daily, is the floor.
- Supplemental or incremental updates for price and availability as they change is what you actually want. Most platforms support pushing updates for changed items without resubmitting the catalogue.
- Pause on stock-out rather than waiting for the next crawl, especially for your top sellers.
If your platform can see WooCommerce stock changes as they happen, this is a solved problem. If it reads a CSV once a night, it is not, and the cost lands as wasted spend on unbuyable products.
The fields that decide whether you match a query
- Title. The highest-leverage field by a wide margin. Front-load what the product is, then brand, then the distinguishing attribute. "Oud Royale eau de parfum 50 ml — Areal" beats a stylised product name.
- GTIN and brand. Where they exist, supply them. They connect your listing to the product Google already understands, and their absence limits eligibility.
- Product type (your taxonomy) and Google product category (theirs). Both. They do different jobs.
- Attributes — colour, size, material, gender, age group. Required for apparel and useful everywhere, and these are what power filtered shopping surfaces.
- Image. Plain background, product filling the frame, no overlaid text or watermarks. Promotional text on the image is a disapproval, not a style choice.
Variants are where feeds get messy
A shirt in four sizes and three colours is twelve items, not one. Each needs its own id, its own availability and its own page or anchor, grouped by a shared item group id.
- Keep the ids stable. An id that changes on every export destroys the item's history and its learned performance.
- Availability is per variant. Advertising a shirt as in stock when only the smallest size remains is a mismatch a shopper discovers at the worst moment.
- Do not collapse variants to the cheapest price. It matches queries you cannot fulfil at that price.
What to check weekly
- Disapproved items, by reason. One new reason appearing across many items is usually one upstream change.
- Items in the shop but not in the feed. Usually a category or a stock status silently excluded by a rule somebody wrote a year ago.
- Click share concentrated in a handful of products. Normal, but worth knowing which ones, because those are the titles and images worth hand-writing.
Sources and further reading (4)
- Google — Product data specification
- Google — Merchant Center policies
- Meta — Catalogue and feed specification
- Schema.org — Product
Checked on 23 September 2026. Provider prices, mailbox rules and legal guidance change — verify anything you plan to act on.
A feed that agrees with your shop because it reads it
Auralata reads products, variants, prices and stock from WooCommerce as they change — including whether that shop's prices include tax — so what a platform is told matches what a shopper will find.