← Blog
Channels

Why your best products never show up on Google Shopping

Most products that don't sell on Google aren't losing the auction. They never entered it. Here are the fields that decide, and how to audit your own catalogue in an hour.

Feedwrk team · 7 September 2026 · 6 min read

"Why are we tenth on Google?"

Usually the answer isn't the bid. It isn't the budget, and it isn't the agency. It's that Google never had enough information about the product to put it in front of anyone.

Google Shopping doesn't read your website the way a person does. It reads a feed - a table, one row per product, one column per attribute. If a column is empty, the product is weaker. If a required column is empty, the product is out. Not ranked low. Out.

Here's what decides it, and how to check your own catalogue this afternoon.

Eight fields decide whether a product exists at all

Every product you send to Merchant Center needs the same eight attributes, whatever you sell:

  • id - a unique code that never changes
  • title - the product name, up to 150 characters
  • description - what it is, in text, not marketing
  • link - the product page, HTTPS
  • image_link - the main image
  • price - with a currency
  • availability - in stock, out of stock, preorder, backorder
  • brand - the manufacturer

Miss one, and that product is disapproved. It doesn't matter how good it is or how much you'd pay for the click.

Then come the conditional ones, which catch most stores out:

  • GTIN or MPN - the manufacturer's identifier, required when the product has one. "We don't have barcodes for most of the range" is a very common sentence, and a very expensive one.
  • item_group_id - ties variants together. Without it, your ten colours of the same chair compete with each other instead of showing as one product.
  • colour, size, gender, age group - required for apparel and accessories.
  • condition - required for books, music and film.

None of this is new. What's new is that the tolerance keeps shrinking. Google's 2026 specification adds attributes like video_link, handling_cutoff_time and minimum_order_value, and - the one to diarise - starts enforcing a 500x500 pixel minimum on product images from 31 January 2027. Small supplier thumbnails that pass today stop passing then.

There are two ways to lose, and only one of them is visible

Disapproved is the loud failure. Merchant Center shows a red number, a reason, and a count. You can fix it, because you can see it.

Approved but never shown is the quiet one, and it's where the money goes. A product with a supplier title like ART.4471-BL 40x40, no description worth reading, no GTIN and one dark photograph is technically valid. It clears every check. It just never matches a search, because nothing in it looks like the words a person types.

That product sits in your account for a year looking fine on a dashboard. Nobody ever sees it.

The same thing happens on Meta. "Meta rejected sixty items" is a solvable Tuesday. The three hundred items that were accepted and shown to nobody are the actual loss, and no screen reports them.

Complete data isn't a compliance task - it's reach

Think about what a product row has to do. Someone types "dark green ceramic planter 30cm". The system has to decide whether your product is a match. It has exactly the fields you gave it to decide with.

  • No colour attribute, and "dark green" can't match.
  • No size or dimensions, and "30cm" can't match.
  • A description copied from a supplier that reads "high quality item for home use", and nothing matches at all.

Every field you fill is another query the product can win. That's the whole mechanism. It's not a ranking trick - it's surface area.

This is also why the same fix pays twice. The attributes that make a product findable on Google make it findable in your own site search, in marketplace listings, and in whatever an AI assistant reads when a shopper asks it for a dark green planter. One catalogue, several audiences, same fields.

Audit your own catalogue in an hour

You don't need a tool to find out how bad it is. You need a spreadsheet and sixty minutes.

  • Export everything. Pull your full product list with every attribute column, not just the ones your theme shows.
  • Count blanks, per column. Sort by how many products are missing each field. You'll usually find one or two columns doing most of the damage - often GTIN, often colour and size, almost always description.
  • Flag the junk titles. Filter for titles under 25 characters, or titles containing a supplier article number. Those are your invisible products.
  • Check image sizes. Anything under 500x500 goes on the list now, before enforcement makes it urgent.
  • Split the list in two. Products missing a required field are disapproved today - that's the emergency queue. Products with required fields but thin content are the slow leak. Fix the first this week, plan the second.

Then do the honest part: multiply the number of products in the second pile by your average order value, and ask what percentage of them would sell in a year if they were findable. That number is what the catalogue work is worth.

Why this keeps coming back

Most stores fix their feed once. Six months later it's broken again, and nobody did anything wrong.

It breaks because product data lives in several places at once - the store, the supplier's spreadsheet, the translation file, the channel's own settings - and those places don't agree. A supplier changes their file format and a column silently stops arriving. A sale ends in one system and not another. Somebody adds forty products by hand at 6pm on a Friday.

And most feed tools make it worse in a particular way: they run on account-wide rules. One template, applied to everything. Real catalogues are nothing but exceptions - the one brand that puts size in the title, the supplier that sends prices in cents, the fifty products with no barcode. A global rule breaks on every one of them, quietly.

The fix isn't a better template. It's treating each product on its own terms, and keeping one catalogue that every channel reads from, so there's only one place where a thing can be wrong.

Start with the number

Before changing anything, find out where you actually stand. Feedwrk reads a public Shopify storefront and returns feed-readiness - how many products would be accepted, how many are missing required fields, and which fields cost you the most. No account, no install, nothing to connect.

Send the store address, get the gaps back. Then decide what's worth fixing.