At a glance
Count of active products lacking a body description. The catalogue-quality view: how many product pages are operating without long-form copy that drives conversion and SEO?
| What it counts | COUNT(products WHERE status = ACTIVE AND (descriptionHtml IS NULL OR LENGTH(descriptionHtml) < 50)). The threshold is configurable; default flags effectively-empty descriptions. |
| API endpoint | Admin GraphQL. Product.descriptionHtml, Product.status. |
| What “missing” means | Either no description set, or description is shorter than the configured minimum (default 50 chars) which catches placeholder text like “TBD” or template stubs. |
| VAT / tax treatment | Not applicable. |
| Shipping | Not applicable. |
| Discounts | Not applicable. |
| Refunds | Not applicable. |
| Cancelled / voided orders | Not applicable. |
| Currency | Not applicable. |
| Channels / sources | Catalogue-wide; affects all surfaces (Online Store, marketplaces, AI overviews). |
| Active-only filter | Draft and archived products excluded. The card surfaces customer-facing problems. |
| Multi-language | The card uses the primary publication language. Translated stores may show false negatives if a translation is incomplete; pair with translation health checks. |
| Time window | RT (real-time, computed from latest indexed snapshot) |
| Alert trigger | >0, any active product without a description is a customer-facing gap |
| Roles | owner, operations |
Calculation
Calculated automatically from your Shopify data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK DTC homeware brand on Shopify, 612 active products. Snapshot date: 12 May 26. Card reads 42 products missing description.| Cohort | Count | Note |
|---|---|---|
| Recently-launched products | 18 | Spring drop, copy not yet finalised |
| Imported via CSV migration | 12 | 2024 catalogue import never completed |
| Variants of bundle products | 8 | Bundle parent has copy; variants stripped |
| Test / staff products in production by mistake | 4 | Should be archived |
| Total | 42 |
- Recent launches dominate the list. New products usually go live with stub descriptions; the merchandiser fills in copy over the following 1-2 weeks. A non-zero count is therefore normal at any given moment for active stores. The question is the structural baseline: 5-10 missing is acceptable; 40+ suggests a process gap.
- CSV migrations are the most expensive miss. 12 products from a 2024 import without descriptions are likely losing organic search and AI-overview visibility. Each is a 30-minute fix; total backlog is 6 hours of merchandiser work. ROI is high relative to most catalogue work.
- Bundle variants need special treatment. 8 bundle-variant products have no description because Shopify Bundles auto-generates them from components. The customer-facing PDP usually pulls bundle copy from the parent; verify on theme.
- Test products in live catalogue are a hygiene fail. 4 staff or test products that should have been archived. Each is 2 minutes to clean up. Set a recurring quarterly catalogue audit.
- 42 of 612 = 6.9% of catalogue without copy. SEO and AI-overview visibility are at risk for those PDPs. AI search engines (ChatGPT, Claude, Perplexity) increasingly drive top-of-funnel traffic; products without copy are invisible to those flows. Prioritise descriptions for top-50 by recent revenue first.
Sibling cards merchants should reference together
Description gaps are part of broader catalogue quality. Pair with these:| Card | Why pair it with Missing Descriptions | What the combination tells you |
|---|---|---|
| Missing SEO | SEO meta fields. | Combined: products with no copy AND no SEO meta = invisible to organic. |
| Product Status | Active vs draft vs archived split. | Confirms how many of the missing-description products are actually live. |
| SKU Coverage | Variant-level SKU completeness. | A product missing description and SKU is doubly-impaired. |
| Top Products | Top-revenue products. | Missing description on a top-revenue product is the urgent fix. |
| Bottom Products | Slow-movers may correlate. | Sometimes the slow-move is caused by missing copy, not by demand. |
google_search_console.gsc_indexed_pages | SEO consequences. | Products without copy often fail indexing or rank poorly. |
Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin: Shopify Admin doesn’t have a dedicated “missing description” filter. Reconstruct from:- Products → All products → export catalogue to CSV → filter on empty Body (HTML) column.
- Apps like Smart SEO, JSON-LD for SEO, AVADA SEO: surface PDP-level SEO + content gaps including descriptions.
- Online Store → Pages: shows static pages, not products.
- Search & Discovery app: surfaces site-search performance which often correlates with description coverage.
| Reason | Direction | Why |
|---|---|---|
| Threshold | Either | The card’s 50-character minimum may flag products Shopify considers “filled” (any non-null counts as “has description” in CSV exports). |
| HTML stripping | Either | A description with only HTML tags but no text content is “empty” semantically; the card strips tags before counting characters. |
| Sync lag | Ours lower for “today” | 5 to 15 minute index lag. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
google_search_console.gsc_pages_with_low_clicks | Description gap correlates with low SEO click | Missing description is one of several SEO-fail causes; not 1:1. |
Known limitations / merchant FAQs
My Shopify Admin says all my products have descriptions, why does this card flag any? The card uses a minimum character threshold (default 50). Products with very short descriptions (e.g. “Beautiful product”) count as missing here. To match Shopify’s “any non-empty” definition, lower the threshold; to enforce real content quality, raise it. Should I prioritise top-revenue products or all? Top-revenue first. A missing description on a top-50 product loses meaningful organic and AI-overview traffic; a missing description on a long-tail product is low priority. Sort the list by 90D revenue and start at the top. AI-generated descriptions, are they OK? Yes for first-pass coverage; review and personalise before publishing. AI tools (Shopify Magic, Copy.ai, Jasper) can generate decent baseline copy in seconds. Treat them as drafts, not final. Multi-language stores, how does this work? The card uses the primary publication language. Translated stores may show false negatives if a translation is incomplete. Pair with translation health checks. Multi-currency, any impact? None. Shopify Plus vs basic? Plus stores using metafields for richer PDP content may have minimaldescriptionHtml but rich metafield-driven sections. The card may flag products that customers see as fully-described. Configure the threshold or use a metafield-aware audit.
Refresh cadence?
Real-time. Description edits propagate within minutes.
B2B vs DTC?
B2B catalogues often have shorter descriptions (technical buyers don’t need narrative). The card may flag B2B products that are functionally complete; configure the threshold for B2B-only catalogues.
The card alerted, what should I do?
- Sort the missing-description list by 90D revenue.
- Triage:
- Top-50 by revenue: write rich, full descriptions immediately (60-min sprint).
- Top-200: medium-length AI-assisted drafts, review and publish.
- Long tail: bulk template fill with product attributes.
- Set up a recurring weekly catalogue audit; new launches without descriptions should be caught within 7 days.
- For migrated products without descriptions, schedule a 1-day sprint to backfill.
- Consider Shopify Magic for AI-assisted bulk writes if your team is small.