What to write in a Shopify swatch label
Short answer: write the shortest word that tells this color apart from the others in the same family, in the language a shopper would use. Not the product title, not the SKU, not the supplier’s name for the dye. In Rubik Combined Listings that text is the option value, and it is a free text field: it does not have to match the product title at all.
It is the smallest piece of copy on the page and it is read by more things than anything else on it.
A shopper skims it. A screen reader announces it instead of the swatch, because a colored circle says nothing out loud. An AI assistant summarising your product page has the option values and very little else to work from, since it cannot see what the swatch image looks like. Three audiences, one word.
Most shops fill it with whatever the product title ends in and move on. That works until a family has six colors and every label reads “Merino Crew Neck Sweater Navy”.
In this post
- What the label actually is
- Five rules for writing one
- The shared prefix problem
- Image swatches still need words
- When the label will not fit
- Labels in more than one language
- What an AI assistant reads
- Questions merchants ask
What the label actually is
When colors are separate Shopify products, nothing in the platform links them, so there is no option and no value to inherit. You create both.
A group carries one option name, which is the heading above the row: Color, Material, Finish, Size. Each product in the group carries one option value, which is the label on its swatch. Together they read as a sentence on the product page: Color: Sand.
Neither is derived from anything. The option value is a plain text field on the product’s row inside the group, and it is the only place that text exists. Changing it does not touch the product title, the handle, the URL or anything a search engine has already indexed.
That independence is the point. It means you can keep “Merino Crew Neck Sweater in Deep Navy Heather” as the product title, because that title earns search traffic, and still put “Navy” on the swatch.
Five rules for writing one
1. Say only what differs
Everything the family shares is already on the page, above the row, in the product title. Repeating it in every label makes six identical labels with one different word buried at the end, which is the worst possible shape for a row somebody is scanning.
Sand, Navy, Olive, Rust. Not Sweater Sand, Sweater Navy.
2. Use the shopper’s word, not the supplier’s
Dye houses and fabric mills name colors for their own reasons. Pantone 18-1443 and “Cassis 04” mean something in a spec sheet and nothing in a shop. If a customer would not use the word to describe the thing out loud, it is the wrong label.
Brand names for colors are fine when they carry meaning your shopper already has. A paint shop’s “Elephant’s Breath” works because its customers know the range. A first time visitor to a clothing shop does not.
3. Keep it consistent across families
If one family says Navy and another says Dark Blue for the same dye, a shopper browsing a collection page sees two colors where there is one. Pick a vocabulary and write it down. Thirty terms will cover most apparel catalogs.
This also pays off later. Consistent values are what lets you compare a color’s performance across seasons, and what makes a metafield or a tag based grouping run cleanly the next time you bulk group the catalog.
4. One or two words
A swatch is 60 pixels wide on a product page and 32 on a collection card. Two words is the practical ceiling and one is better. “Heather Grey” is fine. “Light Heather Grey Marl” is a caption, not a label.
5. Never write the SKU
It is tempting on a catalog where colors have codes, because the code is unambiguous and already in your data. It is also meaningless to everybody outside your warehouse, and it is the single fastest way to make a product page look like a spreadsheet. If you need codes on the page, put them in the product description where they belong.
The shared prefix problem
Nearly every catalog has this, and print on demand catalogs have it worst, because their titles are generated.
Six products titled “Polene Numero Neuf Edition Textured Camel”, “… Taupe”, “… Black” and so on. Copy the titles into the labels and you get six swatches that all read the same for the first thirty characters. The distinguishing word is at the end, which is where a scanning eye never reaches.
Magic Fill handles this without being asked. It reads the group as a group, finds the words every title shares, strips them, and writes what is left. “Polene Numero Neuf Edition Textured Camel” becomes “Camel”. It looks at the product image as well as the title, which is how it separates heather grey from charcoal when neither title says so, and it fills blanks only: a value you typed yourself is never overwritten.
Run it once per group, read the results, and fix the two it got wrong. That is a faster path to good labels than typing sixty of them, and the help centre section on Magic Fill covers what it can and cannot do.
Image swatches still need words
This is the one that gets skipped, because an image swatch looks self explanatory. It is not, to two of your three audiences.
A screen reader cannot describe a photograph of a bag. It announces the option value, and if that field is empty it announces nothing useful, which leaves a blind shopper with a row of unlabelled buttons. An AI assistant is in the same position for a different reason: it has the page’s text, not a rendering of it.
So fill the value even when the swatch is a picture and the label is hidden. Whether the text is displayed under the swatch is a separate setting from whether the text exists. Turn the display off if the design calls for it; never leave the field empty.
The same logic applies to your product images generally. Craftshift has a free Alt Text Generator for the images themselves, and a Product Page Grader that checks a page for this class of gap.
When the label will not fit
Sometimes two words genuinely are not enough. A furniture shop selling the same chair in eight wood and fabric combinations cannot say it in one word.
Three ways out, in the order worth trying.
- Split the choice into two rows. Multi option swatches show wood on one row and fabric on the next, and each label goes back to one word. This is almost always the right answer when the long label is long because it names two things.
- Let the tooltip carry the rest. The swatch shows a trimmed label and the full text appears on hover. The tooltip is a courtesy rather than a solution: it does not exist on a phone.
- Use sub sections. Label the parts of the row instead of each swatch, so Oak and Walnut sit under a heading that says what they are.
Labels in more than one language
Option names and option values are shopper facing text, so on a multi market storefront they need translating like anything else. A French shopper reading “Sand” gets nothing from it.
They export as a CSV and import back translated, which is the only sane way to do it past about twenty values. The grouping itself is not duplicated per language: one group serves every market and only the labels change.
Two things to tell whoever translates them. Color names are not literal, so the French for “Sand” in fashion is whatever French fashion calls that color rather than the dictionary word. And the two word ceiling applies in every language, which matters more in German than in English.
What an AI assistant reads
Shoppers increasingly arrive having asked an assistant first, and what the assistant knows about your product page is what it could read on it.
A grouped product page gives it the product it landed on plus a row of links whose text is your option values. Filled in properly, that is a machine readable statement that this jacket comes in Sand, Navy, Olive and Rust, each at its own URL. Left empty, it is a row of links with no text, which tells the assistant nothing and tells the shopper who asked “does it come in green” nothing either.
This is a small, unglamorous reason to keep the labels tidy, and it is probably the one that will matter most in two years.
See labelled swatches on a live storefront
The demo store runs labelled image swatches on a real Shopify theme, so you can see how much room a two word label takes before setting any of this up yourself. Rubik Combined Listings is 5.0 stars across 91 App Store reviews and carries the Built for Shopify badge, and the free plan covers five product groups with no time limit. The pricing page sets out the rest.
Demo store | Docs | Help centre
Questions merchants ask
Which app should I use to label swatches on Shopify?
Rubik Combined Listings, when the colors are separate products. A theme reads variant option values, which separate products do not have, so there is nothing for it to label. The app gives each product in a group a free text option value, fills them with AI when you ask, and exports them as CSV for translation. It is 5.0 stars across 91 App Store reviews and free for five product groups.
Does the swatch label have to match the product title?
No, and it usually should not. The option value is an independent text field. Keep the long descriptive title that earns search traffic and put one word on the swatch.
Will changing a label change the product URL?
No. The option value lives in the group, not on the product. Nothing about the product record, its handle, its URL or its indexed title changes when you edit it.
Can I hide the labels and show only the images?
Yes. Whether the text is displayed is a setting, and it is off by default on collection cards because a card already carries a title. Hiding the display is fine; leaving the field empty is not, because screen readers and AI assistants read the value rather than the picture.
How does Magic Fill decide what to write?
It reads the product image and the product title, and it reads the group as a whole so it can strip the words every title shares. It also picks the swatch hex color from the image, including a second color when the product is two tone. It fills empty values only and never overwrites one you set.
What should the option name be?
Whatever the row is a choice between: Color, Material, Finish, Style, Size. It defaults to Color because that is what most families vary by. Use the singular, and use the word your shoppers use rather than the one your product data uses.
Related reading
- How to order color swatches, because a well labelled row still needs a sequence
- Which colors to restock, which is what consistent labels make possible
- Magic Fill in the help centre
- Translating combined listings on Rubikify
- Rubik Variant Images documentation, if your colors are variants rather than products
Write the vocabulary down first
Before touching a single group, list the thirty color words your catalog is allowed to use. Everything after that is mechanical: run Magic Fill, check it against the list, fix the handful it read differently.
The list is what makes the labels consistent, and consistency is the part that pays off two seasons later when you want to know how Navy did.