WooCommerce
WooCommerce product attributes AI assistants actually use
AI assistants match shoppers' questions against size, material, color and capacity. Which WooCommerce attributes to add, and how they reach your product data.
By the shoptoai team, updated Oct 6, 2026
People ask assistants precise things. "A moisturizer for dry skin, 50 ml, fragrance free." "A tent for two people under 2 kg." "A navy cotton shirt in size M." Each question works like a filter. To answer it, an assistant has to match the filter against your product, and that is easiest when the facts sit in named fields: volume, skin type, scent, weight, size, color, material.
Most stores already have these facts. They're in the description, sometimes in the title, sometimes in a spec sheet PDF. A person reads the description and finds the answer. A machine has to pull it out of the prose, and it doesn't always bother.
In our October 2026 scan of 96 Polish WooCommerce stores we checked one product page per store. Of the 76 pages that had Product data at all, 49 (64%) had no attributes, neither in the structured data nor as a table on the page.
Global, local and variation attributes
WooCommerce has two kinds of attributes, and it's worth using both on purpose.
Global attributes are created under Products, then Attributes. You define "Color" or "Size" once, add the values (navy, white, S, M, L) and reuse them across products. The values stay identical across the store, so "navy" and "Navy blue" don't drift apart. Use global attributes for anything shoppers filter or compare by. Write the values the way a shopper would search for them, so "dry skin" rather than an internal code.
Local attributes belong to a single product. You type them on that product's Attributes tab. They suit a one-off detail such as "In the box: charger", but they can't be reused, and nothing keeps their spelling consistent.
Variations are a separate thing. When a product comes in several sizes or colors, mark those attributes as "Used for variations" and create a variation for each combination. Each variation can carry its own SKU, price and stock. Keep the axes to two or three per product, since more than that makes the choice hard for shoppers. This also matters for structured data: a product with variations can be described as a group, and Google uses size, color, material and pattern to tell variants apart.
How attributes reach the structured data
Shoppers see attributes in a table. An AI assistant reads the Product block in JSON-LD. Schema.org has no single field for "volume" or "skin type", so attributes go into additionalProperty, a list of name and value pairs:
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Seats", "value": "2" },
{ "@type": "PropertyValue", "name": "Weight", "value": "1.9 kg" }
]The shoptoai WordPress plugin (shoptoai-connector) injects the Product block for each product. Our backend builds that block from your catalog data, and the plugin also silences duplicate Product blocks from WooCommerce and Yoast. Attributes from your product card end up in the block as additionalProperty. If another SEO module on the site still prints its own Product block, the assistant gets two conflicting ones, so check the page after any plugin change.
For variants, the group lists variesBy, the axes it varies on. Only size, color, material and pattern can appear there, and only when at least two variants share that attribute.
A short checklist per product type
- Clothing: size and color as global attributes used for variations, material with the percentage in the value ("100% cotton"), cut or fit.
- Cosmetics: volume in ml or g, skin type, scent or fragrance free, and the key ingredients from the label.
- Electronics: capacity or power, dimensions, weight, connector type, warranty length.
- Furniture: dimensions in cm, frame and top material, maximum load, whether assembly is needed.
- Food: net weight or volume, allergens, a short ingredient summary.
The rule is the same everywhere: enter only what you can check on the packaging or the spec sheet. Start with the two or three facts shoppers ask about most in your category, then add the rest. When a supplier sends new specs, fix the term once in the global attribute instead of on every product.
How to check the result
Paste the product URL into validator.schema.org or Google's Rich Results Test. Look for a Product item, or a ProductGroup for products with variants. Each attribute you filled in should appear as an additionalProperty entry. If one is missing, the field is usually empty in WooCommerce or the value never reaches the plugin. Check several products, not just one, because a missing attribute tends to repeat across a catalog. The validator shows what a parser sees, not what a shopper sees, so compare the Product block with the attribute table on the page. If they disagree, the data is out of date, and that's the first thing to fix. Recheck after any update to WooCommerce or your SEO plugin, since a new version can add a second Product block next to ours.
Where shoptoai fits in
Once you connect your store, shoptoai flags products without attributes and suggests values for them. You approve or reject each suggestion, and the old value is saved, so any change can be rolled back. We never make up GTINs. We also don't promise a place in ChatGPT answers, because the model decides what goes into an answer. Good attributes simply let it read your product and compare it with others without guessing. The free scan takes about 30 seconds and needs no account, so you can see the gaps on one page before you change anything else.
If you're starting from scratch, begin with how to get ChatGPT to see the products in your WooCommerce store. It covers the order of fixes: Product data first, then brand, GTIN and attributes. For the structured data itself, see our article on Product JSON-LD.
Common questions
Do I need to fill in every attribute?
No. Fill in the ones shoppers filter by in your category. A few accurate values beat a long list of guesses.
Global or local attributes?
Global for anything you compare or filter across products. Local for one-off details that don't repeat in your store.
Will attributes move my store up in ChatGPT answers?
Nobody can promise that. Attributes help the assistant read and compare your product, but the model decides what goes into an answer.