In AI search, a brand can be recommended in the answer while the citation and the click go to whichever source AI treats as the authority. How often that happens had not been measured, so this study analyzed product descriptions from 1,000 Shopify stores and checked two things:
- How much of that copy is original?
- Do LLMs actually cite the store that wrote it?
The answers converge on a single failure with two forms. Thin copy and copied copy both hand an AI model nothing original to attribute, so the citation goes elsewhere. By the end, you will know what separates the cited stores from the invisible ones, and exactly how a product page needs to be structured for an LLM to read it and cite it.
Key takeaways:
Shopify product copy is rarely too thin for AI to read. The real issue stems from duplication and attribution: brands syndicate the same description across the web, so when an AI tool answers a buying question, it treats a publisher or marketplace as the source and sends the citation there rather than to the store that wrote the copy.
- The visible description field understates the page. It runs under 50 words on 30% of products, but measured on the raw HTML that AI crawlers fetch, only 15.6% of the stores we could cleanly measure are genuinely thin. On 71% of the products with a thin description field, the rest of the page still carries enough content for a crawler to read.
- The structured data layer is weaker. 88% of stores emit product structured data, yet in 59% of cases the AI-readable description is under 50 words or missing, and that is the field an LLM can quote with the most confidence.
- Duplication is common. 22% of products share near-identical copy with another product in the same store, and 20% of descriptions appear verbatim or near-verbatim on at least one other domain, almost always a retailer or marketplace, not a competing Shopify brand.
- AI rarely credits the store. Across 60 buying categories, our sample of established brands was cited or recommended in Google's answer layer only 9.5% of the time (in a third of the categories, not one was named), and across all 1,851 sources, just 2.8% were a brand's own page.
- Content depth, speed, and AI readiness barely correlate. A fast store can be invisible to AI. A deep catalog can still load slowly.
Why this study exists
| Study | What it measured |
|---|---|
|
Speed benchmarks |
How fast 1,000 stores load |
|
AI readiness |
How well the same stores are structured for AI to parse |
|
This study |
What the words say, and whether AI cites the store |
The first brand impression is increasingly taking place inside an AI generated answer rather than on a website. A Semrush analysis tracked AI Overview coverage of commercial queries expanding steadily through 2025, and every one of those answers selects which sources to credit. Therefore, the question every merchant should ask has changed.
It used to be "does my product page rank?" Now it is "when an LLM answers a buying question, does it mention me, and does it cite my page as the reason?"
Two prior studies in this series measured the technical requirements and state of the industry. The speed benchmarks study measured how fast 1,000 stores load. The AI readiness study scored how well the same stores are structured for AI to parse.
Both measured inputs. Neither measured the words themselves nor whether any of them produced an outcome. The goal of this study is to fill that gap.
Methodology
| Study at a glance | Figure |
|---|---|
|
Stores targeted |
1,000 |
|
Stores with live product data |
883 |
|
Product descriptions analyzed |
8,573 |
|
Buying categories probed |
60 |
|
AI tools tested |
3 |
I want to be clear about how this was built before I show you a single number. The whole point of a benchmark is that a skeptic can reproduce it.
Sample selection
The sample reuses the same list of 1,000 Shopify stores from the speed and AI readiness studies. Same brands, same verticals, same regions, so the three datasets join cleanly, and the series stays comparable.
Of the 1,000 stores, 883 returned live product data. The rest were unreachable during the collection window, had the product endpoint disabled, or returned no catalog due to Cloudflare or another WAF blocking my crawl. That is an 88% fetch rate, and every number below is calculated on the stores that returned data.
Data collection
Each store contributes up to 10 products from the public product feed, keeping the long description text. That gave 8,573 product descriptions to analyze.
The feed gives you the description field, and the field is not the page. Modern themes like Dawn or Horizon render copy from metafields, tabs, and theme sections that never touch that field.
So the thinness measurement goes a level deeper, to the raw HTML of real product pages, the same layer GPTBot and ClaudeBot read (AI crawlers mostly do not execute JavaScript).
For every store that allowed fetching, the method takes two product pages and subtracts every block of text the two pages share. Whatever repeats across pages is boilerplate by definition, navigation, footer, shipping accordions, review widgets, so what remains is text specific to that product.
The product description inside the page's structured data, the field AI crawlers can quote directly, is counted on top. Tabbed and accordion content counts whenever the theme renders it server-side, because it is right there in the HTML. Content injected purely by JavaScript does not, because a crawler never sees it.
Storefront HTML is often bot-protected, so this deeper measurement covers the 532 stores that allowed polite fetching, with 173 measured cleanly by the two-page method.
That subset is defined by which storefronts permit automated access, rather than by random sampling, and the corrected rate should be read with that caveat in mind. For every store the method flagged as thin, the saved HTML was re-fetched and inspected by hand, and flags that turned out to be bot-challenge pages or broken URLs were dropped from both sides of the count.
Three measurements run on the text: length, internal duplication, and external duplication. For the duplication checks, I used shingle fingerprinting, which breaks each description into overlapping 8-word sequences and hashes them, a standard technique for detecting near-duplicate text at scale.
To check for external duplication, I took a distinctive sentence from a stratified sample of products and ran it as an exact-quoted web search, then confirmed real matches by opening the pages. A brand's own regional storefront (a .ca or .co.uk version of the same shop) does not count as duplication. Only a genuinely different domain does.
Measuring AI citations
For the citation layer, I ran real buying questions through Google's AI mode, ChatGPT, and Perplexity across 60 product categories. Questions were the kind a shopper actually types, like "best gym leggings for squats" or "best sustainable clothing brands."
Each answer was logged for which stores were cited (their own domain shown as a source), recommended (named as a pick), mentioned, or absent. I scored only what the tool actually returned. Nothing here is modeled or estimated.
How to read the numbers
"Thin" means under 50 words of product-specific text in the raw page HTML, after boilerplate is subtracted and structured data is counted. When I say the description field is thin, I mean the standard Shopify description field specifically, which, as you will see, is not the same thing. "Template duplication" means two products in the same store share most of their text. "Syndicated" means the description appears on a domain the brand does not own.
"Citation rate" is the share of store checks where an LLM cited or recommended that store for a relevant question. Higher is better, and as you will see, almost nobody scores high.
What this study does not measure
| What this study measures | What it does not |
|---|---|
|
How common thin and copied copy is |
Whether copied content is penalized |
|
Whether AI cites the store |
A ranking cause and effect |
|
A sample of 10 products per store |
Every product on every store |
The study does not measure whether copied content is penalized. Google has said for years it does not penalize duplicate content, and instead filters duplicates and picks a canonical. This study measures how common the duplication is and what it costs in terms of attribution, rather than any ranking effect.
It does not read every product on every store. One template sample of 10 products per store is enough to characterize a catalog, not to audit it. Last, the AI citation layer is a sample of 60 categories, wide enough to show the pattern, not a census of every query.
Finding 1: The description field is a poor measure of what AI can read
Thirty percent of the description fields I crawled were under 50 words. Taken at face value, that reads as a third of product pages being thin. The re-measurement shows the field itself is the unreliable part, and quantifying that gap turned out to be more useful than the original number.

Description field, raw page HTML, and structured data measured across the same stores, July 2026. The structured layer is the weakest of the three.
The description field understates the page. Brands like Our Place and Rare Beauty leave the standard field nearly empty and render their real copy from metafields and theme sections. So I re-measured on the raw HTML that AI crawlers fetch, two pages per store, shared boilerplate subtracted, every thin flag verified by hand.

Rare Beauty's Soft Pinch Tinted Lip Oil: the public description field holds 25 words, the rendered page about 2,100. Source: rarebeauty.com, captured July 2026.
The first result concerns the field itself: 71 percent of the stores with a thin description field have a rich page once you read the full HTML. An audit that scores only the field is measuring a proxy, which is exactly what many paid SEO tools score.
The second result is the corrected thinness rate. 27 of the 173 cleanly measured stores (15.6%) give a crawler fewer than 50 words of product-specific text, compared with a median of 133 words. The group includes brands with real content budgets, among them Ridge, Atari, Nine West, Amiri, and Credo Beauty, and one distinctly modern case: Nothing, the consumer electronics brand, presents a polished page to a human visitor, but the page renders with JavaScript, so the raw HTML a crawler receives holds about 90 words of text, most of it menu labels, and no structured data.

Nothing's Ear (3): the raw HTML a crawler receives contains 90 words, mostly menu labels, and zero structured data. The page a shopper sees renders entirely with JavaScript. Source: us.nothing.tech, captured July 2026.
The third result carries the most direct consequence for AI visibility. 88% of stores emit product structured data, yet on 59% of them, the AI-readable description is under 50 words or missing entirely. That field exists specifically so a search engine or LLM can quote a page with confidence, and most stores leave it thin even where the visible page is rich.
A 40-word description is fine for a human who is already looking at five photos and a price. It gives an AI model that has only text almost nothing to reason about. The common denominator is not that stores write nothing; it is that what they write lives in layers search engines and LLMs struggle to read.
Finding 2: One in five descriptions is copied to another website
Twenty percent of the descriptions in my sample appeared verbatim or near-verbatim on at least one other domain. I expected this to be the most damaging number in the study. Tracing where the copies actually live changed my read of it.

Copies concentrate on retailers and marketplaces that resell the brand, not rival Shopify stores.
The copies are rarely found on a competing Shopify brand. In the entire dataset, I found exactly one true competitor-to-competitor match: two brands selling the same white-label colostrum kit with the same supplier copy.
The copies concentrate on retailers and marketplaces. The most popular destinations were Nordstrom, Sally Beauty, Publix, Belk, and Amazon. A brand's own words syndicate out to every channel that resells it, with no signal telling an AI model which page is the origin.
That distinction changes the diagnosis. Very little of this is brands copying each other. Most of it is a store's own description, scattered across the web the moment it sells through anyone else.
Finding 3: When AI answers a buying question, it cites a magazine, not your store
Across 60 categories in Google's answer layer, the established brands in my sample were cited or recommended 9.5 percent of the time. In a third of the categories, not a single one of these well known DTC brands was named. The answer went to a publisher, a Forbes list, The Good Trade, CNN Underscored, OutdoorGearLab, or a marketplace.

Across 60 categories, established brands were cited or recommended 9.5 percent of the time.
Watching the same queries live in ChatGPT and Perplexity sharpened the mechanism. Both LLMs do recommend the big brands. Ask for squat proof leggings and they will name Gymshark, Alo, Beyond Yoga.
The sources they cite are a different list: Good Housekeeping, Verywell Fit, Reviewed.com, Reddit, and almost never the brand's own product page. I logged this across all three tools and 60 categories. Of 159 times a brand got recommended, its own page was the cited source 31 percent of the time, and across the 1,851 sources the AI tools cited in total, 2.8 percent were a brand's own page while 59 percent were publishers.
So in roughly two thirds of favorable mentions, the brand gets named and a reviewer gets the citation. The store's own description, the copy the brand paid to write, earns no attribution. When a store's words are thin or syndicated everywhere, an LLM has no reason to treat that page as the authority, so it reaches for the publication that wrote something original about the brand.
Finding 4: Depth, speed, and AI readiness are three different problems
I joined this content data with the speed and AI readiness scores from the two prior studies, 867 stores present in all three. I expected the good stores to be good across the board. They are not.

Only the deepest content quartile scores meaningfully higher on AI readiness.

Speed, depth, and AI readiness sit near zero correlation. Each is separate work.
The correlations are near zero. Content depth versus AI readiness score lands at a Spearman coefficient of 0.13. Speed versus AI readiness sits at 0.02. A fast store is not a well written store, and a well structured store is not a fast one. Depth here is measured on the description field, the text a store sends to every feed, channel, and app, so read it as the depth of the copy a store distributes rather than everything a page renders.
Only one relationship held up. Stores in the deepest quartile of content scored meaningfully higher on AI readiness, 44.9 versus about 41 for everyone else. Depth helps, but it does not come bundled with speed or structure. Each is a separate piece of work, which is exactly why a single audit score hides more than it shows.
What the cited stores do differently
Stores that earned citations in this sample share a content profile rather than a size or speed profile. Their product pages contain passages an AI model can extract and attribute: descriptions written for the specific product, answers to buyer questions present as text in the raw HTML, and a filled structured data description. The patterns differentiate as follows:
| Common pattern in uncited stores | Pattern in cited stores |
|---|---|
|
Supplier description reused across every sales channel |
Description written for the product, unique to the store |
|
Copy shared across sibling products |
Product-specific passages an AI model can quote |
|
Buyer questions answered only in images or JavaScript |
Answers present as text in the raw HTML |
|
Structured data description thin or empty |
Structured data description filled from real product copy |
The result reads less like catalog data and more like the kind of product descriptions a person who has handled the product would write. That texture is what AI can attribute to one source.
Scale does not compensate for originality. A hundred original, structured descriptions give an LLM a hundred reasons to cite the store. A thousand templated ones give it a thousand repetitions of text it has already seen elsewhere, and the citation goes to whoever wrote something new.
What a citable product page looks like
The findings point to a clear conclusion. A product page earns citations when every layer an LLM reads carries original, product-specific text. Whether the copy gets written by hand or generated, these are the twelve fields to get right.
| Field | What it does |
|---|---|
|
1. Product title (H1) |
Carries the buying keyword a shopper actually types |
|
2. Sales headline |
The hook under the title that keeps the shopper reading |
|
3. Short description |
Original copy at the buy box, 40 to 60 words in the raw HTML |
|
4. Long description |
Teaches the buyer; the passage an LLM can quote and attribute |
|
5. Key benefits |
Five scannable points an AI model can quote verbatim |
|
6. Target group |
Who the product fits, stated in plain text |
|
7. Sold together |
Products that pair with this one, rendered as text in the page |
|
8. Tech specs |
An HTML table built only from the product's real attributes, nothing invented |
|
9. FAQ |
Real pre purchase questions, eligible for rich results |
|
10. Meta title |
The headline of the search snippet |
|
11. Meta description |
The snippet copy that earns the click |
|
12. Cross-sell |
Category recommendations rendered in the HTML, not injected by a widget |
Original copy in every field, structured the way an AI model reads a page, and generated from the store's own product data so nothing is invented.
Mapped onto an actual product page, those fields look like this.

The anatomy of a product page an LLM can read and cite. Red flags mark where most stores lose the citation, according to the numbers from this study. The right side is the structure you should rebuild toward.
The honest obstacle is scale, especially for large catalogs. Writing twelve fields from scratch takes an editorial team months, and it can run into the hundreds of thousands of dollars, which is why most stores never do it.
More words alone accomplish little. The goal is to give each page something original and structured so it can be quoted, and the citation lands on your store instead of the publication or forum that reviewed you.
|
See where your catalog stands We run this same duplication and AI citation analysis on your store, then map the highest intent pages to fix first. A GEO readiness assessment shows you the number and the plan. |
Explore the dataset
| The dataset includes | Detail |
|---|---|
|
Per store |
Description length and verified raw-HTML content measures |
|
Duplication |
In store and cross site copy flags |
|
AI citation |
Cited, recommended, or absent per category |
|
Joined scores |
Speed and AI readiness from the prior studies |
The full dataset is available as a downloadable workbook. Every store, its description length, its duplication flags, its citation results, the sources each AI answer cited, and the joined speed and AI readiness scores.
Copy it, filter it, pivot it, publish your own cut. If you use it, please credit Shero Commerce and link back. The workbook contains far more detail than this article, including per-category citation results and a site-type breakdown of the domains hosting copied descriptions.
Conclusion
None of this is specific to Shopify. The same thin and syndicated copy shows up on every platform. Brands that have fixed it did so with editorial work rather than a plugin.
The highest-leverage fix is also the least technical. A product page written once, in the store's own words and your brand voice, for the buyer and the AI model alike, gives an LLM what a supplier paragraph syndicated to fifteen channels never can: a reason to treat one page as the origin.
Every number in this study reduces to a single test. When an LLM answers a buying question in your category, either your page offers something original to cite, or the citation defaults to whoever wrote about you first. Which way that goes is a content decision, and it is still one you can control.