Articles

Product descriptions AI agents can compare

Usually fixed by: SEO or content team

When someone asks an AI agent for "a waterproof hiking jacket under 500 grams that packs into its own pocket", the agent has to read your product pages and compare them with everyone else's. It can only recommend what it can confirm. Product descriptions written as facts, not mood, are what get you onto the shortlist.

How AI agents compare products

A person browsing can look at a photo, skim the copy and get a feel for a product. An AI agent works differently. It turns the shopper's request into requirements (waterproof, under 500 grams, packable, under $200) and then checks each product page for evidence that the product meets them.

If your page says "featherlight protection for every adventure", the agent can't match that to "under 500 grams". If a competitor's page says "Weight: 410 g (size M)", it can. The agent recommends the product it can back up, and yours drops out, even if it's the better jacket.

This doesn't mean brand voice has to go. It means the facts need to be on the page too, written so they can be read and compared on their own.

Write specs as text, not images

Agents read text. Specifications that live only in an image, a size-chart graphic or a downloadable PDF are often invisible to them. The same goes for details that only appear when someone clicks a tab or accordion, if that content is loaded by JavaScript rather than present in the HTML. (Content hidden by CSS until clicked is fine; it's still in the page.)

Put the key facts in the page's HTML as plain text. A simple table works well, because each row is a clear pair of attribute and value:

<table>
  <caption>Specifications</caption>
  <tr><th scope="row">Weight</th><td>410 g (size M)</td></tr>
  <tr><th scope="row">Waterproof rating</th><td>20,000 mm hydrostatic head</td></tr>
  <tr><th scope="row">Shell fabric</th><td>100% recycled nylon, 3-layer</td></tr>
  <tr><th scope="row">Packed size</th><td>18 x 12 x 7 cm, packs into chest pocket</td></tr>
  <tr><th scope="row">Fit</th><td>Regular, room for a fleece underneath</td></tr>
</table>

A definition list (<dl>) works just as well. What matters is that each fact has a label next to it, in text.

Make attributes comparable

Comparison only works when the same attribute is described the same way across your catalog. Agree on a set of attributes for each category and fill them for every product.

DoAvoid
Weight: 410 gUltralight
Battery life: up to 14 hours of video playbackAll-day battery
Capacity: 1.7 liters (7 cups)Family size
Dimensions: 60 x 40 x 25 cm (W x D x H)Compact design
Material: 100% organic cotton, 180 gsmPremium soft fabric
Fits: iPhone 15 and iPhone 16 (not Pro Max)Fits most phones

Use the same attribute names, the same order and the same units on every product in a category. An agent comparing your three kettles should find "Capacity" in the same place on each page.

Units, materials and measurements

  • Always give the unit. "Width: 60" means nothing. "Width: 60 cm" does. Where your customers use both systems, give both: "60 cm (23.6 in)".
  • Say what was measured. "Weight: 410 g (size M)" or "Battery life: up to 14 hours (video playback, 50% brightness)". Conditions turn a claim into a fact.
  • Name the materials. Give the fiber, metal or wood, the percentage in blends, and any certification by its proper name. "Vegan leather" is a category; "polyurethane-coated cotton" is a material.
  • Give exact sizes. Link to a size guide in HTML text, not only an image, with body measurements per size.
  • State what's in the box. Agents get asked "does it come with a charger?". Answer it in the description.

Compatibility and fit

For parts, accessories, consumables and refills, compatibility is the whole decision. A shopper asks "will this filter fit my Model X200?" and the agent needs a clear yes or no.

  • List every compatible model by its full name and model number, not "fits most models".
  • List known incompatible models where confusion is likely, such as the Pro version of a device.
  • Put the list on the product page in text, not only in a separate compatibility tool that needs a form to be filled in.

In structured data, schema.org has properties such as isAccessoryOrSparePartFor and isConsumableFor that point from your product to the product it's used with.

Add the facts to structured data

Product JSON-LD is where agents look first for price and stock. It can carry descriptive attributes too, so they don't have to be read out of your layout:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Ridgeline Packable Rain Jacket, Men's",
  "sku": "NW-RJ-M-BLU",
  "material": "100% recycled nylon",
  "color": "Blue",
  "size": "M",
  "weight": { "@type": "QuantitativeValue", "value": 410, "unitCode": "GRM" },
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "Waterproof rating",
      "value": 20000, "unitText": "mm" },
    { "@type": "PropertyValue", "name": "Packable", "value": true }
  ],
  "offers": {
    "@type": "Offer",
    "price": "189.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}

Use additionalProperty for attributes schema.org has no dedicated property for. The values must match what the page says. For the full product markup, including variants, returns and shipping, see product data that AI shopping agents can read.

Avoid vague copy

Marketing copy still has a job: it persuades the person who reads it. The problem is when it replaces facts instead of sitting beside them. Watch for these:

  • Superlatives without evidence. "Best-in-class", "industry-leading", "unbeatable". An agent can't verify them, so it ignores them.
  • Relative claims. "30% lighter" than what? Give the absolute number.
  • Copy shared across a range. If ten products share the same paragraph, an agent can't tell them apart. Lead with what makes each one different.
  • Manufacturer text pasted unchanged. It's often thin, and the same on every store selling that product. Add your own facts.

A good pattern: one or two sentences of plain summary (what it is, who it's for, the one or two facts that matter most), then your brand copy, then the full specification table.

What AgentScore checks

AgentScore doesn't grade the wording of your descriptions. On a product page, it checks that schema.org Product data gives price, currency and availability ("Product pages give price and stock in a form agents can read"), and that prices are in the page HTML. To see how a real agent handles your descriptions, run a journey with Ghost Agent, such as "find a waterproof jacket under 500 grams", and read the step-by-step replay. See testing journeys with AI agents.

Where to start

  1. Pick your best-selling category and list the five to ten attributes shoppers compare.
  2. Audit ten product pages: is each attribute there, in text, with a unit?
  3. Fill the gaps in your product information system or platform, not in each page by hand, so the data reaches every channel.
  4. Add the specification table to the product page template and the same attributes to your Product JSON-LD.
  5. Repeat for the next category.

Shoppers also lean on prices, variants and reviews when comparing; see machine-readable prices, variant pickers AI agents can use and reviews and ratings AI agents can read.

← All articles Test your site with AgentScore →

Can AI agents use your site?

Get your free AgentScore in under a minute. No sign-up needed.