DENM Digital
The Playbook · No. 04 · Guide

Four readers look at every product you sell. Most stores write for one.

Google Shopping, your social feeds, the search bar on your own store, and now the AI assistants all read the same product record, and each one needs different fields filled in. What sits in a record that sells, the four places stores leak, and how to audit your own catalogue in an afternoon.

8 min readBy Ewald van ZylFiled under Grow
title
Ranger Hiking Boot
brand
Ranger
barcode
 
product type
 
colour
 
size
8
material
 
gender
 
price
R1 899
availability
in stock
image
1 of 1
alt text
 
One product · 6 of 12 fields filled

Every product you sell exists twice. There is the product page, which you art-directed: the photography, the copy, the price sitting under a button. And there is the product record, a plain list of fields and values in your admin, which almost nobody looks at after the day it was loaded. The page is what a customer sees when they are already on your store. The record is what everything else reads to decide whether they ever get there. Guess which one most stores spend their time on.

The readers

The record travels, the page does not

Your product page stays where you built it. Your product record leaves the building. It is compiled into a feed for Google, pushed into your social catalogues, indexed by the search bar on your own store, and read by the assistants people now shop with. Four readers, one record, and each of them needs different parts of it filled in.

GoogleYour Merchant Center feed

Whether the product runs in Shopping ads and free listings at all.

SocialYour Meta and TikTok catalogues

Whether it can be tagged, shopped in-app, or used in a dynamic ad.

Your own storeYour search index and filters

Whether a customer already on your site can find it.

AI assistantsThe structured catalogue built from your products

Whether your store is the one put forward in the answer.

Four readers, one record, no overlap in what they forgive.

Notice what the four have in common. Not one of them reads your layout, your fonts or your photography. They read fields. So a catalogue can look immaculate on the storefront and still be unsellable everywhere else, which is exactly the failure that never shows up in a report: no error, no warning, just a competitor shown instead of you.

You merchandise the page and inherit the record. Only one of them leaves the store.
The anatomy

What a record that sells actually holds

A complete record is not a long one. It is about twenty fields, and they fall into four jobs: identify the product, describe it, classify it, and state its commercial facts. Each job has a reader waiting for it, and each blank has a consequence. WHAT A BLANK SAYSAn empty field is not neutral. Software reads it as a fact about the product: not available, not applicable, not worth showing.The rule: state it, or it isn't true

01
IdentifyBarcode / GTIN, MPN, brand, SKU

Nobody can tell your product is the same one sold elsewhere, so it can't be compared or ranked against it.

02
DescribeTitle, description, images, alt text

The product exists but matches nothing specific. It turns up for browsers and never for buyers.

03
ClassifyProduct type, category, colour, size, material, gender, age group

Filters return nothing, required-attribute checks fail, and specific requests go to a competitor.

04
CommitPrice, availability, condition, delivery

The facts a reader will not guess at. Wrong or stale here and the product is held back quietly.

Twenty-odd fields, four jobs. The cost column is what a blank buys you.

Identity is the one layer we have already covered in full: what a GTIN is, why the Shopify barcode field is the whole ball game, and the three ways stores get it wrong. If your identifiers are thin, start in the UCP guide and come back. The rest of this piece is the three layers after it, which is where the sales are actually leaking.

Leak 01

The title, written for the wrong reader

The title is the single highest-leverage field in the record, because every reader uses it and most of them see nothing else first. It is also the field most likely to have been written by a marketer for a banner, or by a supplier for a warehouse. Both fail. The test is simple: could a stranger describe this product out loud using your title, and would software recognise the same product from it?

NEW IN! Air Max 90 🔥 (SALE)

Promotional words and caps. Gets disapproved in feeds, matches no request.

Nike Air Max 90 Men's Sneakers, White, UK 9
BT-4471-BLK-08

A supplier code. Correct in your warehouse, meaningless to every reader.

Ranger Trailhead Waterproof Hiking Boot, Black, UK 8
The Everyday Bottle

A brand name for a product with no product in the title.

Kinto Everyday Water Bottle, Stainless Steel, 500ml, Matte Black
Brand, product, type, then what separates this variant.

The formula underneath is dull and it works: brand, then product name, then what the thing is, then the details that separate this variant from its siblings. Front-load it, because titles get truncated by every reader at a different length. Then leave out the three things that cost you matches: promotional words (“new in”, “sale”, “free delivery”), all caps, and internal codes. Google will disapprove products for the first two. An assistant will simply not match them.

Leak 02

The attributes nobody fills in

Attributes are the fields that answer “which one”: colour, size, material, pattern, gender, age group, capacity, fit. They feel like admin, which is why they sit empty. They are in fact the difference between matching a broad request and a specific one, and specific requests are the ones with a buyer attached.

Two of these are not optional and stores routinely miss it. If you sell apparel or accessories, Google requires colour, size, gender and age group on each variant, and products missing them are held back from Shopping and free listings rather than shown with a gap. The others are technically optional, which is a trap: optional to submit, decisive to match. “Waterproof canvas”, “relaxed fit”, “1.5 litre” and “stainless steel” are the words in the question, so they need to be words in the record.

Required, or held back
Apparel and accessories
  • Colour, on every variant
  • Size, on every variant
  • Gender
  • Age group
Optional, but decisive
Everything else
  • Material and pattern
  • Product type or taxonomy
  • Capacity, dimensions, fit
  • Highlights and compatibility
The left column is eligibility. The right column is whether you get the specific request.

Category is the attribute that sets the terms for the rest. Your store’s own product type or taxonomy value tells every reader which family the product belongs to, and it decides which further attributes are even expected of it. File a hiking boot under “footwear” and you have told the truth and nothing useful. File it under men’s hiking boots and the whole vocabulary of that category opens up.

Leak 03

Images: the field with two audiences

Images are the one part of the record that both a person and a machine read, and they read it completely differently. A person judges the product. A machine reads the file: whether there is a main image at all, whether it clears the minimum size, whether the variant that a customer picked has its own picture, and what the alt text says the picture shows.

Three habits cover most of it. Give every variant its own image, or a colour filter becomes a wall of the same photo. Write alt text that states what is in the frame rather than repeating the title, because a size chart or spec sheet that exists only as a designed image is invisible to every reader but the human one. And keep promotional overlays off the main image: badges, prices and “sale” flashes get products disapproved in feeds, and they date the moment the promotion ends.

Leak 04

Freshness, the field that goes stale on its own

The other three leaks are things you never wrote. This one is different: it is a field that was correct when you loaded it and quietly stopped being true. Price and availability are the two that matter, and they are also the two every reader checks hardest, because sending a shopper to a sold-out product is the worst outcome any of them can produce.

The punishment is not a message, it is a slow demotion. A feed with a price that does not match your product page gets the product held back. An assistant weighing two stores with the same product leans on availability to break the tie. So treat freshness as plumbing, not admin: your platform should push stock and price changes to your feeds automatically, and if it does not, that is the thing to fix before you fill in another field by hand.

The reader you own

Your search bar is running the same test

Here is the part that makes this work pay for itself before any feed does. The search bar on your own store reads the same fields. So do your filters. When a customer types “black leather boots size 8” into your store and gets nothing, that is not a search problem, it is four empty attributes returning an honest answer. THE READER YOU OWNYour own search bar runs on the same product fields as the feeds. Fix the record once and the store gets easier to shop as a side effect.The rule: one record, every reader

Which means you already own the most direct audit there is. Your zero-result and low-result search reports are a list of things customers asked for in their own words and your catalogue could not answer. Read them as field requests, not as search misses. The same goes for your filters: a filter that returns almost nothing is an attribute that is mostly blank, and a filter customers use heavily is an attribute worth completing across the whole range.

The audit

An afternoon, a spreadsheet, and three reports

You do not need a tool to find out where you stand. Export your catalogue to a spreadsheet and count the blanks in each column. That number, your fill rate per field, turns a vague worry into a work list ordered by how many products it affects.

Count the blanks

Export the catalogue and count empty cells per column. Sort by how many products each blank affects.

Read the feed diagnostics

Your Merchant Center issues list already names the disapproved products and the field that caused it.

Read your own searches

Zero-result and low-result queries are customers naming a field you don't have. Same for filters that return nothing.

Ask an assistant

Ask about your bestseller in ChatGPT or Gemini. Whatever it hedges on or gets wrong is a field it could not read.

No tools bought. Every one of these reports already exists.

Then work in the order the readers care about, not the order the spreadsheet is in: identifiers first, then titles, then the required attributes for your category, then the optional ones your own search reports asked for, then images, and freshness set up as automatic rather than remembered. On a small range that is a couple of days of honest work. Across thousands of variants, kept accurate as the range turns over, it stops being a task and becomes an operation, which is the point at which it belongs to someone permanently. That is the wall we hit on our own store, so we built the thing that holds it.

Why it compounds

One record, paid for four times

Most growth work has a single beneficiary. Spend on ads and you get traffic while the budget lasts. Fix the record and four things improve at once: your paid shopping campaigns get more products eligible and better matched, your free listings and organic search pick up the same specificity, your own store becomes easier to shop because the filters finally work, and the assistants people now buy through can put you forward with confidence instead of hedging.

That last reader is the newest and the reason the old chore has become urgent. For years, clean product data was something you did for Google Shopping and could put off. Now it decides whether an agent can sell your products at all, which is the argument we made at length in how AI agents shop your Shopify store and shipped against on this site in what we made readable by AI. Both of those guides end up in the same place: the record.

A note on where this lands: nothing above is a redesign, and none of it needs a developer. It is a spreadsheet, a category vocabulary, and the discipline to state a fact in a field instead of assuming it is obvious. The reason it stays undone is not difficulty, it is that no single person owns the record. Give it an owner and the leaks close on their own.

Bring customers in

Want to know your catalogue’s fill rate?

Loading products properly and keeping the record accurate is product upload & data, and it sits inside Grow with the search and advertising work it feeds. We’ll audit where your catalogue stands and run the fixes. Tell us where you’re stuck and we’ll tell you if we can help.

Start an inquiry →
We reply in one business day · No sales script