For
Google Shopping feeds for jewelry
Jewelry feeds have two problems most catalogs do not. Much of what independent jewelers sell is handmade or one of a kind, so there is no GTIN to send, and the attributes shoppers actually filter by (metal, stone, carat, ring size) are buried in titles and descriptions. A Google Shopping feed for jewelry works when it declares the missing identifiers honestly and pulls the metal, stone and size into fields and titles. Here is how, from a single studio to a multi-brand retailer.
We connect your store, build the feed and keep it in sync. Updated 2026-10-27.
At a glance
- Handmade, custom and one-of-a-kind pieces, and vintage pieces made before GTINs, can send identifier_exists = no; Google lists 'custom goods or one-of-a-kind products' and 'handmade goods' as examples.
- Only use no when you are certain: if Google finds an identifier exists for that product, the item gets a warning. Branded pieces with barcodes should send gtin and brand.
- Jewelry sits under Apparel & Accessories in Google's taxonomy, so free listings need gender, age_group and color; ring sizes are variants with size and item_group_id.
- We set up Textfinity to set identifier_exists by rule, build metal-and-stone titles from your data, and publish Google, Meta, Pinterest and Microsoft feeds from one source.
The GTIN question in a jewelry product feed
Google's identifier_exists attribute exists for exactly the pieces many jewelers sell. Its help page lists custom goods and one-of-a-kind products, art and handmade goods, and products made before GTINs (vintage and antiques) as items that may have no unique product identifier. For those, send identifier_exists = no and leave gtin and mpn empty; brand can still be your studio name. Microsoft Advertising follows the same logic with a boolean: identifier_exists = FALSE for custom handmade and vintage products.
The rule cuts both ways. If the piece is manufactured and carries a barcode (branded watches, mass-produced fashion jewelry, licensed charms), Google expects the GTIN, and an item marked no that Google can match to an identifier gets a warning. A mixed catalog therefore needs a rule, not a static value: no when the GTIN is empty and the item is your own make, the GTIN otherwise.
identifier_exists by rule
if [gtin] is empty
then "no"
else "yes"
(use your source's barcode column:
[variant_barcode] on Shopify)Attributes and title formulas for jewelry
| Piece | Title formula | Example |
|---|---|---|
| Ring | Brand + metal + stone + style + carat + size | Aurel 14k Yellow Gold Sapphire Solitaire Ring, 0.5 ct, Size 7 |
| Necklace | Brand + metal + pendant + chain length | Aurel Sterling Silver Moonstone Pendant Necklace, 18 in |
| Earrings | Brand + metal + stone + style | Wren Studio Recycled Gold Pearl Drop Earrings |
| Bracelet | Brand + material + style + length | Wren Studio Hand-Forged Copper Cuff Bracelet, 7 in |
Put metal and stone in the first 70 characters; Google allows 150. Use material for the metal (Google allows a primary and up to two more, separated by /), color for the metal color, and size for ring sizes or chain lengths.
Gender, age group and variants for jewelry
Google's taxonomy puts Jewelry under Apparel & Accessories, and its spec makes gender, age_group and color required for free listings of Apparel & Accessories products. Most jewelers send adult and either female or unisex; a store with a men's line derives gender from the product type. Color is the metal color for most pieces (Yellow Gold, Silver, Rose Gold).
Rings sold in sizes 5 to 9 are variants: one id per size, the same item_group_id across them, the size in size and in the title. Necklaces sold in chain lengths work the same way. Google requires size for any product available in multiple sizes, so a ring style without size on each variant reads as duplicate offers.
Channel mix and catalog size for a jewelry store
Google Shopping and free listings catch searches like 'sapphire engagement ring 14k', and Microsoft Ads takes nearly the same feed. Jewelry is visual and gift-driven, so Meta Ads and Pinterest Ads catalogs carry the discovery and seasonal pushes; Pinterest wants portrait images of at least 1000 × 1500 pixels, which on-model shots usually meet.
A studio with 60 one-of-a-kind pieces may need only a Google feed. Ring sizes multiply SKUs fast: 120 ring styles in eight sizes is 960, and a store with Google, Meta and Pinterest feeds carries every one of them in each. The variant count, the number of feeds and whether you want AI titles and descriptions are what a quote is based on.
Examples
Worked examples, by situation
Four jewelry catalogs, from a one-person studio to a multi-brand retailer.
No GTINs, declared honestly
Before
Vendor: Wren Studio Barcode: (empty) title: Tide Cuff
After
brand: Wren Studio identifier_exists: no gtin: (empty) title: Wren Studio Hand-Forged Copper Cuff Bracelet, 7 in
How we set it up
We map identifier_exists with an advanced rule: if [variant_barcode] is empty then "no" else "yes" (Shopify's raw key for the barcode; advanced rules on Shopify use underscore names), and title with an advanced rule: [product_vendor] + " " + [product_metafield_custom_finish] + " " + [product_metafield_custom_material] + " " + [product_productType] + ", " + [variant_length], reading finish and material metafields.
Ring sizes as variants on both channels
Before
Option1: Size 7 product id: 7731 title: Sapphire Solitaire
After
size: 7 item_group_id: 7731 title: Aurel 14k Yellow Gold Sapphire Solitaire Ring, 0.5 ct, Size 7 Microsoft: identifier_exists: FALSE
How we set it up
We map size with remove from regexp ^Size\s* and item_group_id by rename from product id. The Microsoft Ads feed uses the advanced rule with "FALSE" and "TRUE" in place of no and yes, because Microsoft's spec is boolean.
Branded pieces keep GTINs; cheap add-ons stay out of ads
Meta Ads feed filters and fields
exclude if [price] is less than 10
exclude if [product_type] is equal to "Gift Box"
gender ← if [product_type] includes "Men"
then "male" else "female"
gtin ← rename BarcodeHow we set it up
We add exclude filters with is less than and is equal to on the Meta feed only, map gender with an advanced rule on the product type and gtin by rename. Feed hygiene's completeness check shows which branded items are missing barcodes.
Used condition and no identifiers for pre-GTIN pieces
Before
Tags: vintage, 1960s condition: (empty) Barcode: (empty)
After
condition: used identifier_exists: no title: 1960s 18k Gold Garnet Cluster Ring, Size N
How we set it up
We give condition a conditional rule: if tags includes 'vintage', the static value used, else the static value new. identifier_exists uses the is-empty rule above on the export's Barcode column; Google names vintage and antique products among those without identifiers.
Copy this plan
Plan: a jewelry feed for Google Shopping and beyond
Under two hours for most catalogs; the identifier rule and the title are most of it.
01
Send us the store and read the profile
Feed hygiene shows how many products have a barcode, a metal or material value and a size, and lists inconsistent spellings like '14K Gold' and '14k gold'.
What we set up: We connect your Shopify store or CSV / XML export URL and run feed hygiene.02
Build the Google Shopping feed
Map brand from the vendor or your studio name, gtin from the barcode, item_group_id from the product id.
What we set up: We start from the Google Shopping channel template and map these fields by rename.03
Set identifier_exists by rule
no when the barcode is empty, yes otherwise. Do not mark manufactured pieces no.
What we set up: We map identifier_exists with an advanced rule: if [variant_barcode] is empty then "no" else "yes" on Shopify, or on your export's barcode column.04
Add gender, age group, color and size
Static adult and female or unisex for most stores; derive from the product type for men's lines. Metal color in color, ring size in size.
What we set up: We give gender a static value or an advanced rule, and map size with remove from regexp.05
Write titles with metal and stone first
Brand + metal + stone + style + carat + size. AI title enhancement writes 100–150 characters with the key details in the first 70, and only titles you accept reach the feed.
What we set up: We map title as a combine, or set up an AI config that enhances titles, used through replace from AI config.06
Add Meta, Pinterest or Microsoft
Separate feeds from the same shop; switch identifier_exists to TRUE/FALSE for Microsoft. Each feed is a URL the channel fetches on a schedule.
What we set up: We build the Meta Ads, Pinterest Ads or Microsoft Ads feeds and register the feed URLs with you: you give us access or we walk you through it.
Customization tips
Make it yours
Studio name as brand is fine
Google asks for the brand of the product; for your own pieces that is your studio or shop name. Do not invent a brand for resold pieces, and do not use your shop name as the brand of a branded watch you resell.
Carat and length in the title, not only in a field
Google has no dedicated carat field, so 0.5 ct belongs in the title and description. Chain length goes in size and in the title, in the unit your market uses.
Normalize metals before titles
A title built from '14K gold', '14k Gold' and '14 kt' looks careless. Clean the values in the store, or use replace from regexp on the material column with a case-insensitive pattern ((?i)14\s*k(t)?\s*gold → 14k Gold).
Gift-season labels
A custom_label_0 from the product type or a metafield ('gift-under-100', 'bridal'; tags work when the source is a CSV export) lets campaigns push the right pieces in December and wedding season without a second feed.
FAQ
Questions about google shopping feed for jewelry
Do I need GTINs for handmade jewelry on Google Shopping?
No. Google's identifier_exists help lists custom goods, one-of-a-kind products and handmade goods as products that may have no unique identifier. Send identifier_exists = no and leave gtin and mpn empty. Only do this when you are certain: a product marked no that Google can match to an identifier gets a warning.
What brand should handmade jewelry use in a feed?
Your studio or shop name, since you are the maker. For resold branded pieces, use the manufacturer's brand and send its GTIN if the piece has one.
Does jewelry need gender and age group in Google Shopping?
Jewelry is part of Apparel & Accessories in Google's taxonomy, and Google requires gender, age_group and color for free listings of Apparel & Accessories products. Most stores send adult and female or unisex, and the metal color as color.
How do I list ring sizes in a jewelry product feed?
As variants: one item per size with its own id, the same item_group_id across the style, and the size in the size attribute. Google requires size for products available in multiple sizes.
Set up for you
Have your jewelry listed on Google Shopping with the right identifiers.
Send us your store. We set up Textfinity to set identifier_exists by rule, build metal-and-stone titles and publish feeds for Google, Meta and Pinterest.
Tell us your store and channels. We reply within 24 hours.