Resolution Layer Case Study  ·  Read & Diagnose

Mattress and sofa product pages.

A read of a sample of product pages from a furniture and mattress retailer — where the price on the screen, the stars beside it and the data behind the page are meant to say the same thing.

Scope
30 product pages — 15 mattresses and 15 sofas and sleepers — read one at a time as a shopper sees them; a sample, not a census
Lead finding
The price shown is not the price in the page's data
Issues surfaced
5 reported  ·  1 critical, 1 high, 3 medium
Method
Cold read in an ordinary browser  ·  nothing supplied  ·  headline checks re-read afterwards
Vertical
Furniture and mattress retail
This pass
Read & diagnose
Prepared by
EKOM
Type
Case study — client anonymized

What this is.

This is a real EKOM catalog analysis, with the retailer's identity removed. The retailer is a furniture and mattress retailer that sells through showrooms and through its own product pages. EKOM opened 30 of its product pages — 15 mattresses, three from each of five brands, and 15 sofas, sleepers and power sofas — one at a time in an ordinary browser, and read what each page shows a shopper and the product data embedded in the page for search engines. This is a sample: 30 pages support patterns and examples, and every share below is a share of those pages, or of the pages where a check could run.

What makes this category different is that a shopper sees a price, a rating and a name, and a search engine or shopping listing is handed the same three things from separate fields. When the two versions of the page disagree, the shopper and the machine are looking at two different pages.

A shopper reads a page. A search engine and an assistant read what the page says about itself, and where the screen and the fields disagree, the machine has nothing to go on.

Brand names, product names and prices are not attached to individual findings here, because on a retailer's catalog a brand, a product and a price together can identify the retailer. Counts and shares are exact for the sample. Nothing was supplied by the retailer and nothing has been confirmed with it; each finding is a lead until someone with the product system agrees.

What's inside

At a glance.

Nothing was supplied and no internal system was touched. Everything below was read from the retailer's own public product pages, and the headline checks were re-read after the first read.

1
Critical
severity
5
Findings
reported
30
Product pages
sampled
3
Upstream
mechanisms

The five findings

Theme
What it is
Severity
Shown price is not the data price
On 6 of the 26 comparable pages, the displayed price matches none of the page's offers
critical
Stars that disagree
On 12 of the 21 pages that show stars and publish a rating, the two differ
high
Copy that errs
About 20 typos and copy errors, another brand's name on one page, another line's copy on a second
medium
One name, two sofas
Two pairs of different sofas sharing one name, priced hundreds to thousands of dollars apart
medium
Product data that cannot be read cleanly
No product data on 4 of the 30 pages; every multi-offer page lists its offers by product name only
medium

How EKOM read this sample

1
Open
30 product pages, three from each of five mattress brands and 15 from the sofa and sleeper shelf, each opened as a shopper would open it.
Prices and stars are as shown at the time of the read.
→
2
Read
The visible page, and the product data the page publishes for search engines, copied together and checked against a checksum.
Only what the page rendered was read.
→
3
Check
The price on screen against the price in the data, the stars against the rating in the data, and the copy against itself.
5 findings, 3 likely mechanisms.
Signals from a sample, not a verified defect list. Some may prove intentional, which is why each is tied to the values behind it. Prices and ratings change, and are stated for the day they were seen.

The price on the screen.

The lead finding is about which price a page gives. Each product page lists every size or color as its own offer in its product data, with its own price, and marks which one is selected.

Critical  ·  Price
On 6 of the 26 comparable pages, the displayed price matches none of the offers in the page's own product data.
Five of the six are mattresses and one is a sleeper sofa, and the gaps run from $200 to $1,300, with the largest on the sofa. On the other 20 pages the price on screen matches an offer in the data to the cent. On these six, the price on the screen appears in no offer, in any size. Either the product data is stale or it publishes a lower price than the store displays, and both matter, because search engines and shopping listings may show the data price.
Check
What the 26 comparable pages hold
Verdict
Price on screen
Matches an offer in the data on 20 pages
agrees
Price on screen
Matches no offer in the data on 6 pages
disagrees
A possible explanation, checked
A hidden cart discount explains at most one of the six.
Five of the six pages carry no note about savings shown at the cart. The sixth does, which could explain the gap there; the data on that page still holds no offer at the price shown. When two of the six pages were re-opened afterwards, each showed the same price and data as on the first read.

What would resolve it. A check that compares the price a page displays with the selected offer in its data, run before the page publishes, flags each case. The retailer then marks each as a stale feed or an intended difference, and the pattern is fixed once, at the source of the price.

Stars, and the words around them.

Three findings about what a shopper reads on the page: the rating, the description, and the name.

High  ·  Ratings
On 12 of the 21 pages that show stars and publish a rating, the data differs from the stars shown to shoppers — in both directions.
Five of the twelve are 0.5 stars or more apart, the widest by more than two stars on a page with a single review; seven more are 0.1 to 0.2 apart. Different products also share one review pool on screen: two pairs of different products show identical star ratings and review counts. Whether a shared pool is intended is the retailer's call, and one rating source behind both the stars and the data would remove the disagreement for every product at once.
Medium  ·  Product copy
The descriptions carry about 20 typos and copy errors.
Found by exact text search across the 30 pages. They include misspelled brand and technology names, transposed and missing letters, a stray hyphen in the middle of a word, odd spacing inside numbers, and sentence fragments. One page for one brand carries the name of a different brand in its certification copy, and a second carries a line written for another product line. Two pages open with one support system and then list a different one, and one page states its height two ways. Much mattress copy comes from the brands, so some of this may be the manufacturer's; it appears on the retailer's pages either way.
Medium  ·  Names
Two pairs of different sofas share one name.
Each pair is a leather version and a fabric version, priced $900 and $2,000 apart, told apart only by a number on the end of the page address. Neither the name nor the offers in the page's data say which material is which; only the free-text description does. In the sofa and sleeper section of the sitemap, about 10 products appear to have a same-name twin (the count depends on how twins are grouped), and none of the mattress pages in the sitemap showed one. Putting the material in the name and in the data separates each twin for shoppers, search engines and assistants.

What search engines are given.

The fifth finding is about the product data itself, and one observation sits beside it.

Medium  ·  Product data
Four of the 30 pages publish no product data at all, and the pages that do list their offers without saying which is which.
The product data is what a search engine, a shopping listing or an assistant reads in place of the layout.
What was checked
What the pages hold
Verdict
Product data present
None on four pages, two of them from one mattress brand
absent on 4
Offers told apart
On all 21 pages with more than one offer (134 offers), every offer carries only the product name
0 of 21 labeled
Offer name and SKU
Five pages publish an offer with neither
absent on 5
Symbols in names
Eight product names carry raw character codes where a registered or trademark mark belongs
8 names
Descriptions
13 of the 26 descriptions are cut short with an ellipsis, 11 of them mid-word
13 of 26 cut
Observation  ·  Financing
On none of the 30 pages does the product area mention financing.
The only reference on the pages read is a link in the site-wide menu. The retailer publishes a financing page describing its plans, so a shopper has to leave the product page to learn that a payment plan exists. A payment line in the product area, and the same offer carried in the product data, would put the plan where the shopper, a search engine and an assistant all read it. This is an absence rather than an error, so it is not counted among the five findings.

What is clean. Twenty of the 26 comparable pages show a price that matches an offer in their data, to the cent. On all 30 pages the canonical address is the page's own address, and none carries a robots noindex tag.

Where it traces back.

Five findings sound like five problems. Read together, they look like three possible upstream mechanisms — and a mechanism, if confirmed, can be fixed once and stopped from coming back. These are readings from 30 pages, not diagnoses.

A product feed that is updated separately from the price and rating a page displays
The tell: a displayed price that appears in none of a page's offers, on mattresses and a sleeper sofa, and stars that differ from the data in both directions, would be consistent with a feed that does not move with the page.
Manufacturer copy and one-product-per-address records carried in without a check
The tell: one brand's name on another brand's page, a second line's copy on a page, two pages naming two support systems, descriptions cut at a fixed length and same-name sofas told apart only by the address would be consistent with unchecked intake.
A product-data template that names the product but not each offer
The tell: every multi-offer page lists offers by product name only, five pages publish offers with no name and no SKU, and the same symbol codes appear in several names.
Fixing the findings fixes the findings. If confirmed, fixing the mechanisms would stop them recurring on every page added next.

What this means, and what's next.

What it means for a retailer, and what comes after the read.

1  ·  Apply the corrections the page already answers for itself
Check the displayed price against the selected offer, feed the stars and the data from one rating source, and label each offer by size and color from what the page already states. Approved as patterns, not page by page.
2  ·  Settle the questions only the business can answer
Which price is current, whether a review pool is shared by design, which copy the brands own, and which payment plans belong beside which prices come from inside the business.
3  ·  Keep watch at intake
Keep ongoing intelligence where product data meets the page, so the next page published with a price that disagrees with its data, or two sofas under one name, is caught the day it goes live.
This is how EKOM moves a catalog from insight to impact —
and helps keep pages saying what the data says as the business grows.
EKOM
The Resolution Layer
ekom.ai
Case Study  —  Client anonymized  ·  The Resolution Layer
EKOM