Home · The 15 signals · Description richness

Shopify product description richness for AI shopping agents

Product descriptions are the primary text signal AI shopping agents use to match a user's free-text query — "running shoe for someone allergic to wool," "cookware safe for gas stoves," "vitamin C serum for sensitive skin" — to your catalog. The signal is direct and measurable: the median word count of body_html across your sampled products. Below 40 words median, the agent has so little signal that it can only match on the title and falls back to your competitors with longer copy. Above 80 words, your products surface for queries that mention attributes the title doesn't. The 8 ranking-spread points sit at "did you write a paragraph or a sentence per product."

Last updated 2026-04-30 · Ranking-spread signal · 8 pts

8 / 70Ranking-spread weight
80 wordsFull-credit threshold
5xLong-tail query lift
What this signal scores: the median word count of body_html (HTML stripped) across the first 30 products in your /products.json feed. Median ≥80 words = 8 pts. Median 40-79 words = 4 pts (half credit). Median below 40 words = 0 pts. Median, not mean — one 500-word hero product can't compensate for 29 one-line products.
0-39
0 pts
40-79
4 pts
80+
8 pts

What it is

Every Shopify product has a body_html field — the rich-text body of the product description as edited in the admin's "Description" textarea. Stored as HTML; rendered into the PDP body and into the Product JSON-LD's description field. CatalogScan scores the stripped-text word count of this field — what an AI agent actually reads after stripping markup.

Bad — 0 pts

Title-only / one line

"Cotton crewneck tee."

3 words. Agents have only the product title to match against; you compete with every other "cotton crewneck tee" listing on text alone.

Partial — 4 pts

Marketing flair only

"Soft, breathable, made to last. The everyday tee you've been looking for."

40-50 words. Reads OK on the page; matches almost no specific queries because the actual attributes — fabric weight, construction, fit details, country of origin — are absent.

Correct — 8 pts

Attribute-rich

"180 GSM heavyweight cotton crewneck tee, ring-spun for softness. Single-stitched at the hem and sleeve cuffs. Fits true to size with a regular cut through the chest and torso..."

80+ words covering material weight, construction, fit, sizing reference, use cases, and care. Matches "heavyweight cotton tee," "ring-spun cotton," "regular fit cotton tee" — three queries the partial example couldn't.

Why AI shopping agents care

How to test it on your store

One curl + jq + awk gives you the median across the first 30 products:

curl -s https://yourstore.com/products.json?limit=30 \
  | jq -r '.products[].body_html' \
  | sed 's/<[^>]*>//g; s/&[a-z]*;/ /g' \
  | awk '{print NF}' \
  | sort -n \
  | awk '{a[NR]=$1} END {print "median:", a[int(NR/2)]}'

One number out: the median word count. Anything ≥80 = full credit; 40-79 = half; under 40 = zero. The free CatalogScan scan runs the same calculation across your live feed and reports the median, the 25th percentile (so you can see the worst offenders), and a flagged list of products under 40 words.

Recipe: what 80 useful words look like

The point isn't word count for its own sake — keyword stuffing is a downweight on every modern ranker. The point is 80 words of distinct attributes:

  1. Material/specs (15-25 words). Fabric weight, composition, key components. "180 GSM 100% organic ring-spun cotton, double-needle stitched seams, pre-shrunk."
  2. Fit / dimensions / sizing reference (15-20 words). "Regular fit through the chest and torso. Model is 5'10" and wears size M."
  3. Use case (15-20 words). Who it's for, when to wear/use it, what it's compatible with. "Designed for daily wear and casual layering. Pairs with our chinos and joggers."
  4. Differentiator (10-20 words). What makes this specific product different from category competitors. "Hand-loomed in Portugal at a family-run mill we've worked with for six years."
  5. Care / specs / warranty (10-20 words). Wash care, returns, materials sourcing certifications. "Machine wash cold; tumble dry low. Two-year stitching warranty."

Five blocks × 15 words each = 75 words. Add a sentence about provenance or sustainability and you're at 80-95. Each block answers a different class of query.

How to fix it

Bulk admin edit (catalogs <50 products)2-4 hoursfree

Admin → Products → click into each product → rewrite the Description using the 5-block recipe above. Tedious, but for catalogs under 50 products it's the cleanest path. Hand-written copy is the highest-quality option and usually the right move for a small catalog. Train the writer on the 5-block recipe and word target.

Matrixify CSV bulk-rewrite4 hours$20+/mo

Export Products as CSV via Matrixify. Open in Sheets/Excel. Either rewrite descriptions in-cell (still hand-written, just bulk-edit-friendly) or generate descriptions from a template formula combining the existing fields. Re-import. The template-formula path lifts you from 0 → 4 pts (median 40-79); a hand-written round still needed for the full 8.

Claude API bulk rewrite (DIY)2 hours~$0.01/product

Pull product titles, vendor, product_type, options, and any existing description. For each product, send to Claude with a prompt like "Rewrite the following Shopify product description in [brand voice] using this 5-block structure: material/specs, fit, use case, differentiator, care. Aim for 80-100 words. Existing description: …". Iterate, batch with rate limiting, write back via Admin API. Ship a per-product diff approval gate; never auto-publish without review on a sample. Catalog of 1,000 products costs ~$10 in API spend.

CatalogScan Pro: brand-voiced bulk rewrite with diff approval15 min$49/mo

Pro reads your existing top-10 product descriptions to learn your brand voice, generates 80-100 word descriptions for every product using the 5-block recipe with your voice, and presents per-product diffs for approval before write. Per-product undo log. See Pro pricing. The DIY path above gets you 90% there if you're a developer; Pro adds the brand-voice extraction and the approval workflow.

5 mistakes we keep finding

1. Repeating the title in the description

"Cotton crewneck tee. The cotton crewneck tee from Brand X is a comfortable cotton crewneck tee made from cotton." The repetition adds words but adds no information — and modern AI rankers detect and downweight repetitive padding. Make every word add a fact.

2. Marketing flair in place of attributes

"Built for people who refuse to settle. Designed in California. Crafted with intention." 30 words, zero attributes. Reads great on the page; matches no queries. Cut the flair to one sentence and use the rest of the budget for material, fit, use case, care. Marketing flair complements attributes; it doesn't substitute.

3. Spec-sheet dumps with no narrative

The other failure mode: copy-paste of the supplier spec sheet — "Material: cotton. Weight: 180 GSM. Cut: regular." Parses well as data but not as text — agents pull text fragments to cite, and "Material: cotton." doesn't read as a quote. Wrap specs in a sentence: "180 GSM heavyweight cotton, ring-spun for softness."

4. Identical descriptions across variants/colors

Some templates use the same description for every variant. Result: agents can't differentiate "this color in stock" from "this color sold out" or "this size runs small." If your variants have meaningfully different attributes (extended sizes fit differently than core sizes; the natural color is undyed and the dyed colors aren't), differentiate at variant level via metafields. See our metafields blog post.

5. Lazy AI rewrite published without review

The opposite extreme of the spec-sheet dump: every product description is suspiciously similar 80-word AI output. Agents detect and downweight homogeneous AI-generated copy. The fix is the same as for hand-writing: enforce the 5-block recipe but require per-product specifics in each block. Pro's diff approval is the workflow guard; on the DIY path, sample-review 10% before bulk publish.

See also

What's your median description length?

Free 2-minute scan. We sample your live feed, report the median word count, and flag every product under 40 words alongside 14 other AI-shopping signals.

Scan my store → See all 15 signals