People don’t ask an AI assistant for “blue jeans”. They ask for “high-rise straight jeans, 100% cotton, no stretch, 30-inch inseam”. Every one of those words is a fact a photo can’t show.

So the job is simple to say: write fabric, measurements and fit as text, on every garment, in a way a shopper can check. A merchant on Reddit admitted their descriptions were “short and mostly ‘vibes’”. The best reply in that thread was the whole playbook in one line: “pull everything a shopper can’t see in the photo into the text, fabric percentage, ft (slim, relaxed), garments measurements inches , care.”

Even OpenAI tells shoppers to look for this. Its help page says ChatGPT’s virtual try-on doesn’t guarantee fit or size, and tells people: “Check the merchant’s measurements, product details, and return policy before buying.” If those measurements aren’t there, the shopper goes to a listing where they are.

Ten pairs of jeans, read one by one

We searched Shopify’s catalog, the product feed Shopify shares with ChatGPT, Copilot and other AI assistants, for “women’s high rise straight leg jeans 30 inch inseam 100% cotton no stretch”, and read the top ten records. Store names are left out.

Position Fabric, as written Stretch Inseam
1 “100% cotton” in the title “zero stretch” Only in a model note: “wearing a size 25 30 inch inseam”
2 95% cotton, 5% elastane “4-way stretch” 30”
3 Not stated anywhere Not stated “30”” in the title, unlabelled
4 73% cotton, 25% polyester, 2% spandex Not stated in words 27”–33.5” by length
5 93% cotton, 5% polyester, 2% spandex “Comfort Stretch” 30”, with a 10” rise
6 96% cotton, 2% polyester, 2% spandex “Comfort Stretch” 29” on size 3/26
7 80% cotton, 18% polyester, 2% spandex “Comfort stretch” 35” option, made for tall women
8 100% cotton “Non Stretch” 32”, with a 12.25” rise
9 “organic cotton with a touch of stretch” Some 27.5”
10 80% cotton, 18% polyester, 2% spandex Stretch 35” option, made for tall women

Nobody matched all five asks, and that’s fine. What matters is whether a shopper could tell.

Position 8 is the clearest listing on the shelf: 100% cotton, non-stretch, 12.25” rise, 32” inseam. The inseam is a clear no for this shopper, and that’s useful too. She knows in a second it’s the wrong length, and you skip a return.

Position 2 is a clear no for a different reason: 5% elastane. Also useful.

Position 3 is the problem. Its whole description was one sentence: “Cate is a high rise fit with a tailored leg for a sleek, straight silhouette.” No fabric in any field. An assistant can’t say yes to “100% cotton” here, and it can’t say no either, so it moves on.

Position 1 almost had it. “100% cotton” in the title, “zero stretch” in the description. But the description also called the jeans “wide-leg” while the title said “straight jean”, and the only length was a model note: “model is 5 4 and is wearing a size 25 30 inch inseam”. Is 30 inches the inseam, or the size? Nobody can tell.

Copy the fiber content off your own label

You already have the fabric facts. In the US, the FTC requires most clothing labels to list each fiber and its percentage by weight, largest first. The same FTC guide says online product descriptions must say whether the item was made in the USA, imported, or both.

So the fix is copy and paste: put the label’s fiber line in the description, word for word, with the percentages. If the shell and the lining differ, give both.

Then add the fabric facts the label doesn’t carry but shoppers ask for:

  • Stretch. “No stretch”, or the elastane percentage plus “2-way” or “4-way”. “Comfort stretch” alone doesn’t tell anyone how much.
  • Fabric weight, with its unit. In our second search, “men’s 100% merino wool t-shirt lightweight 150 gsm”, only 3 of 10 descriptions gave a fabric weight. On 3 more, a weight appeared only in Shopify’s generated spec list.
  • Treatment. Pre-washed, shrinkage-controlled, or neither.

That merino search had a sharper lesson. The listing in 3rd place called itself “Our lightest Merino fabric” and named no blend. Shopify’s generated list said “87% merino wool, 13% nylon”. For a shopper who asked for 100% merino, the fact that rules this shirt out lived only in a field Shopify itself says may be wrong. If it’s right, the brand should say so on the listing. If it’s wrong, it’s costing the brand sales.

Garment measurements aren’t body measurements

Most fit confusion comes from mixing three different things:

Kind What it describes Example
Garment measurement The clothes, laid flat or measured on a form Inseam 29”, rise 10”, measured on size 27
Body fit range The person the size is meant for Fits waist 28–29”
Model info One person wearing one size Model is 5’10”, wearing size S

All three are useful. Labelled, they answer different questions. Unlabelled, they get mistaken for each other.

Position 6 got this right in one line: “Rise: 10” | Inseam: 29” (Based on size 3/26)“. That’s a garment measurement, with the size it was taken on. Copy that pattern.

Two of the tall-fit listings did something else well: “Designed for women 5’9” to 6’6”“. That’s a body range, stated plainly. It tells the right shopper yes, and the wrong one no.

And put the size chart in text. As a commenter in r/shopify put it, “agents can’t read your size chart if it’s an image”. Our size chart guide shows how to turn one into a table.

Shopify’s generated lists scramble the details

Shopify adds its own lists to each catalog record, like spec lists and top features. It marks those fields “Inferred”: generated or enriched by Shopify, possibly missing or wrong. The same label covers product options too, so your size names may arrive tidied up.

On the jeans shelf, the generated lists got sizes and blends wrong in ways that matter:

  • Inseams moved to the wrong length. Position 4’s description said “Missy Inseam: Average: 30.5”; Short: 27.”; Long: 33.5””. The generated list said “Inseam: 27.5 in (Missy), 30.5 in (Short), 33.5 in (Long)”. A shopper who needs 30.5” could be steered to the short length.
  • One blend became a range. Position 7’s description gave “80% cotton, 18% polyester, 2% spandex”. The generated list said “80-99% cotton, 1-18% polyester, 2-2% spandex (varies by color)”.
  • “A touch of stretch” became “100%”. Position 9’s description said “premium organic cotton with a touch of stretch”. The generated list said “100% organic cotton with stretch”.
  • Sizes that aren’t sold. Position 1’s size option listed 26, 27 and 31. The generated list said “Available Sizes: 26, 28, 30, 32”.

The same thing happens with outerwear. In an earlier snapshot, a snowsuit’s description rated the hood’s insulation to −30 °C, and the generated spec line dropped the word hood. Our winter clothing guide covers temperature ratings and their scope.

You can’t edit these lines. You can make them less necessary: the clearer and more structured your own text, the less there is to guess.

The garment record

Fill this in once per style, then per size for the measurements. Most of it comes from your tech pack, your factory spec sheet and the sewn-in label.

Field What goes in it Example (format only)
Fiber content Exactly as on the label, % by weight, per part Shell 100% cotton; pocket lining 65% polyester, 35% cotton
Stretch None, or elastane % and direction No stretch
Fabric weight Number and unit 12 oz denim / 170 g/m²
Garment measurements Per size, with the unit and how measured Size 27: rise [ ]“, inseam [ ]”, leg opening [ ]” (laid flat)
Measured on The size the headline numbers come from Size 27
Body fit range Who each size is for, labelled as body Size 27 fits waist [ ]–[ ]”
Fit and how it runs Slim, regular or relaxed, and your sizing advice Straight leg; runs true to size
Who it’s for Height range or body notes, if the cut is specific Designed for heights 5’9”–6’6”
Model info Height and size worn, labelled as the model’s Model is 5’7”, wears 27
Shrinkage and care Pre-washed or not; care as on the label Pre-washed; machine wash cold
Origin Made in USA, imported, or both Imported
Source Tech pack, spec sheet or label [Document, date]
Checked When someone last confirmed it 2026-11-04

The brackets are on purpose. Fill them from your spec sheet, not from memory. If a number was never measured, write “not measured” rather than leaving a blank.

Put the facts where they travel

A pop-up size chart or a size-guide image may help on your site and never reach the catalog. Text does. Put the deciding facts in four places and make them agree:

  1. The title: the product type plus the one fact people search for. Position 2’s “Denim Straight Leg (30” Inseam)” is a good shape.
  2. The description: fiber line, stretch, fit notes and a garment measurement table, all as text.
  3. Variant options: when length or fit changes by version, make it the option, like “27.5” Inseam” or an inseam-length option.
  4. Metafields: Shopify says its Channel mapping page can pull catalog data from metafields and metaobjects. Our variant guide explains how to keep each size’s numbers on the right variant.

One more check before any of this matters: the product has to be in Shopify’s catalog. Shopify requires a title, at least one image and a price above zero, on the Starter plan or higher and out of private mode. The exception: a store on the Agentic plan can still be included through agentic storefronts even before publishing its online store on a paid plan.

How a shopper or an assistant will check your listing

Run this on your best seller before someone else does.

Shopper question What answers it Trap Rule it out when
Is it 100% cotton? The fiber line with percentages “Cotton-rich”, “premium denim” Any other fiber is listed
Does it stretch? “No stretch”, or elastane % “Comfort stretch” with no number Elastane is listed and the shopper wants none
Will the length work? Inseam per size or length option, with the size measured A model’s height read as the inseam Every available inseam is outside the ask
Will it fit my body? Body fit range per size, or a text size chart A size chart that only exists as an image The shopper’s measurement is outside every size
Is it cut for me? Fit name, how it runs, who it’s designed for Title and description naming different cuts The cut is specific to heights or shapes the shopper isn’t

Facts get a listing considered. In our simulation, an invented product with vague copy was picked in 3 of 180 Claude sessions, and in 134 of 180 once its facts were written out. It won when those facts answered something the shopper asked and other listings didn’t. In clothing, that’s usually fabric, stretch and length.

For the same approach across other categories, see our guide to spec-sold products. For proving certification claims like organic or recycled, see product material data.

How we checked

On November 4, 2026 we searched Shopify’s public catalog with Shopify’s official command-line tool, with no shopper location set, and saved the top 10 records for the jeans search and the merino search above. For every record we read the title, description, options, first variant, seller and Shopify’s generated lists. We matched fiber percentages, stretch words, fabric weights and measurements by text, then reread each record by hand to confirm the quote and the field it came from. We didn’t open product pages or size-chart images, and we didn’t handle any garment.

Your next step

Take your best-selling style and its sewn-in label. Paste the fiber line into the description, add “no stretch” or the elastane percentage, and add one line like “Inseam 30” on size 27, laid flat”. Then look the product up in Shopify’s catalog in a few days and check those three facts came through in your words.