Most fashion stores have already done the hard part. The photography is good, the descriptions are written, the products are live. What is missing is the boring layer underneath: the structured attributes that tell Google and Meta what each garment actually is. Catalog enrichment is the work of filling that layer in, and it is the single highest leverage product data project a Shopify fashion brand can run right now.
This is a process, not a one click fix. Below is the exact sequence we use, including the setup step most guides skip, and the guardrails that keep an automated pass from quietly corrupting two thousand products.
Before you start, it helps to know what is actually missing. Running a Meta catalog audit and a Google Merchant Center audit first will tell you which fields to prioritise instead of enriching everything at once.
What an enriched fashion catalog actually looks like
There are two layers to get right, and they are not the same thing.
The first layer is the channel requirement. Google requires color, size, gender, and age group for anything in Apparel and Accessories, and it uses material and pattern to decide which queries you match. Variants of the same style have to share one item group ID. Meta needs the core fields to accept an item at all, then leans on size, color, age group, material, and pattern to group variants and to give Advantage+ something to optimise against. Miss these and you do not always get a disapproval. You get quiet ineligibility, which is much harder to notice.
The second layer is category specific, and this is where fashion gets interesting. Shopify's Standard Product Taxonomy unlocks a different set of attributes depending on what the product is. Assign a product to Apparel and Accessories > Clothing > Clothing Tops > Shirts and Shopify surfaces category metafields for size, neckline, sleeve length type, top length type, age group, fabric, target gender, clothing features, and color. A sweater surfaces different ones, including how the front closes. A t-shirt has no closure attribute at all, but it does have a neckline. A pair of trousers has rise and inseam and neither of the other two.
That is the whole problem in one sentence. There is no single list of fields to fill. The list depends on the category, and nobody wants to look it up product by product for a catalog of two thousand items.
So you build the list once, then let a workflow apply it.
Step 0: Connect Shopify's official MCP to Claude
None of the following works if the model cannot see your store. Skip straight to prompting and you will spend the next hour copying CSV exports back and forth.
Shopify maintains an official connector for Claude, built and maintained by Shopify itself. You do not install or host anything, and you do not need an API token. In Claude, open Settings, then Connectors, find Shopify in the directory, and follow the authorisation flow. The connector listing lives at claude.com/connectors/shopify, and Shopify documents the same flow, including which permissions it asks for, at help.shopify.com/en/manual/apps/connecting-ai-tools.
Two things to check during setup. First, you are approving a permission level, so read what you are granting. Start read only if this is your first pass and add write access when you are ready for step 4. Second, this is not the same as Shopify's Dev MCP. The Dev MCP serves API documentation and schema validation to coding agents and never touches your live store. For catalog work you want the merchant connector that reads real products.
Once it is connected, ask it something small and verifiable, like how many products are in a specific collection. If the number matches your admin, you are ready.
Step 1: Build the rubric before you touch a single product
The rubric is a table with one row per product category and one column per attribute that category requires. It is the reference the rest of the workflow reads from, and it is the only part of this project you should build slowly.
Pull it from three places:
- Shopify's Standard Product Taxonomy. This gives you the category tree and the category metafields each node unlocks, plus the default value entries. It is published openly, which means you can hand the source to an agent and have it extract the apparel branch rather than typing it out.
- Google's product data specification. This tells you which attributes are required for Apparel and Accessories in the countries you sell to, and which values are accepted. Gender takes male, female, or unisex. Age group takes adult, kids, toddler, infant, or newborn. Nothing else passes.
- Meta's catalog field reference. Overlapping but not identical. Meta is stricter about unique IDs, brand, and currency formatting, and it uses material and colour for audience segmentation rather than query matching.
Your finished rubric should look something like this, one row per category:
| Category | Required by channel | Category attributes | Fillable from image |
|---|---|---|---|
| Shirts | color, size, gender, age group | neckline, sleeve length type, top length type, fabric, clothing features | neckline, sleeve length, pattern, color |
| Sweaters | color, size, gender, age group | closure type, knit pattern, neckline, fabric | closure type, neckline, pattern, color |
| Trousers | color, size, gender, age group | rise, fit, inseam, leg style, fabric | fit, leg style, color |
That last column matters more than it looks. It is your honesty check: it separates what a photo can genuinely support from what has to come out of your tech pack. We will come back to it in step 4.
You can build this rubric by hand, or you can point an agent at the taxonomy and the two channel specs and have it produce the table. Either way, review it yourself. Everything downstream inherits its mistakes.
Step 2: Pull the catalog, including the images
Now use the connector to export what you have. For each product you want the ID, handle, title, current category assignment, current metafield values, variant options, and the image URLs.
Two details make the difference between a clean run and a painful one.
Pull the current values, not just the empty slots. You need to know what is already filled so the workflow can skip it, and so you can tell later what changed. A product with neckline: crew already set should not be touched.
Work in batches. Shopify's API is rate limited, and a catalog of a few thousand products with multiple images each is a lot of calls. Batches of fifty to a hundred products keep you well inside the limits and make a failed batch cheap to retry.
At the end of this step you have a working file, not a change. Nothing has been written yet.
Step 3: Let the model assign the category from the photo
This is the step that unlocks everything else, because the category determines which attributes apply.
Send the product images plus the title to the model, along with the category list from your rubric, and ask for the single best matching category. Ask for the answer as structured data rather than prose: category path, a confidence score, and a one line reason.
The reason field is not decoration. When you review a hundred assignments, reading why the model chose a category is how you spot systematic errors fast. If it is calling every longline shirt a dress, you will see it in the reasons before you see it in the data.
Anything below your confidence threshold goes to a human queue. In a fashion catalog that queue is usually small and predictable: shirt dresses, tunics, co-ord sets, anything oversized where the silhouette is ambiguous. Everything else is straightforward, because a photograph of a garment is exactly the kind of input a vision model handles well.
Do not write categories back to the store in this pass. Classify, review, then write.
Step 4: Fill the attributes that category requires
Now run a second pass. For each product, look up its confirmed category in the rubric, take the list of attributes that category requires, and generate a value for each one.
Three rules keep this trustworthy.
Generate from the allowed values only. Category metafields have defined entries. The model should be choosing from that list, not inventing free text. A neckline value of "sort of a scoop" is worse than an empty field, because it looks filled while remaining unusable.
Only fill what the evidence supports. This is where the last column of your rubric earns its place. Neckline, sleeve length, closure type, pattern, and color are visible. Fabric composition and care instructions are not. If the model cannot see it and your product data does not contain it, the field stays empty and goes on a list for your product team. Inventing a fabric composition is not a data quality issue, it is a labelling claim.
Write in reversible batches. Log the product ID, the field, the old value, and the new value for everything you touch. Write fifty products, spot check ten, then continue. If something is wrong, the log is your undo button.
When you are done, the Google and YouTube and Facebook and Instagram sales channels pick the new values up on their next sync, because they read your product data rather than a separate feed you maintain by hand. That is the reason to fix this at the Shopify level instead of patching it inside a feed tool: you do it once and every channel benefits.
How to tell whether it worked
Resist the urge to open Ads Manager the next morning. Attribution noise will tell you a story that has nothing to do with what you changed, and 2026 has been a bad year for reading ROAS at face value.
Look at these instead, in this order:
- Item issues. Merchant Center diagnostics and Meta Commerce Manager diagnostics should show fewer affected items. This is immediate and unambiguous.
- Coverage and impressions. Products that were previously ineligible start appearing. If items that never served are now getting impressions, the fix landed. This is also the mechanism behind products that never showed on Google Shopping in the first place.
- Actual incrementality. If you want to know whether the enrichment moved revenue rather than reporting, hold a matched group of products back and compare. We wrote a full guide to running a catalog holdout test without fooling yourself, because this is the only honest way to answer the question.
Sources
- Shopify Help Center, category metafields and Shopify's Standard Product Taxonomy. Documentation of category specific product attributes, including the shirt example covering size, neckline, sleeve length type, top length type, age group, fabric, target gender, clothing features, and color.
- Shopify Help Center, connecting AI tools, and the Shopify connector listing in Claude's connector directory.
- Google Merchant Center Help, product data specification and best practices for advertising clothing and accessories. Requirements for color, size, gender, age group, material, pattern, and item group ID.
- Meta Commerce Manager, catalog field requirements and diagnostics documentation.
Start by finding out what is missing
The process above is worth running on the fields that are actually hurting you, not on all of them at once. So start with a diagnosis.
SixFit Catalog Checkup is a free Shopify app that reads your catalog, scores your Google and Meta readiness out of 100, and lists the exact fields that are missing along with how many products each gap affects. It takes a few minutes and it turns "our data is probably fine" into a prioritised list.
If you want to run the workflow yourself, our Claude skills are open source. Grab them from our GitHub repo, point them at your store, and go.
Frequently asked questions
- What is catalog enrichment in ecommerce?
- Catalog enrichment is the work of filling in the structured product attributes that channels and search engines read, rather than the marketing copy shoppers read. For a fashion store on Shopify that mostly means category metafields such as neckline, sleeve length type, fabric, target gender, age group, size, and color. An enriched catalog is one where every product carries the attributes its category requires, using consistent values across the whole store.
- Which product attributes does Google require for apparel?
- Beyond the core fields every product needs, Google requires color, size, gender, and age group for products in Apparel and Accessories, and it uses material and pattern heavily for matching. Variants of the same style must share one item group ID. Missing any of the apparel attributes limits eligibility rather than always producing a hard disapproval, which is why the damage often goes unnoticed.
- Can Claude read my Shopify products directly?
- Yes, through Shopify's official connector for Claude. Once you connect it, Claude can read products, variants, images, collections, inventory, and analytics from your store, and write changes back if you grant write access. It is built and maintained by Shopify, so you are not creating an API token or handing your admin credentials to a third party tool.
- Is it safe to let AI write to my Shopify catalog?
- It is safe if you stage it. Run the first pass read only, review the proposed values for a sample of products before anything is written, write in small batches, and keep a change log of the old and new value for every field you touch so you can revert. The risk is not that the model breaks your store, it is that a wrong value gets applied consistently across two thousand products.
- Can AI work out fabric composition from a product photo?
- No, and it should not try. A photo can support visual attributes such as neckline, sleeve length, closure type, pattern, and color with high accuracy. Fabric composition and care instructions come from your tech pack or supplier data. Guessing them creates a compliance problem, not just a data problem, so leave the field empty and fill it from the source.
- Do Shopify category metafields actually reach Google and Meta?
- Yes. Category metafields map to Shopify's Standard Product Taxonomy, and the Google and YouTube and the Facebook and Instagram sales channels read them when they build your feed. That is why filling them at the product level is more durable than patching values inside a feed tool: fix it once in Shopify and every channel that reads your catalog benefits.
- How long does this take for a catalog of a few thousand products?
- The rubric takes an afternoon and you only build it once. Classification and attribute generation run in batches, so the constraint is review time and API rate limits rather than model speed. Most teams can process a few hundred products a day comfortably while keeping a human in the loop on anything the model flagged as uncertain.
