In short: the title decides whether you appear; image, price and stock decide whether you get chosen and whether you keep appearing — price and availability are the number-one cause of disapproval in Merchant Center. There is one rule: the feed and the website must say exactly the same thing, including VAT and the price shown when the page loads.
The title decides whether you show; these attributes decide whether you get chosen (the listing competes visually with five others) and whether you keep showing (price and stock are the leading cause of disapproval). They are the attributes where the feed and the website have to say exactly the same thing.
What should feed images look like?
image_link: the main image. Requirements: the whole product, large, on a light or white background, with no text, logos, watermarks or borders; minimum 100×100 (250×250 for clothing), ideally 800×800 or more. An image with promotional text = disapproval or limited visibility.additional_image_link(up to 10): angles, close-ups, the product in use (lifestyle). Google shows them in the expanded listing and uses them in visual formats (Discover, Demand Gen).- Variants: each colour with its own photo; a size does not need a different photo, a colour does.
- Automatic improvements: Merchant can crop backgrounds or enhance images; check what it does before leaving it switched on.
A sharp photo of the product on a neutral background beats any creative composition: a Shopping listing is not a banner.
How do you submit price and sale price?
price: the regular price, with its currency, including VAT for consumers in Europe. It must match what the page shows on load (before selecting variants or applying vouchers).sale_price+sale_price_effective_date: the reduced price and its window. With both, Google shows the struck-through price and the sale annotation; with nosale_price, a sale is just a lower price with no signal.- Price per variant: each variant with its real price; the group cannot share a "from" price.
- Units and measures (
unit_pricing_measure): required in some countries and categories so that price per kilo/litre can be shown.
A feed/website discrepancy is the number one cause of pre-emptive disapproval. Two defences: a frequent feed and automatic item updates (Google corrects price and availability from the page's structured data).
How do you manage availability in the feed?
availability: in_stock, out_of_stock, preorder, backorder.
Out-of-stock products are not advertised (good) but if the feed says
"in stock" and the website says "out of stock", they get disapproved
(bad) and, worse, in the meantime you are paying for clicks to a page
where nothing can be bought. In high-turnover catalogues: a stock feed
several times a day (API or a partial price/availability feed) and
availability_date for pre-orders.
How do you set up shipping and returns?
- Shipping: configured at account level (rates by country, weight,
price) or per product (
shipping). Google shows the annotation ("Free delivery") and uses it in the total price comparison. Badly configured shipping (free in the feed, €5 at checkout) is a discrepancy and a disapproval. - Returns: the policy configured in the account; Google shows "Free returns within X days" and it is one of the annotations that lifts CTR most. It is also a trust requirement for the shop (module 5).
- Delivery times (
transit_time/ shipping settings): Google shows "Get it by Thursday"; realistic timings convert better than optimistic ones you fail to meet.
What is the website's structured data for?
The product page must carry schema.org/Product (name, image, price, currency, availability, GTIN, brand) in JSON-LD. It is used for:
- Letting automatic item updates correct price and stock.
- Letting Google verify the feed against the page unambiguously.
- Automatic crawling as a complement to the feed.
Almost every platform generates it; check with Google's Rich Results Test that the price and availability in the JSON-LD match what is visible (it is common for the template to show the price excluding VAT in the JSON and including VAT on screen).
Images, prices and stock checklist
- Main image large, clean, no text; additional ones with angles; one per colour.
-
priceincluding VAT, identical to the page's price on load;sale_pricewith dates during sales. - Real availability; frequent stock feed; out-of-stock items out.
- Shipping and returns configured and consistent with the checkout.
- Correct product JSON-LD on a sample of pages.
- Automatic item updates switched on.
💡 Ninja trick: price and stock are the reason a profitable product disappears on a Tuesday without anyone noticing until Monday. The Shopping Ninja flags the products that lose impressions suddenly and those that pay for clicks with no sales after a price change — the two fingerprints of a discrepancy — before Merchant turns it into a disapproval.
What you should remember
- The listing is chosen with the eyes: a large, clean photo; one per colour; additional images.
- Price including VAT, identical to the page on load;
sale_pricewith dates; a price per variant. - Availability in near real time; out-of-stock items out.
- Shipping and returns consistent with the checkout: annotations that lift CTR and trust.
- Correct JSON-LD + automatic item updates = fewer disapprovals.