Product vertical
Jewellery and watches
Jewellery sits inside the Apparel & Accessories branch of the Google taxonomy, which means it inherits the apparel requirements: colour, size, gender and age group, on products where none of those feel natural. Ring sizing and material are where the real work is.
Categories this covers
The Google product taxonomy branches these rules apply to. Match your own products against these paths before assuming the extra requirements are yours.
- Apparel & Accessories > Jewelry
- Apparel & Accessories > Jewelry > Rings
- Apparel & Accessories > Jewelry > Watches
- Apparel & Accessories > Jewelry > Necklaces
- Apparel & Accessories > Jewelry > Earrings
Attributes this vertical changes
These sit on top of the attributes every feed needs. A requirement shown here applies because of the category, not because of the channel.
| Attribute | Requirement here | Why |
|---|---|---|
| color | Required | Required through the apparel rules. For jewellery the useful value is the metal colour, so gold, silver or rose gold rather than the marketing name of the finish. |
| size | Required in some cases | Required where the item is sized, which covers rings and most bracelets. A ring size is meaningless without the system it belongs to, so it travels with size_system. |
| size_system | Recommended | A UK ring size N is not a US 7. Without the system, a sized ring is ambiguous in exactly the way that produces returns. |
| gender | Required | Required through the apparel rules even where a piece is genuinely unisex. Unisex is a valid answer, but it has to be stated rather than omitted. |
| age_group | Required | Also inherited from the apparel rules. Adult is correct for most catalogues, with children's ranges declared explicitly. |
| material | Recommended | Sterling silver, 9ct gold, stainless steel. This is the attribute shoppers filter on hardest in this vertical, and it is often the deciding factor. |
| item_group_id | Required | Metal, stone and size variants only work as a picker when grouped, and a jewellery product typically varies along two of those at once. |
| identifier_exists | Required in some cases | Handmade and bespoke pieces have no manufacturer barcode, so this is the honest declaration. Branded watches do have one, and the two cases often sit in the same catalogue. |
What catches jewellery and watches stores out
A jewellery store is an apparel store to the taxonomy
The colour, size, gender and age group requirements attach to the Apparel & Accessories branch, and jewellery is inside it. A store that has never thought of itself as fashion gets apparel disapprovals, which is confusing enough that the cause is often missed entirely.
Ring sizes need their system stated
UK sizes are letters, US sizes are numbers, EU sizes are circumference in millimetres. The same ring is N, 7 and 54 depending on where you are. Sending the number without the system is the most expensive ambiguity in this vertical, because the return is a resize rather than a refund.
Metal colour and finish name are different things
Catalogues describe finishes as Champagne, Antique Brass or Brushed Rhodium. Those belong in the title. The colour attribute wants gold, silver or grey so filtering works, and keeping both means a shopper can search the finish and filter the colour.
Branded and handmade stock need opposite identifier handling
A catalogue that sells both branded watches and its own handmade pieces needs gtin for one and identifier_exists set to no for the other. Applying either rule to the whole catalogue breaks the half it does not fit, and this mixture is the normal case rather than an edge case.
High-value items attract additional scrutiny
Expensive jewellery invites more review, and counterfeit policy applies to brand claims. A brand value taken from an unreliable vendor field is a genuine risk here rather than a data-quality nuisance, so brand should be mapped deliberately.
Where these values come from in Shopify
Shopify has a field for some of these and nowhere to put the rest. Both cases are worth knowing before you start mapping.
- size
- From the ring or bracelet size variant option, read by option name. Keep the value exactly as the store sells it and state the system separately.
- size_system
- Normally a static value per market, since a store sizes in one system. Multi-market stores need it per generated feed rather than per product.
- color
- From the metal or finish variant option, normalised to a real colour. The original finish name stays in the title.
- material
- From a metafield where one exists, otherwise from the metal variant option, which usually names the material as well as the colour.
- gender
- Not a Shopify field. Derived from collection membership or a tag, defaulting to unisex where a range is genuinely for everyone.
Frequently asked questions
Does a jewellery feed really need gender and age group?
Yes. Jewellery sits in the Apparel & Accessories branch of the Google taxonomy, so it inherits the apparel requirements. Unisex and adult are valid values, but they have to be stated rather than left out.
How should ring sizes be submitted?
As the size value together with size_system, because the same ring is N in the UK, 7 in the US and 54 in the EU. The size alone is ambiguous in a way that produces resizes rather than returns.
What colour should I send for gold jewellery?
A recognisable metal colour such as gold, silver or rose gold, so filtering works. Keep marketing finish names like Antique Brass in the title, where shoppers actually search for them.
How do I handle a catalogue with both branded watches and handmade pieces?
Per product rather than per catalogue: gtin from the barcode for the branded stock, and identifier_exists set to no with brand and mpn for your own pieces. A single rule for everything breaks whichever half it does not fit.
Attributes involved
- item_group_id The item_group_id attribute groups the rows that are variants of the same product, so a channel can show one listing with a size or colour picker instead of several unrelated listings. On Shopify the natural source is the product ID, shared by every variant row generated from that product.
- identifier_exists The identifier_exists attribute is an explicit declaration that a product has no manufacturer-assigned identifiers, set to no when a GTIN, MPN and brand genuinely do not exist for the item. It is a statement about the product, not a way to silence identifier warnings, and channels treat misuse as a data quality problem rather than a resolution.
- brand The brand attribute is the name of the brand a product belongs to, and it is what makes a manufacturer part number meaningful and a listing eligible for brand-based matching. On Shopify it maps most often from the vendor field, which is unreliable because merchants commonly use vendor to record a supplier or distributor rather than the consumer-facing brand.
- gtin The gtin attribute is the globally unique barcode number a manufacturer assigns to a product, covering UPC, EAN, JAN and ISBN formats. Channels use it to match an item against the same product sold elsewhere, and on Shopify it comes from the variant's barcode field, which is optional in the admin and therefore frequently empty.
Errors this vertical runs into
- Missing value: GTIN The "Missing value: GTIN" issue means a channel believes a product has a manufacturer-assigned barcode but the feed did not supply one. On Shopify it almost always traces back to the variant barcode field, which is optional in the admin and therefore left empty across large parts of most catalogues.
- Missing value: brand The "Missing value: brand" issue means a channel expects a brand name for a product and the feed did not supply one, or supplied a placeholder it treats as empty. On Shopify it usually means the vendor field is blank, or holds a supplier or internal category rather than the brand a shopper would recognise.
Related concepts
- Variant-level feed A variant-level feed emits one row for each purchasable variant rather than one row per product, because sales channels treat every size, colour and material as a separately buyable item with its own price, stock and barcode. A Shopify product with four sizes in three colours is one product in the admin and twelve items to a channel.
- Product identifiers Product identifiers are the values that let a sales channel recognise that your listing and someone else's describe the same physical product: a GTIN, or a manufacturer part number together with a brand. They matter because a channel that can identify a product can attach reviews, specifications and competing offers to it, and one that cannot has to treat your listing as an unknown object.
Channels this applies to
- Google Shopping Google Shopping is the surface where Google displays product listings from a merchant's catalogue, fed by a product feed uploaded to Google Merchant Center. Google's product data specification is the most detailed of the major channels, and the one whose attribute names the other channels tend to borrow.
- Meta Meta's product catalogue is the data source behind Facebook and Instagram Shops, Advantage+ catalogue ads and dynamic retargeting, populated by a product feed uploaded to Commerce Manager. Its attribute names largely mirror Google's, but its accepted values and its handling of variants differ enough to break a feed copied straight across.
- Microsoft Advertising Microsoft Advertising runs product ads across Bing, Yahoo and the Microsoft Audience Network from a catalogue uploaded to Microsoft Merchant Center. Its feed specification is closely modelled on Google's, which makes it the cheapest additional channel to launch once a Google Shopping feed already exists.
- Pinterest Pinterest turns an uploaded product feed into Product Pins, which are shoppable pins that carry live price and availability from the catalogue. Its feed specification borrows Google's attribute names, and its distinguishing requirement is that every item needs a genuinely usable image, because the image is the entire unit of discovery on Pinterest.
Primary sources
Channel specifications change. These are the official documents this page is based on.