Resolution Layer Case Study · Read & Diagnose
Sports & fitness equipment.
A full-catalog read of a sports and fitness equipment retailer — where the storefront shows a shopper one thing, and the product feed tells every carrier, marketplace and assistant another.
This is a real EKOM catalog analysis, with the client's identity removed. The client is a long-established sports and fitness equipment retailer selling to home gyms, schools, sporting bodies and commercial gyms, with national brands alongside a range of its own. EKOM read every product in its public storefront feed and surfaced 115 flagged items, 104 of which are actionable catalog defects. Seven were withdrawn as the analysis's own errors, and four were second sightings of a finding already counted.
What makes this catalog different is its range. One storefront sells a pair of grip socks and a commercial leg press, a single ball and a fitted-out gym. Much of it is sold by physical specification — a Size 4 and a Size 5 ball are different products, and so are a 12oz and a 14oz glove — and a large share of it is heavy, bulky or sold only by quotation. That puts unusual weight on the fields no shopper reads: price, shipping weight, SKU.
A product page is written for a person. The feed underneath it is written for everything that is not a person — the carrier quoting delivery, the warehouse picking the order, the shopping engine comparing prices, the assistant deciding what to recommend.
The evidence is firmer than a typical outside read. The feed is the retailer's own structured data, archived byte for byte on the day of the read, and the analyzed table was checked against it field by field: no row differed. A field-level defect here cannot be an artifact of the extraction. The four headline extents were recounted across the whole catalog by an analyst.
On a multi-brand catalog the brand roster is itself a fingerprint, so every brand, product and series name has been removed, along with item codes, URLs, tags, prices and category labels. The counts are real.
What's inside
- At a glance — the severity split, the thirteen themes, and how the read was done.
- The page and the feed disagree — a placeholder price the storefront hides and the feed publishes, and hundreds of shippable goods with no weight.
- What a shopper runs into — products carrying their neighbour's content, addresses that name a different product, and records that contradict themselves.
- Where it traces back, and what's next — the seven upstream mechanisms these findings collapse into, each with its tell, and the order to fix in.
Nothing was supplied and no internal system was touched. Everything below was read from the public storefront feed.
104
Actionable findings
(115 flagged)
Where the 104 concentrate
Theme
What it is
Findings
Specifications that contradict the product
A record stating one spec in one field and another elsewhere; units typed wrong
13
Content from another product
A sibling's size, photo, tags or copy left on the product
11
Shippable goods with no weight
Physical goods whose shipping weight is zero
10
Identity fields
Blank or malformed SKUs, the wrong brand, the wrong product type
10
Handles that contradict the product
Permanent URLs naming a different spec, a typo or the wrong brand
10
Price ladders that run backwards
Bigger or heavier variants priced below smaller ones
8
Broken copy
Leaked styling code, typos, truncated text
8
Naming conventions that split facets
Two spellings, stray spaces, inconsistent defaults
8
Missing content
Empty specifications and descriptions, a missing variant photo
7
Placeholder prices published as real
A five-figure number standing in for "price on request"
6
Shipping rules that contradict the goods
Subscriptions marked for shipping, implausible weights, two shipping classes
5
Sale signals that do not read as real
Token discounts and extreme markdowns
4
Tags that route products wrongly
High-value items in a low-price gift guide; a competitor's brand tag
4
31 findings are rated critical, 49 high, 21 medium and 3 low. The placeholder theme is six findings because the automated pass met it six times in different parts of the catalog; the extent — 159 variants — is the analyst's recount.
How EKOM read this catalog
1
Read
The public storefront feed as any marketplace, carrier integration or assistant sees it — no file handoff, no credentials, no integration.
Every product and variant, archived byte for byte.
→
2
Profile
Infer what each field is for from how the catalog itself uses it, then hold every variant to that.
Variants are real products here, most with their own SKU and many with their own price.
→
3
Analyze
Surface defects, rate severity, and bind each one to the products and values behind it.
104 findings, 13 themes, 7 causes.
These are machine-surfaced signals, checked by an analyst — not a merchant-verified defect list. Some of what a read like this finds turns out to be intentional. That is why every finding is shown with the value behind it wherever one exists, and why the ones needing a judgment only the business can make are kept separate.
The page and the feed disagree.
The two largest findings share one property: a shopper on the product page sees nothing wrong. Everything that reads the feed does.
Critical · Placeholder prices published as real
The page says "Price on Request." The feed gives a five-figure price.
159 variants across 156 products carry the same round five-figure price, and every one is marked unavailable. Most are commercial equipment sold by quotation, and on the storefront the retailer handles them well: the page reads "Price on Request." The feed carries the number instead. A shopping engine, a price-comparison site, a "from" price on a collection page or an assistant reads it as a real price. Nothing else in the catalog comes close to it.
Surface
What it shows
Reads as
The product page
"Price on Request," and a contact address for a quote
correct
The product feed
a five-figure price, and a shipping weight of 0
a real price
One brand accounts for 139 of the 159. Some records are plainly not five-figure goods either — a tennis net and a junior goal net whose smaller sibling sells for under a hundred carry the same number.
Critical · Shippable goods with no weight
606 variants need shipping and weigh nothing — 252 of them priced at a hundred or more.
Across 520 products, a physical item is marked as requiring shipping with a weight of 0. Anything that rates delivery by weight — carrier-calculated rates, a 3PL, a marketplace — cannot rate them: it quotes free freight, falls back to a default, or fails. They include a four-figure upright bike, commercial machines and benches. In several cases the weight is already in the record: a handrail whose own details state its gross weight, a bench whose sibling colours carry fourteen kilograms.
Two one-year app memberships are marked as needing shipping too, and two glove sizes carry weights a fraction of their neighbours'. The shipping theme is not one defect but a field no process owns.
Content that belongs to the product next door.
These are the findings a shopper meets on the page. Each is a single-product fix, but they share a signature: the wrong value is usually a real value that belongs to another product — most often a sibling.
Critical · Content from another product
Two gym attachments are wearing each other's names.
Each one's address names the other product's title. The page, the search result and the order line all say something the URL contradicts — and both were still swapped when re-checked on the live store.
Product
What the record holds
Belongs to
A tennis net
A description written for volleyball nets, with volleyball dimensions
volleyball net
An indoor ball
A description that opens by describing outdoor performance
outdoor ball
A folding goal
A size option naming the larger goal in the same range
sibling goal
The larger goal
A photo whose filename carries the smaller goal's item code
sibling goal
A gymnastics mat
A primary photo of the thinner mat
sibling mat
A medicine ball
Weight tags and a cross-reference tag from a lighter sibling
sibling ball
High · Handles that contradict the product
An upright bike lives at a recumbent bike's address — with "-copy" on the end.
A handle becomes a product's permanent URL. On ten findings it names a different spec from the title — a height, a ball size, a mat thickness, a roller diameter, a fixed rack called folding — or carries a typo or another brand's prefix. Changing a handle breaks every link to it unless a redirect goes in at the same time, which is why these accumulate.
A product that disagrees with itself.
These are contradictions inside one record. Each states a specification in one field and a different one in another, so a system gets a different answer depending on which field it reads.
Critical · Specifications that contradict the product
Two latex disclosures that say the wrong thing.
One resistance band's warning is cut off mid-word, before it says what the product contains. A latex-free band's title says "Latex" twice. For a shopper checking whether a band is safe for a latex allergy, both records are harder to trust at the moment it matters most.
Product
The contradiction
Effect
A 24kg dumbbell set
Its weight option is typed in grams
sorts with darts
A 65cm exercise ball
Its size option is typed in metres
wrong unit
A resistance band set
Tags and spec list disagree on every band's colour and one band's width
two answers
A rack
The title names a full commercial rack; the spec list describes a half rack
two products
A boxing set
An option labelled as a glove weight, holding Small, Medium and Large
wrong facet
A rugby ball pack
The description omits a size that is on sale
hidden size
Critical · Identity fields
Twelve saleable lines have no SKU — and most of them are bundles.
SKU is the key the pick list, the purchase order and the returns desk join on, and multi-item packs need it most, because one order line becomes several picks. Beside them, a racket set carries a competing brand as its vendor, a range item carries the store's name with a trailing space where its sibling carries the brand, and three products sit under the wrong product type.
104 findings sounds like 104 problems. They collapse into seven likely upstream mechanisms — and a mechanism can be fixed once and stopped from recurring. Each is admissible only because something in the data points to it.
"Price on request" written as a number
The tell: the storefront prints "Price on Request" on these products and they carry a request-only tag, but nothing in the price field says so. It produced 159 variants at one placeholder price, several of them weightless as well.
Products created by duplicating a neighbour
The tell: handles ending "-copy," and wrong values that are almost always another product's valid value. It produced swapped titles, sibling sizes, tags and photos, and copy written for a different sport.
Weight held in the copy, not the field
The tell: in several cases the weight is stated in the product's own details or carried by an identical sibling, while the shipping-weight field reads zero.
Bundles missing what single products carry
The tell: the blank SKUs are almost all multi-item packs, and several packs are also missing their weight or their details.
Addresses set once and never updated
The tell: the title and details describe the current spec; the handle still names another.
Free text where a controlled value belongs
The tell: units, option names and vendor names are typed rather than chosen, so every variation survives — two spellings of one option, a trailing space, grams for kilograms.
Tags doing three jobs at once
The tell: merchandising, shipping class and campaign history share one field, with nothing to stop two of them disagreeing — two shipping classes on one product, campaign tags years out of date beside current ones.
The storefront covers for the record. It prints "Price on Request" over the number and never shows the weight field. That is why the largest findings do not show up when someone checks the site — and why they reach every system that reads the feed instead.
40%
In Baymard Institute's research on why US shoppers abandon a cart during checkout, extra costs — shipping, tax and fees — rank first, cited by 40% once "just browsing" is excluded. Delivery cost is the most sensitive number at checkout, and on 606 variants in this catalog anything that calculates it from weight is calculating from zero.
Baymard Institute, reasons for abandonment during checkout
A retailer that sells a gym fit-out and a single ball from the same store runs a catalog with an unusually wide spread of weight, price and specification. The storefront handles that spread well for a person. The record underneath is where it shows: a price that means "ask us," a weight nobody entered, a product that still carries the name of the one it was copied from.
The placeholder price is the sharpest exposure. Google's own Merchant Center guidance says a product whose submitted price differs from its landing page may be disapproved, and that such mismatches may lead to account suspension. Whether a given catalog's records reach Merchant Center is one check — but the feed is published either way, and every other reader takes the number at face value.
A second clock runs underneath. The shopper comparing a rowing machine or a set of hurdles increasingly starts with an assistant rather than a search box, and an assistant does not see the theme. It reads the fields — compares a price, checks a weight, confirms a size. On this catalog it finds commercial equipment at a five-figure placeholder, heavy goods that weigh nothing, and sizes that disagree with their own titles. Those are not rankings to trade off. They are wrong answers, and wrong answers do not correct themselves.
Three moves, in order. The first touches the most records and needs the least new information.
This pass read and diagnosed. The same structural understanding powers what follows — turning a diagnosed catalog into one that every carrier, marketplace and assistant can read correctly.
1 · Apply the corrections the record already answers for itself
Move stated weights into the weight field. Give duplicated products back their own titles, sizes, tags and photos from their own handles, item codes and galleries. Correct units that contradict the title, normalize option spellings and defaults, repair broken copy. Approved as patterns, not product by product.
2 · Settle the questions that gate the rest
How quote-only products should appear in a feed. What a pack weighs in its box, where the record does not say. Which markdowns and price ladders are deliberate. Which of two conflicting specifications is right. Those answers come from inside the business, and from its suppliers, before the remaining corrections can be applied.
3 · Hold the line at intake
Keep ongoing intelligence where new products enter the catalog, so the next product created by duplicating a neighbour — or published without a weight or a SKU — is caught as it lands rather than found later by a carrier or a customer.
This is how EKOM moves a catalog from insight to impact —
and keeps the feed telling the truth as the business grows.