A cold read of a brand-merchandise storefront — where the only asset being sold is the name on the product.
This is a real EKOM catalog analysis with the client's identity removed. The client is a licensed lifestyle brand — a hospitality and leisure company whose merchandise storefront sells apparel, drinkware, home goods, accessories and collectibles, all of them carrying the brand's own name. EKOM read the live public storefront cold: nothing was supplied, no access was granted, no schema was provided. The passes auto-profiled the catalog's structure, checked values against each other and against how each field was used elsewhere in the same catalog, and reconciled what surfaced into 15 actionable findings — the kind standard validation misses, because it checks whether a field is filled, not whether the value is right.
What makes this catalog worth studying is the asymmetry between what it is and how it is treated. For most retailers the catalog is a list of things they sell. For a licensing business, every product record is the brand — the name is the entire asset, and the catalog is where that name is written down the most times and proofread the least. That is not a failure of anyone's team. It is a structural property of how product data gets made: authored once, under deadline, in a field nobody presents in a review.
Where the 15 actionable findings concentrate, by theme. A further 6 structural observations were held back — several were artifacts of EKOM's own analysis prep rather than defects in the catalog, and are excluded from every count on this page.
| Theme | Count | Who feels it |
|---|---|---|
| Brand-integrity defects in live URLs & titles | 2 | Shoppers + brand owner |
| Platform placeholders shipped as product data | 4 | Shoppers + ops |
| Category taxonomy defects | 2 | Shoppers |
| Slug & URL artifacts | 2 | Shoppers |
| Tag-field contamination & contradiction | 3 | Shoppers + ops |
| Pricing-claim integrity | 1 | Shoppers + legal |
| Content completeness | 1 | Shoppers |
Highest impact — the issues a shopper actually sees, live on the site today.
Six live items list My Store as their vendor — the literal default a storefront platform assigns when nobody sets one, sitting in the field that drives every brand collection on the site. Five in-stock, purchasable items use Hidden as their product category: a channel-visibility concept, not a taxonomy value, which leaves those items neither hidden nor categorised. A countertop appliance's URL still ends in -copy, the trace of a duplicated product record that was never renamed — a live customer-facing address that reads, to a crawler, like a page that was never finished.
Three items carry a comparison price identical to their actual price with no sale running. Depending on the theme, that renders either as a broken was $X, now $X badge or as an advertised saving that does not exist. Reference-price claims sit squarely inside FTC guidance on advertised savings — and this is the kind of detail that travels as a screenshot.
Every jewelry item in the catalog — twenty products — is filed under Jewlery. Nothing is filed under the correct spelling, which is precisely why it survives: the category looks internally consistent, so nothing flags it. Separately, twelve items in a single sunglasses line carry a blank category while the thirteenth item in the same line is categorised correctly. Blank means invisible to category navigation, invisible to filters, and dropped from any feed that requires the field.
Most of what surfaces above traces to one root: operational language that was never separated from customer-facing language.
Tags drive storefront filtering and flow into shopping feeds — and this catalog's tag field is also being used as an internal work queue. Live products carry NEED_CAD_DRAWING, NEEDS_COLOR, NEED_COUNTRY_OF_ORIGIN, NEED_HS_CODE, BFCM_DISCOUNT_2024, FLASH_SALE_OCT_2025, REMOVED_META_GOOGLE, SYNC_PRICE and YBlocklist — a merchandising to-do list and two expired promotions, sitting in the field that decides what a shopper can filter by.
Ten items are tagged DISCONTINUED while remaining in stock and purchasable. If that tag drives an exclusion rule somewhere, sellable inventory is being suppressed; if it doesn't, the tag is telling a customer something untrue. Either way the catalog is holding two contradictory positions on the same product, and no validator will ever raise it — both fields are populated, and both are individually valid.
Gender appears as Men | Mens | women | Womens — sometimes several variants on the same garment. Any collection rule filtering on one form silently misses everything using another. A vendor name has a fulfillment status welded onto it, splitting one supplier's collection into a real one and a phantom one that nobody browses. And a handful of live items ship with no description copy at all; one hat's description reads, in full, Adjustable hat.
One beach towel's slug is the generic placeholder exclusive-gift — while every other handle in the catalog is a descriptive product slug. It costs the page its search relevance and makes the link meaningless the moment somebody shares it.
Why an auto-profiled, cross-referencing pass catches what a field-by-field check misses.
A field-by-field completeness check would have passed almost all of this. Every field above is populated. The misspelled brand name is a valid string; Hidden is a valid category value; a comparison price equal to the price is a valid number. What makes them findings is context — a sibling product spelling the same word correctly, a category used nowhere else, a discount with nothing to discount. Reading records against each other is what turns "populated" into "correct," and it is what makes the next step precise rather than exploratory.
This pass read and diagnosed. The same structural understanding powers the work that follows — turning a diagnosed catalog into one that reads right everywhere it's seen.
EKOM's first read of this client's catalog, taken from the live public storefront with nothing supplied. Six further structural observations were excluded from every count here — several were artifacts of EKOM's own analysis prep, not defects in the catalog. Two findings were over-called on the first pass and are recorded as such. Client identity removed; the findings are real.