The Resolution Layer  ·  Read & Diagnose

National Gift and Floral Retailer.

Proactive analysis of 741 products across two fulfillment catalogs (A & B).

Full Catalog
~5,700 products (Catalog A + B)
Sample Analyzed
741 products
Vertical
Consumer Gifting
Fulfillment Types
Catalog A  ·  Catalog B
Live SEO Issues Found
15 on indexed pages
Active Findings
126 across 741 products
Prepared by
EKOM
Prepared for
A national gift and floral retailer
Method
3-pass read  ·  structural, taxonomy, cross-record
Type
Case study — client anonymized

Before the findings.

The gifting decision is one of the most moment-driven purchases in retail. A buyer searching for sympathy flowers at 10pm doesn't comparison shop. A customer who typed "pink roses for Valentine's Day" and landed on the right product is a conversion. The one who searched the same thing and found nothing — or something wrong — is a missed moment that doesn't come back. For a national brand, operating across two distinct fulfillment channels with multiple brands and thousands of products, the catalog is the infrastructure that determines which of those two outcomes happens at scale.

The commercial context matters here. Gifting retailers are moving toward AI-driven, personalized, occasion-led product discovery as the way to deepen customer relationships and grow beyond seasonal peaks. Better discoverability and stronger data infrastructure are the foundation that kind of experience is built on. That is not aspirational framing. It is the operational prerequisite for everything personalization requires. And it runs directly through the product catalog.

Most catalog work at this scale happens in the search layer — where organic visibility is won or lost. This analysis looked at the layer beneath it. Product data doesn't maintain itself. Catalogs that grow through new brands, seasonal launches, and international expansion accumulate errors quietly. A test record from an integration finds its way into the production index. An SEO title drifts from the product it's supposed to describe. A sympathy arrangement ends up classified under lighting. Five of the navigation dimensions gifting buyers use most — occasion, price, color, flower type, brand partner — are absent as structured fields entirely. None of these surface in a rankings dashboard. They show up instead as traffic that bounces, clicks that don't convert, and AI personalization that plateaus because the structured data it needs to operate simply doesn't exist.

Hyper-personalized, sentiment-led customer experiences run on product data. An AI personalization platform can recommend the right product for a birthday, a sympathy occasion, or an anniversary — but only if the catalog knows which products serve which moments. That intelligence lives in the data layer, not the algorithm.

This analysis ran on 741 products across the Catalog A and Catalog B catalogs — a representative sample of a portfolio of roughly 5,700 products. What it found is specific, addressable, and in several cases already affecting performance today. What follows is the full picture.

What we found.

741 products analyzed across two fulfillment catalogs. Findings are organized by the mechanism behind each issue, not just the symptom.

126
Active findings
across 741 products
15
Live SEO issues
on indexed pages
1
Test record
in production index
5
Navigation attributes
absent catalog-wide

Two catalogs. One set of root causes.

Catalog A · Local Delivery
Local Delivery
Total products~4,800
Sample analyzed383
Active findings53
Key issue typeBrand + URL integrity
Catalog B · Direct Ship
Direct Ship
Total products~900
Sample analyzed358
Active findings73
Key issue typeTitle integrity + taxonomy

The two catalogs share the same 30-column structure and the same root cause patterns. Catalog A issues concentrate in brand and URL consistency — the infrastructure of local delivery operations. Catalog B issues concentrate in SEO title integrity and product classification — the infrastructure of direct-ship discoverability. The structural gaps (absent occasion, price, color, and flower type as structured fields) exist equally across both.

How EKOM read these catalogs

Three passes ran before any findings were generated.

PassWhat it doesWhat it found
1 · Structural ProfilingEvaluates every column for blank rate, value entropy, atomic vs. compound values, and field-type consistency.is3d_enabled: 100% blank. collection_assortment: 93–99% blank. base_image_name: 61% blank (Catalog B). Operational flags inconsistently populated.
2 · Vertical-Taxonomy MatchingScores columns against the gifting and floral reference taxonomy. Surfaces expected-but-absent structured attributes.5 vertical-typical concepts absent as dedicated columns: occasion, price, color, flower type, brand partner. Each exists in text fields only — not filterable or searchable.
3 · Cross-Record ValidationChecks each record's values against its own catalog number, SEO fields, image data, and sibling records simultaneously.1 product actively serving wrong SEO title. 2 products with brand domain errors. 1 URL slug with wrong product ID. Test record from a platform integration in production.
Scope note. This analysis covers a representative sample of 741 products — approximately 13% of the full A+B catalog of roughly 5,700 products. Patterns documented here are systematic and are likely present at scale across the full catalog. Count and severity may differ when the complete catalog is analyzed.

What's live right now.

Four issues that are currently affecting indexed pages and organic performance. These are not risks — they are active.

Critical  ·  Catalog B  ·  Integration Hygiene
An integration test record is in the production catalog — and almost certainly indexed.
Product SKU-001 ("[Integration] Test Record") appears in the production Catalog B export with seo_searchable_flag=true and categories='[category];[test category]'. It was included in a recent bulk retrigger, which means it was processed as a legitimate product. This record is a test artifact from a platform integration that was never removed from the production environment.
Record State
base_name
[Integration] Test Record
✗ Test data
categories
[category];[test category]
✗ In production
seo_searchable_flag
true
✗ Indexable
retrigger
[retrigger batch]
✗ Active in batch
Critical  ·  Catalog B Catalog  ·  Title Integrity
A live, indexed product is serving the wrong SEO title to every organic visitor.
Product SKU-002 is "[Correct Product Name]." Its SEO title says "[Wrong Product Title]." The page is indexed (seo_searchable_flag=true). Every customer who clicks through from Google arrives at a product that doesn't match what they searched for. The click is paid for — by the SEO work already invested in that ranking — and the conversion is lost. There is no mechanism to recover that visit.
Field Mismatch  ·  SKU-002
seo_page_title
[Wrong Product Title] | [incorrect brand]
✗ Wrong product
base_name
[Correct Product Name]
✓ Correct
seo_searchable_flag
true
✗ Indexed
High  ·  Catalog A Catalog  ·  Brand Integrity
Two products carry incorrect brand names in indexed SEO titles.
Brand name errors in SEO titles are not cosmetic — they damage E-E-A-T signals and erode the brand trust that brings a customer back. Both pages are indexed.
Brand Errors in SEO Titles
SKU-003
'[Product Title] | [incorrect brand]'
✗ Wrong brand
SKU-004
'[Product Title] from [brand typo]'
✗ Transposed letters
High  ·  Catalog B Catalog  ·  URL Integrity
One product's canonical URL contains the wrong product ID — routing visitors to a different product's page.
Product SKU-005 has a URL slug that encodes an ID one lower than its own — a different product. Any backlinks, search results, or shared URLs using this canonical route to the wrong destination. A 301 redirect from the incorrect URL will be required before the slug can be corrected.
url_keyword (current)
/[subscription-product-slug]-[ID − 1]
✗ Wrong ID
url_keyword (correct)
[subscription-product-slug]-[ID]
✓ Matches identifier

All findings.

126 findings organized by root cause. Where the pattern is systematic, EKOM resolves. Where judgment or confirmation is required, EKOM surfaces and routes.

FieldItemsSeverityFindingResolution
SEO Title & Brand Integrity — Catalog A + Catalog B, customer-facing and indexed
seo_page_title1CriticalTitle describes wrong product entirely: "[Wrong Product Title]" for a preserved-flower product. Page is indexed. Every organic click bounces. Requires immediate correction and review of indexing state.Review required
seo_page_title1HighBrand shows "[incorrect brand]" instead of "[Brand Name]." Indexed. SKU SKU-003.Team applies
seo_page_title1HighBrand domain shows "[brand typo]" — transposed letters. Indexed. SKU SKU-004.Team applies
seo_page_title1MediumTitle suffix does not match the product identifier — one extra digit in the trailing number. SKU SKU-018.Team applies
seo_page_title1MediumTitle references "[partner brand]" brand instead of [incorrect brand] on a subscription product. SKU SKU-019.Team applies
seo_page_title1MediumTitle and base_name do not match — verify whether differentiation is intentional before correcting. Verify whether differentiation is intentional before correcting. SKU SKU-020.Review required
seo_page_title6MediumTypos in indexed SEO titles: dropped and transposed letters in common gifting words — "arrangement" misspelled two different ways (4×), "personalized" scrambled (1×), and one misspelled collection name (1×).Team applies
base_name3MediumMatching typos in customer-visible product names: the same "arrangement" misspelling (2 SKUs) and the scrambled "personalized" (1 SKU). Apply with SEO title corrections.Team applies
URL Structure — routing integrity and redirect risk
url_keyword1CriticalSlug encodes the wrong product ID — off by one from the product's own identifier. Canonical URL routes to a different product. 301 redirect required before correction. SKU SKU-005.Team applies
url_keyword3HighLeading "/p/" prefix will produce double-path URLs if platform prepends "/p/" on render. All other products use bare slugs. SKUs: SKU-006, SKU-007, SKU-008.Team applies
url_keyword6HighInternational products use pipe separator (international|country…) instead of hyphen (international-country-…) used by all other international products. Inconsistent routing and breadcrumb parsing risk.Team applies
url_keyword1MediumSlug contains wrong product descriptor for a yellow-roses product — Color in URL does not match product. Name/URL mismatch. SKU SKU-009.Team applies
url_keyword1MediumMisspelling of "international" in the slug (a dropped letter). URL likely indexed. 301 redirect from old URL required. SKU SKU-010.Team applies
url_keyword2MediumThe same "arrangement" misspelling in slugs. 301 redirects required. SKUs: SKU-011, SKU-012.Team applies
Category & Classification — visibility and taxonomy integrity
categories1CriticalTest product "[Integration] Test Record" in production with seo_searchable_flag=true. Included in a recent bulk retrigger. Entire record should be removed from production PIM. SKU SKU-001.Remove
categories2MediumTwo cremation wreaths (flagged as sympathy products) classified under "lighting." Re-leaf to sympathy/wreaths category. SKUs: SKU-013, SKU-014.Team applies
categories3MediumWine category slug uses capital "W" — inconsistent with all other lowercase slugs. May be intentional if taxonomy is case-insensitive; verify. SKUs: SKU-015, SKU-016, SKU-017.Review required
categories23MediumCategories field blank — 23 Catalog B products invisible to navigation and merchandising. Requires category assignment based on product type.Review required
categories5LowThe chocolate category slug is misspelled (a stray separator splits the word). All five products are orphaned from the correct taxonomy node.Team applies
product_function7MediumUndocumented values: a duplicate-for-marketing marker (3 SKUs) and a compound core-plus-duplicate value (4 SKUs) are not in the defined controlled vocabulary. Downstream deduplication and noindex logic may not handle these correctly. Taxonomy definition required.Review required
Content & Description Quality — accuracy and render integrity
long_description
short_description
seo_meta_desc
1 (×3 fields)HighGeographic content mismatch: all three description fields reference "[wrong country]" on a [country]-delivered product. Copy was batch-loaded from a different market. Applies to SKU SKU-021.Team applies
long_description4MediumMalformed HTML across four Catalog A SKUs: truncated opening word ("utiful" instead of "Beautiful"), bare <li> tags without parent <ul>, unclosed elements, mismatched close tags. Content renders incorrectly or partially.Team applies
base_name15+MediumDuplicate product names across international Catalog A variants. Example: "[Product Name]" used for [Country A], [Country B], and [Country C] products. Append country/region to differentiate and prevent SEO cannibalization.Team applies
long_description2LowDouble-encoded HTML entities (e.g., &lt;p&gt; appearing as literal text in rendered content). HTML unescape pass required before re-import. Catalog A SKUs: SKU-022, SKU-023.Team applies
Operational Flags — default behavior risk on product pages
delivery_message20HighBlank on 20 international Catalog A products. If blank behaves differently from a defined default, these products may show broken or missing delivery messaging at checkout. Confirm intended behavior.Review required
show_addon19MediumBlank rather than explicit boolean/numeric value on 19 Catalog A products. Empty may behave differently from false — add-on upsells may render by default. Confirm intended default and apply explicit value.Review required
seo_meta_desc15MediumBlank on 15 Catalog A international products. Search engines will auto-generate snippets — typically less compelling and less brand-controlled than a curated description. Populate from short_description as minimum fallback.Team applies
Team applies. Issues with a clear, deterministic fix that can be applied once the pattern is confirmed. EKOM can systematize these corrections across the full catalog.
Review required. Items that require a judgment call, SEO redirect strategy, or production environment decision before a fix can be applied. EKOM surfaces the issue; the client owns the decision.

Catalog profile.

The catalog's structural foundation is sound — SEO content fields are nearly complete, product names are populated, and primary images are largely present. The findings above live in the gap between fields that are populated and fields that are performing correctly.

Column coverage

Strong coverage
seo_page_title<2% blank
long_description<3% blank
short_description<4% blank
url_keyword<5% blank
base_name<2% blank
Structural gaps
base_image_name61% blank (Catalog B)
seo_meta_keywords70–88% blank
keywords_automated85–87% blank
collection_assortment93–99% blank
is3d_enabled100% blank
Note on strong-coverage fields. Near-complete population on SEO fields is a good foundation — but the findings above show that content inside those fields has quality and accuracy problems standard coverage metrics cannot detect. Populated is not the same as correct.

Populated isn’t the same as accurate.

Several high-coverage fields contain values that are wrong or malformed — invisible to completeness checks, actively degrading performance.

seo_page_titleCritical · 1 SKU + 9 with typos/errors
Near-complete as a column. Contains a product that is [Wrong Product Title] for a preserved-flower product, two incorrect brand names, and six SEO-visible typos in everyday gifting words. Every one of these is indexed and visible to Google.
url_keywordHigh · 14 SKUs
Near-complete. Contains a canonical URL referencing the wrong product ID, three slugs with /p/ prefixes, six using pipe separators instead of hyphens, and two with misspelled words. Several require 301 redirects before the slug can be safely corrected.
long_descriptionMedium · 7 SKUs
Near-complete. Contains descriptions with double-encoded HTML entities that render as literal tag text, malformed HTML with unclosed elements, and one description that references [wrong country] on a [country]-delivered product. Content-management issues that render incorrectly in the storefront.
product_functionMedium · 7 SKUs
The controlled vocabulary is not enforced. an undocumented duplicate marker and a compound core-plus-duplicate value appear as values alongside the documented set. Downstream deduplication and noindex rules applied to this field will behave unpredictably on these records.

Navigation attributes missing as structured columns

Five dimensions gifting buyers filter on are absent as dedicated structured fields. The data exists — embedded in product names, descriptions, and keyword strings — but not in a form that can be searched, filtered, or fed to the AI systems personalized gifting depends on. These are the fields an AI personalization platform needs to deliver sentiment-led recommendations.

Occasion
The core dimension of a sentiment-led experience: helping a customer express the right sentiment for the right moment. An AI personalization platform cannot power occasion-based recommendations if occasion isn't a structured field. It lives in free text only — unusable for filtering, personalization, or a recommendation engine.
Price / Price Tier
Gifting buyers shop to a budget first. Serving every price point while protecting a premium range needs structured price as its data prerequisite. Absent from both catalogs entirely — price filtering and price-tier merchandising cannot be enabled.
Color
Exists in product names and descriptions only. A buyer attempting to filter for white sympathy arrangements or red Valentine's roses gets no structured results — even when the products exist. Faceted navigation requires structured data.
Flower / Plant Type
Core search and filter dimension for the floral category. Roses, lilies, orchids, succulents — all embedded in free text, none filterable. Blocks structured data for SEO and prevents the client's commerce site from supporting category-level navigation by plant type.
Brand Partner
(licensed and partner brands)
Partner and licensed brands are referenced in long_description only. Not filterable, not usable for brand-landing merchandising. As partner and licensed lines grow, structured brand attribution is the data prerequisite for making those collaborations discoverable.

What this means for the vertical.

60% of AI projects
Gartner predicts that through 2026, organizations will abandon 60% of AI projects unsupported by AI-ready data. The failure is rarely the model — it is the data layer beneath it. For a retailer betting on AI-driven personalization, product data quality is not a secondary concern. It is the prerequisite.
Gartner, "Lack of AI-Ready Data Puts AI Projects at Risk" — Roxane Edjlali, Senior Director Analyst, February 2025
The opportunity in this category rests on a specific premise: that a retailer can become the destination for sentiment-led gifting by delivering personalized product experiences powered by AI. Improving discoverability and strengthening data infrastructure is the foundation for that ambition, and the catalog is where it either gets enabled or constrained. What EKOM found in this analysis is where the constraint lives.
The issues fall into two categories. The first is active and urgent: a production catalog that contains a test record from a platform integration, a live product page serving the wrong SEO title to every organic visitor, and brand name errors on indexed pages. These are not theoretical risks. They are costing conversions today, and they require immediate attention independent of any broader catalog initiative. The second is structural: five navigation attributes — occasion, price, color, flower type, brand partner — are absent as structured fields across both catalogs. An AI personalization platform cannot power sentiment-led recommendations on product data that doesn't encode sentiment. A commerce platform cannot filter by occasion if occasion isn't a structured attribute. These gaps don't stop a personalization program from launching. They stop it from delivering.
The patterns identified in 741 products are systematic. In a catalog of several thousand products that has grown through new brands, seasonal expansion, and international fulfillment — without active intelligence continuously applied to it — the expectation should not be that these are isolated incidents. It should be that the same mechanisms that produced these errors in the sample are operating at scale across the full portfolio. At that scale, the cost is not in any single missed click. It is in the cumulative performance of a personalization program that cannot execute at the level it was designed for because the data layer it runs on was never built to support it.
What EKOM brings is not a one-time audit. It is the ongoing intelligence that keeps a catalog performing at the level the business requires — catching what accumulates, closing what opens, and ensuring that as the retailer's digital ecosystem grows, the product data beneath it grows with it. The catalog isn't just where customers find products. It is the foundation every downstream experience gets built on.
EKOM is ready to move this from insight to impact.
EKOM
Catalog Intelligence
ekom.ai
About this analysis

This analysis ran on a representative sample of 741 products across the retailer's two fulfillment catalogs — approximately 13% of the full portfolio. Three passes ran before any finding was generated: structural profiling (scoring every column for blank rate and value consistency), vertical-taxonomy matching (surfacing expected-but-absent gifting attributes like occasion, price, and flower type), and cross-record validation (checking each record's fields against its own identifiers, siblings, and indexing state). Client identity has been removed; the findings themselves are unaltered.

Catalog Analysis  ·  Gift and Floral Retailer
EKOM