Catalog Intelligence Case Study  ·  Read & Diagnose

National Gift and Floral Retailer.

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

Full Catalog
5,681 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 brand with the reach and recognition of the client, 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 strategic context matters here. The client's declared multi-year strategy is built on a specific technical premise: that AI-driven, hyper-personalized, sentiment-led product discovery can deepen customer relationships and drive growth beyond seasonal peaks. New marketing leadership joined recently with an explicit mandate to improve product discoverability and strengthen data infrastructure as the foundation for that AI strategy. That mandate is not aspirational framing. It is the operational prerequisite for everything that strategy requires. And it runs directly through the product catalog.

EKOM's work with the client has been in the search layer — where organic visibility is won or lost. What this analysis did was look at the layer beneath it. Product data doesn't maintain itself. Catalogs that grow through acquisition, 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 5,681-product portfolio. 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 products4,762
Sample analyzed383
Active findings53
Key issue typeBrand + URL integrity
Catalog B · Direct Ship
Direct Ship
Total products919
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 [Acquisition] integration in production.
Scope note. This analysis covers a representative sample of 741 products — approximately 13% of the full 5,681-product A+B catalog. 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  ·  Acquisition Integration
An acquisition integration test record is in the production catalog — and almost certainly indexed.
Product SKU-001 ("[Acquisition] Test Record") appears in the production Catalog B export with seo_searchable_flag=true and categories='[category];test_products'. It was included in a recent bulk retrigger, which means it was processed as a legitimate product. This record is a test artifact from an acquisition integration that was never removed from the production environment.
Record State
base_name
[Acquisition] Test Record
✗ Test data
categories
[category];test_products
✗ In production
seo_searchable_flag
true
✗ Indexable
retrigger
[bulk_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 ID 41510 — 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]-41510
✗ Wrong ID
url_keyword (correct)
[subscription-product-slug]-41511
✓ 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 Preserved Serene Gardenias. 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 "981617" does not match product identifier "98167". Incorrect 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: "Arrengements" → "Arrangements" (3×), "Arrangment" → "Arrangement" (1×), "Personzlied" → "Personalized" (1×), "Paridise" → "Paradise" (1×).Team applies
base_name3MediumMatching typos in customer-visible product names: "Arrangment" (2 SKUs), "Personzlied" (1 SKU). Apply with SEO title corrections.Team applies
URL Structure — routing integrity and redirect risk
url_keyword1CriticalSlug encodes wrong product ID (41510 vs. 41511). 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 Twelve Yellow Roses product — Color in URL does not match product. Name/URL mismatch. SKU SKU-009.Team applies
url_keyword1MediumMisspelling "interational" (missing 'n'). URL likely indexed. 301 redirect from old URL required. SKU SKU-010.Team applies
url_keyword2MediumMisspelling "arrangment" in slugs. 301 redirects required. SKUs: SKU-011, SKU-012.Team applies
Category & Classification — visibility and taxonomy integrity
categories1CriticalTest product "[Acquisition] 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 (sympathy_value=1) 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
categories5Low"cho_colate" is a misspelling of the "chocolate" category slug. All five products are orphaned from the correct taxonomy node.Team applies
product_function7MediumUndocumented values: "duplicate_marketing" (3 SKUs) and compound "core;duplicate_no" (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 Gardenias product, two incorrect brand names, and six SEO-visible typos including Arrengements and Personzlied. 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. duplicate_marketing and compound core;duplicate_no 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 the client's declared strategy depends on. These are the fields an AI personalization platform needs to deliver sentiment-led recommendations at the level the strategy describes.

Occasion
The core dimension of a sentiment-led experience. The client's declared strategy exists to help customers 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 the client's recommendation engine.
Price / Price Tier
The client's pricing strategy explicitly aims to "serve buyers across all price points while maintaining a premium product offering." Structured price is the data prerequisite for that strategy. 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 the client expands its partner brand strategy — a recent brand collaboration, among others — structured brand attribution is the data prerequisite for making those collaborations discoverable.

What this means for the client.

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 business that has publicly committed to AI-driven personalization as the core of its transformation strategy, 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 client's strategy is built on a specific premise: that it can become the premier destination for sentiment-led gifting by delivering hyper-personalized product experiences powered by AI. The new CMO's mandate — to improve product discoverability and strengthen data infrastructure as the foundation for that AI strategy — is a direct acknowledgment that the catalog is where that ambition 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 the [Acquisition] 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. The client's commerce platform cannot filter by occasion if occasion isn't a structured attribute. These gaps don't block the strategy from being announced. They block it from being delivered.
The patterns identified in 741 products are systematic. In a catalog of 5,681 products that has grown through acquisition, 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 transformation strategy 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 to this partnership 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 client'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.
We look forward to building this partnership.
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 5,681-product 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.

Confidential  —  Catalog Analysis  ·  Gift and Floral Retailer
EKOM