Notes / Article

Product copy is a data problem before it is a writing problem

A description generated from three attributes reads like a description generated from three attributes. Measure catalogue coverage, fill the useful gaps, then generate.

Generated copy cannot recover product facts that the catalogue does not contain. A model can make a sentence fluent, but fluency does not establish the material, fit, dimensions, care method, compatibility, or package contents.

That makes description work a data task first. The useful starting question is not “Which prompt writes better copy?” It is “Which attributes are available for this product, and which missing attributes matter to a buyer?”

Generation should compress verified product data into readable copy. It should not fill catalogue gaps with plausible detail.

Measure coverage before writing

Attribute coverage is the share of products in a defined catalogue segment that contain a usable value. The segment matters. A size attribute can be essential for furniture and irrelevant for a digital product.

A simple coverage calculation is enough to find weak inputs:

coverage(attribute) = products_with_usable_value / products_in_segment

The word usable needs a rule. Blank strings, boilerplate such as “N/A,” and internal codes that a buyer cannot interpret should not count as complete values.

Attribute Why it carries description value Check before generation
Material Explains construction and care Is the value specific and verified?
Dimensions Helps fit and compatibility decisions Are units present and consistent?
Intended use Sets the product’s practical boundary Is it a fact rather than a slogan?
Compatibility Prevents incorrect purchases Are supported models explicit?
Care Explains maintenance Does the source exist in catalogue data?
Package contents Sets delivery expectations Are quantities and components current?

Coverage does not rank every attribute equally. Product type and buyer task decide which fields carry the most value.

Start with the catalogue segment

Do not calculate one score across an entire store unless every product shares the same schema. Group products by a stable category, product type, or collection used for catalogue operations. Then define the attributes expected for that group.

For each segment:

  1. List the facts buyers need to compare products.
  2. Map those facts to standard fields or metafields.
  3. Mark values that are missing, vague, or inconsistent.
  4. Resolve high-value gaps before generating descriptions.
  5. Keep unsupported attributes out of the prompt.

This sequence reduces rewrites. The generated description changes when the source record changes, not because a new prompt happened to choose different filler.

A source packet, not a blank prompt

Product AI can assemble a bounded source packet from catalogue fields. The packet should distinguish facts from instructions and should omit empty values.

{
  "product": {
    "title": "Desk shelf",
    "material": "powder-coated steel",
    "width_mm": 800,
    "care": "wipe with a dry cloth"
  },
  "instruction": "Write one factual paragraph. Do not add missing claims."
}

The instruction controls form. The product object controls substance. If maximum_load_kg is absent, the description does not contain a load rating. If finish data is inconsistent, the task returns to catalogue cleanup.

Keep facts attributable

Review becomes faster when each sentence can be traced to one or more source fields. A generated paragraph does not need inline citations on the storefront, but the admin workflow should preserve the source packet used to create the draft.

That separation supports three decisions:

  • Accept a sentence because its supporting values are current.
  • Edit wording without changing the underlying product facts.
  • Reject a sentence that overstates or combines incompatible values.

The generated text remains a draft until the merchant saves it to the selected destination.

Catalogue-to-copy pipeline A catalogue segment is checked for attribute gaps, completed by an operator, and then used to generate and review product copy. Segment products Measure coverage Fill useful gaps Generate draft Review and save
Generation begins after the catalogue has enough verified input for the product type.

Write to a destination the merchant owns

The destination should match the store’s publishing workflow. Some teams replace the product description. Others keep generated copy in a dedicated metafield and render it through the theme. The second option makes comparison and rollback clearer during adoption.

In either case, a generation run should report what it used and where it wrote. A practical record includes the product ID, source-field snapshot, destination, and review state. It does not need to preserve hidden reasoning or turn the catalogue into a prompt archive.

The durable improvement is not a more elaborate prompt. It is better attribute coverage and a repeatable boundary between verified facts, generated wording, and merchant approval.

Related app

Product AI

Writes product descriptions from the catalogue data you already hold, and keeps them in metafields you own.