Die meeste voerprobleme lyk nie soos voerprobleme nie. Hulle lyk soos 'n Google Merchant Center-afkeuring wat jy nie kan verduidelik nie, 'n Advantage+-veldtog wat sy begroting aan 'n enkele swart T-hemp bestee, of 'n Shopping-advertensie wat 'n kliënt wat op soek is na 'n skoen van grootte 42 na 'n bladsy stuur waar slegs grootte 38 oor is.
Onder byna al hierdie sit dieselfde ding: variante.
'n Variant is enige weergawe van 'n produk wat op een sigbare, koopbare manier verskil – grootte, kleur, materiaal, kapasiteit, afwerking. Hulle is gewoon in kleinhandel en buitengewoon moeilik in feeds, want elke kanaal modelleer hulle anders, en omdat dit stilweg misluk om hulle verkeerd te kry. Niks breek nie. Jou advertensies presteer net stilweg ondermaats, en die diagnose leef vier lae verder in 'n datalêer wat niemand oopmaak nie.
Hierdie gids dek die hele onderwerp: wat eintlik as 'n variant tel, hoe item_group_id werk en waar mense dit misbruik, elke variant-definiërende kenmerk met sy werklike beperkings, werkende voervoorbeelde in XML, CSV en JSON, hoe Google, Meta, TikTok, Pinterest, Amazon en streeksmarkplekke elk verwag dat variante gestruktureer moet wees, en 'n diagnostiese tabel vir die foute wat die meeste voorkom.
Dit is lank omdat die onderwerp so is. Gebruik die inhoudsopgawe om te spring.
1. Wat 'n variant eintlik is
A variant is 'n koopbare weergawe van 'n produk wat van sy broers en susters verskil in ten minste een kenmerk waaruit 'n kliënt sou kies, terwyl dit dieselfde produk bly.
Daardie laaste klousule doen baie werk. 'n Blou mediumgrootte T-hemp en 'n swart groot T-hemp is dieselfde produk. 'n Blou T-hemp en 'n blou hoodie is nie, selfs nie van dieselfde handelsmerk in dieselfde materiaal nie.
Die standaardmodel oor die meeste kanale is ouer/kind:
- Die ouer is die konseptuele produk — "Merino-trui met ronde nek." Dit is gewoonlik nie op sy eie te koop nie.
- Die kinders is die variante — elk met sy eie SKU, sy eie voorraadvlak, soms sy eie prys en beeld.
In 'n produkvoer word dit amper altyd uitgedruk platelke variant is sy eie ry of , en 'n gedeelde groeperingsleutel bind hulle saam. Daar is geen nesvorming nie. 'n Trui in 4 kleure en 5 groottes is 20 rye, almal met dieselfde groep-ID.
Wat is nie 'n variant
Dit is waar feeds verkeerd gaan voordat 'n enkele reël XML geskryf is.
| Nie 'n variant nie | Hoekom | Wat om eerder te gebruik |
|---|---|---|
| Multi Packs — 'n 6-pak teenoor 'n enkel | Verskillende hoeveelheid van dieselfde eenheid, nie 'n gekose kenmerk nie | multipak-attribuut (Google) |
| bundels — kamera + lens + sak | 'n Onderskeidende verkoopbare saamgestelde | is_bundel-attribuut; aparte produk |
| Verwante Produkte — bypassende top en romp | Verskillende produkte wat goed pas | Skei items; gebruik aanbevelings |
| Opgeknap teenoor nuut | Toestand, nie variasie nie | toestand-attribuut |
| Verskillende kleinhandelaars se lyste | Dieselfde produk, ander verkoper | Afsonderlike rekeninge/feeds |
| persona — gegraveerde naam | Op bestelling gemaak, nie 'n voorraadopsie nie | Gewoonlik een item; let op in beskrywing |
Deur enige van hierdie onder 'n gedeelde item_group_id te groepeer, word 'n groep geskep waarvan die lede nie uitruilbaar is nie – wat die variantselektor op die bestemmingsblad verwar en op sommige kanale 'n afkeuring van wanpassing veroorsaak.
2. Die besluit wat alles bepaal
Voordat jy enige voerlogika skryf, beantwoord een vraag vir elke produksoort wat jy verkoop:
Wanneer 'n kliënt 'n ander opsie kies, beland hulle op 'n ander bladsy – of dieselfde bladsy in 'n ander toestand?
Dit is die praktiese toets, en dit wys direk hoe jy die voer moet struktureer.
Geval A — aparte URL'e per variant. Elke kleur het sy eie produkbladsy (/merino-trui-vlootblou, /merino-trui-houtskool). Stuur elke variant as sy eie ry met sy eie skakel. Dit is die skoonste opstelling, gee die beste advertensierelevansie, en is wat kanale verkies.
Geval B — een URL, variant op die bladsy gekies. Alles is beskikbaar by /merino-trui en die kliënt kies kleur en grootte met 'n selektor. Jy kan steeds elke variant stuur, maar jy moet 'n diep skakelparameter byvoeg sodat die advertensie op die regte vooraf gekose toestand beland:
https://example.com/merino-sweater?colour=navy&size=mSonder daardie parameter bereik 'n koper wat op 'n advertensie vir 'n vlootmedium geklik het 'n standaardtoestand wat houtskoolklein wys. Daardie wanverhouding is een van die grootste stil omskakelingsmoordenaars in variantadvertensies, en op Google kan dit ook 'n ... veroorsaak. "Verkeerbare waarde (bladsy kruip)" afkeuring, want die kruiper sien 'n bladsy waarvan die sigbare kleur nie ooreenstem met die ingediende kleur nie.
Geval C — variante wat nie die moeite werd is om te verdeel nie. Sommige variasies beïnvloed nie die koopbesluit genoeg om aparte advertensies te regverdig nie – byvoorbeeld die kabellengte op 'n laaier. Hier kan jy doelbewus een verteenwoordigende variant stuur. Afdeling 7 dek wanneer dit die regte besluit is.
Variant-definiërende teenoor beskrywende eienskappe
Elke kenmerk in jou voer val in een van twee kategorieë, en verwarring tussen hulle is 'n gereelde oorsaak van misvormde groepe.
Variant-definiërende eienskappe moet verskil tussen lede van die groep. Dit is die dinge wat die kliënt kies: kleur, grootte, materiaal, patroon, plus produkspesifieke afmetings soos kapasiteit of afwerking.
Groepkonstante eienskappe moet wees identiese oor elke lid: handelsmerk, geslag, ouderdomsgroep, itemgroeptitel, google_produkkategorie. As twee rye 'n itemgroep-id deel, maar verskillende geslagswaardes het, het jy die produkte óf verkeerd gegroepeer óf verkeerd gemerk.
Ry-spesifiek maar nie variant-definiërend nie Attribute wissel per ry sonder om die variasie te definieer: id, prys, beskikbaarheid, gtin, beeld_skakel, skakel. Twee variante kan wettiglik verskillende pryse hê — 'n grootte 3XL kos dikwels meer — sonder dat prys hulle onderskei.
3. item_groep_id: die stigting
item_group_id is die gedeelde sleutel wat vir 'n kanaal sê "hierdie rye is dieselfde produk." Alles anders oor varianthantering hang af daarvan dat dit reg is.
Die spesifikasie
| Eiendom | meta | TikTok | |
|---|---|---|---|
| Veld naam | item_groep_id | item_groep_id | item_groep_id |
| Maksimum lengte | 50 karakters | 100 karakters | 150 karakters |
| Toegelate karakters | Unicode; ASCII aanbeveel — alfanumeries, onderstrepe, strepies | string | string |
| Gevoeligheidsgevoel | Hoofletterongevoelig (ABC123 = abc123) | Kassensitief | Kassensitief |
| Vereis? | Vereis vir gratis lyste, en vir Winkeladvertensies in Brasilië, Frankryk, Duitsland, Japan, die VK en die VSA — wanneer variante ingedien word | Nodig vir variantgroepering | Nodig vir variantgroepering |
| Herhaalde veld | Nee — een waarde per item | Geen | Geen |
Omdat Google die waarde ongevoelig vir hoofletters en kleinletters hanteer, maar Meta en TikTok nie, standaardiseer oral op kleinletters (of hoofletters). 'n Katalogus waar SWTR-001 en swtr-001 albei verskyn, sal korrek op Google groepeer en op Meta in twee produkte verdeel word.
Die waarde kies
Die beste item_group_id is die ouer-SKU wat jy reeds in jou ERP of PIM het. Dit bestaan, is stabiel en uniek.
Goed:
SWTR-MERINO-CREW
12345
parent-8891Sleg, en hoekom:
| waarde | Probleem |
|---|---|
| Merino-trui met ronde nek | Spasies en gemengde hoofletters; oorskry perke wanneer titels lank is; verander wanneer bemarking die produk hernoem |
| trui | Nie uniek nie — vou jou hele trui-reeks in een groep ineen |
| SWTR-MERINO-BEMANNING-VLOOTBLAU-M | Sluit die variantdimensies in, sodat elke ry 'n unieke waarde kry en niks groepeer nie |
| 'n Rynommer of hash het elke uitvoer geregenereer | Veranderinge tussen uitvoere; kanale verloor groepkontinuïteit en leer weer van nul af |
Daardie laaste een verdien klem. item_group_id moet stabiel wees oor tyd. Kanale versamel prestasiegeskiedenis teen die groep. As jou uitvoer ID's regenereer, herstel jy daardie geskiedenis met elke sinchronisasie, en geen hoeveelheid bodoptimalisering sal vergoed nie.
Die drie reëls
- Elke lid van 'n groep deel dieselfde item_group_id.
- Elke lid het 'n unieke ID. 'n Duplikaat-ID enige plek in die voer veroorsaak dat die latere ry stilweg verwyder word.
- Elke lid verskil in ten minste een variant-definiërende attribuut. Twee rye met dieselfde groep-ID en dieselfde kleur en grootte is duplikate, nie variante nie.
'n Konvensie wat aan al drie voldoen:
item_group_id: SWTR-MERINO-CREW
id: SWTR-MERINO-CREW-NAV-M
id: SWTR-MERINO-CREW-NAV-L
id: SWTR-MERINO-CREW-CHR-MLeesbaar, ontfoutbaar, afgelei van data wat jy reeds besit.
item_groep_titel
'n Meer onlangse Google-attribuut, opsioneel maar aanbeveel wanneer jy item_group_id indien. Dit dra die naam van die ouer produk — maksimum 150 karakters — en moet identies wees oor elke variant in die groep.
xml
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>Let op die patroon: titel is variant-spesifiek, item_group_title is nie. Om dieselfde string in beide te stuur, mors die sein.
variant_opsie
Ook nuwer aan Google se kant: 'n gestruktureerde manier om te verklaar wat eienskappe definieer die variasie, eerder as om die kanaal te laat om dit af te lei. Dit aanvaar tot 30 naam/waarde-pare (elke subattribuut tot 250 karakters, 5 000 karakters altesaam).
xml
<g:variant_option>
<g:name>Colour</g:name>
<g:value>Navy</g:value>
</g:variant_option>
<g:variant_option>
<g:name>Size</g:name>
<g:value>M</g:value>
</g:variant_option>Dit is veral nuttig vir produkte waarvan die variasie-asse nie deur die standaard kledingkenmerke gedek word nie – stoorkapasiteit, verwerkervlak, watt, aantal sitplekke. Eerder as om "256GB" in grootte af te dwing, verklaar jy dit behoorlik.
4. Variant-definiërende eienskappe, in detail
kleur
Die mees reëlgebonde attribuut in die spesifikasie, en die een wat die meeste verwerp word.
| Eiendom | waarde |
|---|---|
| Maksimum lengte (Google) | 100 karakters totaal, 40 per individuele kleur |
| Maksimum lengte (Meta / TikTok) | 200 karakters |
| Veelvuldige kleure | Skei met /, primêre kleur eerste |
| Vereiste | Vir klere in die lande wat hierbo gelys word; vir alle gratis lyste van klere en bykomstighede |
Nie aanvaar nie:
- Nommers — Kleur 42, RAL 5013
- Heksadesimale kodes — #001F5B
- Enkelletters — N vir vloot
- Verwysings na 'n beeld — sien foto
- Alfanumeriese of saamgevoegde woorde — Vlootblou1, Vlootblou (skryf Vlootblou)
Hantering van bemarkingskleurname. Modehandelsmerke noem selde kleure "vlootblou". Hulle noem hulle "Midnight Regatta". Die kanaal benodig 'n kleur wat 'n koper sou soek; jou handelsmerk benodig sy eie naam op die bladsy.
Die werkbare kompromis:
color: Navy
description: ...available in Midnight Regatta (navy)...Koppel bemarkingsname aan standaardname in die voer, en hou die handelsmerknaam sigbaar op die bestemmingsblad en in die beskrywing. Moenie die bemarkingsnaam in kleur en hoop plaas nie – dit benadeel ooreenstemming vir kleurgekwalifiseerde navrae, wat van die soektogte met die hoogste voorneme in klere is.
Veelkleurige produkte:
color: Navy/White/GreyPrimêr eerste. Google lees die eerste waarde as die dominante kleur.
grootte
| Eiendom | waarde |
|---|---|
| Maksimum lengte (Google) | 100 karakters |
| Maksimum lengte (Meta / TikTok) | 200 karakters |
| Vereiste | Vir klere en skoene in die gelyste lande; vir gratis lyste |
| Een-grootte produkte | een_grootte, OS, of OSFA |
Die reël wat saak maak: wees spesifiek genoeg om ondubbelsinnig en konsekwent dwarsdeur die katalogus te wees. M is goed as elke produk M gebruik. 'n Voermengsel van M, Medium, med en M/L vir dieselfde konsep fragmenteer jou variantgroepe en maak grootte-gebaseerde segmentering onmoontlik.
Vir produkte waar 'n enkele dimensie onvoldoende is, sluit die onderskeidende dimensies in die waarde in:
size: 32/34 (waist/inseam)
size: 15.5/34 (neck/sleeve)
size: 9.5 Wide (shoe width)
size: 200x140cm (rugs, bedding)grootte_tipe en grootte_stelsel
Opsioneel, slegs kleding en onderbenut – beide verbeter passing betekenisvol vir kopers wat met hierdie kwalifiseerders soek.
grootte_tipe — tot 2 waardes van: gereeld, klein, kraam, groot, lank, plus.
grootte_stelsel — een van: VSA, VK, EU, DE, FR, JP, CN, IT, BR, MEX, AU. Indien weggelaat, neem die kanaal die teikenland se stelsel aan, wat die bron van 'n spesifieke en duur mislukking is: 'n Turkse kleinhandelaar wat in Duitsland verkoop met EU-groottes, maar geen verklaarde groottestelsel nie, mag groottes teen die verkeerde skaal geïnterpreteer hê.
xml
<g:size>10</g:size>
<g:size_system>UK</g:size_system>
<g:size_type>regular</g:size_type>materiaal
Maks 200 karakters op Google. Primêre materiaal eerste, dan tot twee sekondêre materiaal geskei deur /.
material: Cotton
material: Leather/Suede
material: Merino Wool/Nylon/ElastaneVereiste slegs as dit jou variante onderskei — 'n sak wat in leer en doek verkoop word. Andersins opsioneel, maar die moeite werd om in te dien; materiaal is 'n algemene soekkwalifikasie.
patroon
Maks 100 karakters. Vrye teks wat die drukwerk of grafika beskryf: Gestreep, Polkadot, Paisley, Blom, Visgraat. Dieselfde reël — vereis as dit is wat verskil.
ouderdomsgroep en geslag
Beide is groepkonstanteElke variant in 'n groep moet dieselfde waarde dra.
ouderdomsgroep: pasgeborene, baba, kleuter, kinders, volwassene — een waarde per produk.
geslag: manlik, vroulik, unisex.
As 'n kledingstuk werklik in mans- en vrouesnitte aangebied word, is dit twee aparte itemgroepe, nie een groep met gemengde geslag nie. Die snitte verskil, die groottes verskil, en die koper kies tussen produkte eerder as tussen opsies.
Verwysingstabel
| kenmerk | Google-limiet | Moet verskil | Moet oor die hele groep ooreenstem |
|---|---|---|---|
| item_groep_id | 50 karakters | - | ✅ |
| item_groep_titel | 150 karakters | - | ✅ |
| id | 50 karakters | ✅ (altyd uniek) | - |
| titel | 150 karakters | aanbeveel | - |
| kleur | 100 karakters (40/kleur) | As variasie-as | - |
| grootte | 100 karakters | As variasie-as | - |
| grootte_tipe | 2 waardes | opsioneel | - |
| grootte_stelsel | enum | - | Gewoonlik ✅ |
| materiaal | 200 karakters | As variasie-as | - |
| patroon | 100 karakters | As variasie-as | - |
| geslag | enum | - | ✅ |
| ouderdomsgroep | enum | - | ✅ |
| merk | 70 karakters | - | ✅ |
| google_produk_kategorie | - | - | ✅ |
| prys | - | Mag verskil | - |
| beskikbaarheid | enum | Mag verskil | - |
5. Voorbeelde van regte voere
XML (Google RSS 2.0)
Twee variante van 'n groep met ses variante. Let op wat verander en wat nie.
xml
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Example Store — Product Feed</title>
<link>https://example.com</link>
<item>
<g:id>SWTR-MERINO-CREW-NAV-M</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=navy&size=m</link>
<g:image_link>https://cdn.example.com/swtr-merino-navy-1.jpg</g:image_link>
<g:additional_image_link>https://cdn.example.com/swtr-merino-navy-2.jpg</g:additional_image_link>
<g:availability>in_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678900</g:gtin>
<g:mpn>SW-MC-NAV-M</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Navy</g:color>
<g:size>M</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>full-size-run</g:custom_label_1>
</item>
<item>
<g:id>SWTR-MERINO-CREW-CHR-L</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Charcoal, Large</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=charcoal&size=l</link>
<g:image_link>https://cdn.example.com/swtr-merino-charcoal-1.jpg</g:image_link>
<g:availability>out_of_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678931</g:gtin>
<g:mpn>SW-MC-CHR-L</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Charcoal</g:color>
<g:size>L</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>broken-size</g:custom_label_1>
</item>
</channel>
</rss>Vier dinge wat die moeite werd is om uit te wys:
- item_groep_id en item_groep_titel is identies; id en titel is nie.
- skakel dra diep skakelparameters so die advertensie land op die korrekte voorafgekose toestand. Die & word ontsnap soos & — vereis in XML, en 'n gereelde bron van ontledingsfoute.
- beeld_skakel is variant-spesifiek. Beide vlootblou rye wys na die vlootblou foto. Om een heldbeeld vir alle kleure te stuur, is die tweede mees algemene variantfout na ontbrekende groep-ID's.
- Die "uit voorraad"-ry is gemerk via custom_etiket_1, sodat dit uitgesluit kan word of 'n laer bod kan plaas sonder om dit van die voer te verwyder.
CSV / TSV
Dieselfde data, platgemaak. Kopteksry plus twee variante:
csv
id,item_group_id,item_group_title,title,description,link,image_link,availability,price,brand,gtin,condition,google_product_category,color,size,size_system,material,gender,age_group,custom_label_0
SWTR-MERINO-CREW-NAV-M,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Navy, Medium","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=navy&size=m,https://cdn.example.com/swtr-merino-navy-1.jpg,in_stock,89.00 EUR,Example,5012345678900,new,1604,Navy,M,EU,Merino Wool,male,adult,core
SWTR-MERINO-CREW-CHR-L,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Charcoal, Large","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=charcoal&size=l,https://cdn.example.com/swtr-merino-charcoal-1.jpg,out_of_stock,89.00 EUR,Example,5012345678931,new,1604,Charcoal,L,EU,Merino Wool,male,adult,coreCSV is waar die meeste werklike breuke in die werklike wêreld plaasvind, want kommas binne titels en beskrywings moet aangehaal word, en aanhalingstekens binne aangehaalde velde moet ontsnap word. As jou titels kommas bevat – en produktitels met kleur en grootte doen dit amper altyd – gebruik eerder TSV. Oortjies verskyn feitlik nooit in produkdata nie, en 'n hele klas ontledingsfoute verdwyn.
Into
Vir API-gebaseerde inname:
json
{
"products": [
{
"id": "SWTR-MERINO-CREW-NAV-M",
"item_group_id": "SWTR-MERINO-CREW",
"item_group_title": "Merino Crew Neck Sweater",
"title": "Merino Crew Neck Sweater — Navy, Medium",
"link": "https://example.com/merino-crew-sweater?colour=navy&size=m",
"image_link": "https://cdn.example.com/swtr-merino-navy-1.jpg",
"availability": "in_stock",
"price": { "value": "89.00", "currency": "EUR" },
"brand": "Example",
"gtin": "5012345678900",
"condition": "new",
"google_product_category": "1604",
"variant_attributes": {
"color": "Navy",
"size": "M",
"size_system": "EU",
"material": "Merino Wool"
},
"gender": "male",
"age_group": "adult"
}
]
}'n Volledige grootte lopie
Ses variante — twee kleure × drie groottes — met die ID-patroon sigbaar:
| id | item_groep_id | kleur | grootte | beskikbaarheid |
|---|---|---|---|---|
| SWTR-MC-NAV-S | SWTR-MERINO-BEMANNING | Navy | S | in_voorraad |
| SWTR-MC-NAV-M | SWTR-MERINO-BEMANNING | Navy | M | in_voorraad |
| SWTR-MC-NAV-L | SWTR-MERINO-BEMANNING | Navy | L | in_voorraad |
| SWTR-MC-CHR-S | SWTR-MERINO-BEMANNING | houtskool | S | uit_voorraad |
| SWTR-MC-CHR-M | SWTR-MERINO-BEMANNING | houtskool | M | in_voorraad |
| SWTR-MC-CHR-L | SWTR-MERINO-BEMANNING | houtskool | L | uit_voorraad |
Houtskool het een grootte oor in drie. Afdeling 9 dek wat om daaromtrent te doen.
6. Kanaal vir kanaal
Die konsep is universeel. Die implementering is nie. Hier is hoe elke hoofbestemming variante verwag, en waar elkeen verskil.
Google Winkelsentrum / Handelaarsentrum
Die mees voorskriftelike, en die verwysingsimplementering waarvan die meeste ander kanale leen.
- item_groep_id is vereis vir gratis lyste, en vir inkopie-advertensies in Brasilië, Frankryk, Duitsland, Japan, die VK en die VSA, wanneer variante ingedien word.
- Variant-definiërende eienskappe moet ingevul word: kleur en grootte word vereis vir klere in daardie markte.
- geslag en ouderdomsgroep word vereis vir klere en moet konsekwent wees oor die hele groep.
- Die bestemmingsblad moet sigbaar ooreenstem met die ingediende variantwaardes, anders loop jy die risiko van 'n Nie-ooreenstemmende waarde (bladsykruip) afkeur.
- Elke variant ding onafhanklik mee in die veiling. Google kies watter lid van 'n groep vir 'n gegewe navraag moet verskyn, dus beteken 'n onvolledige groep 'n swakker kandidaatpoel.
- beeld_skakel moet ten minste 500×500 pixels wees vir klere — 'n minimum word afgedwing vanaf 31 Januarie 2027, die moeite werd om nou te oudit eerder as om haastig te wees.
Praktiese nota: Handelaarsentrum rapporteer op variant (id) vlak, nie groep vlak nie. Om 'n produk behoorlik te evalueer, moet jy self volgens item_group_id aggregeer – wat baie makliker is as die groep ID skoon en stabiel is.
Meta (Facebook en Instagram)
Meta gebruik dieselfde veldnaam met verskillende beperkings en 'n wesenlik verskillende vertoonmodel.
- item_group_id laat tot toe 100 karakters en kassensitief.
- kleur en grootte laat tot toe 200 karakters.
- Gebruik van beskikbaarheidswaardes spasies, nie onderstrepe nie: in voorraad, nie in_voorraad nie. Hierdie enkele verskil breek meer Meta-feeds as enige ander, veral wanneer 'n Google-feed direk hergebruik word.
- In Winkels en op produkdetail-oppervlaktes word 'n korrek gegroepeerde stel weergegee as een produk met 'n variantkieser, eerder as verskeie byna identiese lyste.
- Advantage+ katalogusadvertensies gebruik die groep om te verhoed dat 'n gebruiker ses weergawes van dieselfde trui in een karrousel wys — 'n ongegroepeerde katalogus lewer sigbaar herhalende advertensies en vermorste indrukke.
- Variantvlakverslagdoening in Handelsbestuurder hang af van korrekte groepering.
Praktiese nota: Moenie Meta na jou Google-voer wys sonder om dit te wys nie. Ten minste, transformasiebeskikbaarheid moet gekontroleer word en die karakterlimiete moet nagegaan word. Die meeste voerplatforms – insluitend Feedance – hanteer dit as 'n kanaalvlaktransformasie sodat die brondata onaangeraak bly.
TikTok
- item_group_id laat tot toe 150 karakters.
- sku_id is die unieke identifiseerder per variant — elke variantry benodig 'n duidelike waarde.
- kleur en grootte laat tot 200 karakters toe.
- titel laat tot 255 karakters toe; beskrywing tot 10 000; google_product_category word verwag.
- TikTok is die strengste kanaal oor variant-spesifieke beeldeProdukkaarte vertoon 'n variantselektor, en variante wat 'n enkele generiese beeld deel, presteer meetbaar swakker. As jy een hoek in jou beeldpyplyn afsny, moenie dit hier afsny nie.
- Volg Google se model noukeurig; item_group_id groepeer variante.
- Pinterest wys variante binne 'n enkele produkpen met kiesbare opsies.
- Beeldkwaliteit en vertikale aspekverhoudings maak onevenredig saak – Pinterest is 'n visuele ontdekkingsoppervlak, en variantbeelde wat nie onderskeibaar is nie, word eenvoudig nie gestoor nie.
Amazon
Amazon doen nie gebruik item_group_id, en om anders aan te neem, veroorsaak baie vermorste werk.
Amazon gebruik 'n eksplisiete ouer/kind verhoudingsmodel:
- A ouer ASIN word as 'n nie-koopbare lysing geskep.
- Elke kind ASIN verwys na die ouer deur die parent_sku / parent_child-velde.
- A variasietema moet verklaar word — GrootteKleur, Grootte, Kleur, GrootteNaam-KleurNaam en so aan, wat volgens kategorie verskil.
- Die tema moet geldig wees vir daardie spesifieke kategorie; dieselfde temanaam is nie oral beskikbaar nie.
As jy na beide Google en Amazon vanaf een bron uitvoer, hanteer dit as 'n egte transformasie, nie 'n veldhernoeming nie. Jou voerlaag moet die ouerlys konstrueer, die tema toewys en kinders daaraan koppel.
Streeksmarkplekke en vergelykingsenjins
Turkse en wyer MENA-kanale het elk hul eie konvensies, en hulle is dikwels die verskil tussen 'n werkende en 'n gebrekkige katalogus in hierdie markte.
- Trendyol gebruik sy eie ouer/kind-model met 'n verpligte kategorie-spesifieke kenmerkstel. Kleur en grootte is aparte gestruktureerde velde, en vereiste kenmerklyste verskil volgens kategorie.
- Akakçe en Suinig is prysvergelykingsenjins. Hulle verwag tipies een ry per koopbare SKU, en duplikaat-byna-identiese rye word geneig om gefiltreer te word – dus kan die stuur van 'n volgrootte lopie sonder gedifferensieerde data sigbaarheid verminder eerder as verhoog.
- Hepsiburada en N11 elkeen definieer hul eie variantgroeperingsleutels en vereiste eienskappe.
Dit is die gebied waar generiese globale voergereedskap die meeste tekort skiet, en waar 'n verkeerd gekarteerde kenmerk stilweg 'n hele kategorie van 'n markplek verwyder.
vergelyking
| meta | TikTok | Amazon | |||
|---|---|---|---|---|---|
| Groeperingsleutel | item_groep_id | item_groep_id | item_groep_id | item_groep_id | Ouer ASIN |
| Maksimum lengte | 50 | 100 | 150 | 50 | N / A |
| Hooflettergevoelig | Geen | Ja | Ja | Geen | N / A |
| Beskikbaarheidsintaksis | in_voorraad | Op voorraad | in_voorraad | Op voorraad | Hoeveelheid |
| Variantbeelde | aanbeveel | aanbeveel | Kritieke | Kritieke | Vereiste |
| Eksplisiete tema benodig | Geen | Geen | Geen | Geen | Ja |
| Variantvlakverslagdoening | Ja | Ja | Ja | Beperk | Ja |
7. Skeur of ineenstort?
Om elke variant te stuur is die standaard aanbeveling, maar dit is nie universeel korrek nie. Die eintlike vraag is of die variasie verander wat die koper wil hê.
Stuur elke variant wanneer…
- Die variasie is die aankoopbesluit. Klere, skoene, enigiets waar die verkeerde grootte nie 'n uitverkoping is nie.
- Voorraad verskil betekenisvol volgens variant. Om 'n produk te adverteer waarvan die enigste oorblywende opsie 'n grootte 3XL is, mors geld.
- Prys verskil volgens variant. Om €89 te wys terwyl die gekose opsie €119 kos, veroorsaak 'n pryswanverhouding en 'n kwaai kliënt.
- Soekvraag is variantgekwalifiseerd. Mense soek "vlootblou merino trui medium." Jy kan nie daarvoor rangskik sonder om dit in te dien nie.
Vou in tot een verteenwoordigende variant wanneer…
- Die katalogus is baie groot en meestal homogeen. 'n Hardewarekleinhandelaar met 200 000 SKU's waar 60% triviale lengtevariasies is, kry min uit volle uitbreiding en betaal daarvoor in voerverwerking en veldtogkompleksiteit.
- Die kanaal penaliseer amper-duplikate. Verskeie vergelykingsenjins filtreer herhalende rye; 'n volgrootte lopie kan sigbaarheid verminder.
- Variasie beïnvloed nie prys, beeld of beskikbaarheid nie. As al twaalf variante in elke kommersieel relevante opsig identies is, skep twaalf rye geraas eerder as sein.
Wanneer jy ineenstort, kies die verteenwoordiger doelbewus: die topverkoper-in-voorraad-variant, nie die eerste ry alfabeties nie. Dit is presies waar prestasiedata sy plek in die voer verdien — GA4- of platformdata kan die verteenwoordiger outomaties kies eerder as om dit in sorteervolgorde te laat.
'n Middelpad
Verdeel op die as wat die besluit dryf; ineenstorting op die een wat dit nie doen nie.
Vir skoene beteken dit gewoonlik een ry per kleur, met groottes ingevou — kleur is die ontdekkingsas, grootte is die pastoets wat op die bladsy plaasvind. Vir 'n produk waar kapasiteit prys dryf, verdeel op kapasiteit en val in op kleur.
8. Die 12 mees algemene variantfoute
| # | simptoom | Veroorsaak | Fix |
|---|---|---|---|
| 1 | Variante verskyn as aparte, onverwante produkte | item_group_id ontbreek of uniek per ry | Vul in met die ouer-SKU; verifieer dat dit oor die hele groep herhaal word |
| 2 | Sommige variante ontbreek heeltemal van die kanaal | Duplikaat-ID-waardes — latere rye word stilweg verwyder | Dwing uniekheid af by uitvoer; voeg 'n duplikaatkontrole by |
| 3 | "Verkeerbare waarde (bladsy kruip)" afkeuring | Landingsblad wys 'n ander kleur/grootte/prys as wat ingedien is | Voeg diep skakel parameters by; maak seker dat die bladsy die gekose status aan die bedienerkant weergee |
| 4 | Alle variante wys dieselfde foto | Enkele held beeld_skakel hergebruik | Kaartvariant-spesifieke beelde; val slegs terug na held wanneer geen variantbeeld bestaan nie |
| 5 | Advertensieklikke beland op opsies wat nie in voorraad is nie | beskikbaarheid nie per variant gesinkroniseer nie | Verhoog opdateringsfrekwensie; sluit out_of_stock uit van aktiewe veldtogte |
| 6 | kleur verwerp | Heksadesimale kode, nommer, enkele letter of saamgevoegde woord | Kaart na gewone kleurname; skei veelvoude met / |
| 7 | Groottefilters werk nie; groottenavrae stem nie ooreen nie | Inkonsekwente groottewaardes oor die katalogus (M / Medium / med) | Normaliseer met 'n karteringstabel wat op voervlak toegepas word |
| 8 | Groepsplitsings op Meta maar nie op Google nie | Saak-inkonsekwentheid in item_groep_id | Forseer 'n enkele geval vir die hele veld |
| 9 | Meta verwerp die hele voer | in_voorraad gebruik waar Meta verwag dat voorraad beskikbaar is | Transformeer beskikbaarheid per kanaal |
| 10 | Groep verwerp weens teenstrydige eienskappe | geslag of ouderdomsgroep verskil binne die groep | Hierdie is groepkonstant; aparte mans- en vrouesnitte in afsonderlike groepe |
| 11 | Prestasiegeskiedenis herstel elke sinkronisasie | item_group_id hergenereer per uitvoer | Lei af van 'n stabiele bronveld, nooit van ryvolgorde of 'n hash nie |
| 12 | XML-voer misluk om te ontleed | Ongeëscapeerde en in diep skakel-URL'e | Ontsnap as &; valideer die XML voor publikasie |
Foute 1, 2, 4 en 11 is verantwoordelik vir die oorgrote meerderheid van wat ons in werklike oudits sien. Nie een van hulle is moeilik nie; almal is onsigbaar totdat iemand gaan kyk.
9. Gebreekte groottes en voorraadgesondheid
A gebreekte grootte lopie is 'n produk waarvan die groep tegnies lewendig is, maar feitlik onverkoopbaar — 'n trui wat slegs in XS en 3XL beskikbaar is, 'n skoen met twee groottes oor uit nege.
Dit maak meer saak as wat dit lyk. Wanneer 'n koper op 'n advertensie vir 'n produk klik en vind dat hul grootte nie beskikbaar is nie, het jy betaal vir 'n klik wat nie kon omskakel nie, en jy het handelsmerkgoodwill daaraan bestee. Op skaal kan produkte met gebreekte grootte 'n beduidende deel van die begroting verbruik terwyl hulle amper niks tot inkomste bydra nie.
Opsporing daarvan
Bereken, per item_groep_id:
size_availability_ratio = in_stock_variants / total_variantsTree dan op drempels. 'n Werkbare beginpunt:
| Verhouding | Interpretasie | Aksie |
|---|---|---|
| > 0.7 | Gesonde | Adverteer normaalweg |
| 0.4 - 0.7 | dunner | Verminder bod; kyk |
| 0.2 - 0.4 | Gebreek | Sluit uit van prospektering; slegs herteikening |
| <0.2 | Effektief uitverkoop | Sluit heeltemal uit |
Weeg dit volgens vraag, nie net tel nie. Om XXS en XXL te verloor maak baie minder saak as om M en L te verloor, wat tipies die grootste deel van volume is. 'n Verhouding wat alle groottes gelyk behandel, sal onderreageer op die verlies van jou kerngroottes.
Optree daarop
Die skoonste implementering merk die toestand in die voer eerder as om die produk te verwyder:
xml
<g:custom_label_1>broken-size</g:custom_label_1>Deur etikettering eerder as verwydering te gebruik, behou jy die produk se geskiedenis in die kanaal en kan jy dit onmiddellik heraktiveer wanneer voorraad terugkeer. Verwydering en herbyvoeging herstel die leerproses.
Twee verdere verfynings wat die moeite werd is om te bou:
- Voer terug na bemarking. 'n Herhalende lys met 'n gebroke grootte is 'n koopsein, nie net 'n advertensieprobleem nie.
- Kontroleer weer elke sinchronisasie. Voorraad beweeg; die etiket moet daarmee saam beweeg. 'n Statiese lys met 'n gebroke grootte is erger as niks, want dit onderdruk produkte wat sedertdien aangevul is.
10. Gebruik van variante vir veldtogsegmentering
Sodra variante korrek gestruktureer is, word die data 'n segmenteringslaag - waarskynlik die hoogste opbrengs op 'n skoon variantvoer.
Google verskaf vyf custom_etiket-velde (0–4). Hulle aanvaar arbitrêre waardes en bestaan slegs vir jou eie veldtoglogika. Variantdata is ideale invoer.
'n Werkbare skema
| etiket | Dimensie | Voorbeeldwaardes |
|---|---|---|
| persoonlike_etiket_0 | Margevlak | hoë-marge, standaard, klaring |
| persoonlike_etiket_1 | Aandeelgesondheid | volgrootte lopie, dunner word, gebreekte grootte |
| persoonlike_etiket_2 | Prestasievlak | topverkoper, bestendig, langstert |
| persoonlike_etiket_3 | Seisoenaliteit | ss26, aw25, kern, oordrag |
| persoonlike_etiket_4 | Prysband | onder-50, 50-100, 100-200, oor-200 |
Met hierdie in plek, word veldtoglogika eenvoudig:
- Bied op topverkoper + volgrootte lopie + hoë marge
- Sluit gebroke grootte uit van prospektering
- Gee klaring sy eie veldtog met 'n aggressiewe tROAS
- Isoleer ss26 wanneer die seisoen begin
Prestasie Maksimum en Voordeel+
Beide is grootliks outomaties, wat voervlaksegmentering moontlik maak meer belangrik eerder as minder. Jy beheer nie meer biedings op sleutelwoordvlak nie, dus word die voer jou hoofhefboom vir die stuur van besteding.
In Performance Max dryf persoonlike etikette aan bategroep en noteringsgroep struktuur. Die verdeling van 'n enkele omvattende bategroep in marge-gebaseerde of aandele-gesondheid-gebaseerde groepe is een van die min oorblywende strukturele hefbome, en dit hang geheel en al af van etikette wat uit werklike data gevul word.
In Advantage+ katalogusadvertensies verhoed korrekte groepering dat die karrousel met ses skakerings van dieselfde trui vul – en produksteldefinisies wat op variantkenmerke gebou is, laat jou toe om prospektering van herteikenvoorraad te skei.
Verryk etikette met prestasiedata
Statiese etikette verval. Die topverkoper wat verlede seisoen toegeken is, is hierdie seisoen waninligting.
Die sterker implementering herbereken etikette vanaf regstreekse prestasiedata – GA4-inkomste, omskakelingskoers, kyktellings – met elke voersinchronisasie. 'n Produk wat ophou verkoop, val outomaties uit die topverkoperlys; een wat begin verkoop, betree dit. Dit is 'n kernonderdeel van wat voerverryking in die praktyk beteken, en dit is die verskil tussen etikette wat begroting stuur en etikette wat bloot die laaste kwartaal beskryf.
11. Meting van variantprestasie
Variantvlakdata is waar die meeste verslagdoening stilweg uitmekaar val.
Die aggregasieprobleem. Handelaarsentrum en Advertensies rapporteer op ID-vlak. 'n Trui in 20 variante verskyn as 20 rye, elk met 'n fraksie van die volume, geeneen individueel beduidend nie. Enige gevolgtrekking wat uit 'n enkele variantry gemaak word, is waarskynlik geraas.
Analiseer altyd op twee vlakke:
- Groepvlak (item_group_id) — doen dit produk werk? Totale besteding, omskakelings en inkomste oor alle lede.
- Variantvlak (id) — wat opsies werk? Watter kleure verkoop, watter groottes raak eerste op, watter kombinasies verander nooit.
Die tweede is waar die interessante bevindinge lê. Dit beantwoord vrae waaroor bemarking omgee: verkoop vloot drie keer beter as houtskool? Verkoop grootte L-variante beter omdat hulle altyd in voorraad is? Trek een kleur die groep se gemiddelde af?
Metrieke wat die moeite werd is om per groep dop te hou:
| metrieke | Hoekom |
|---|---|
| Grootte beskikbaarheidsverhouding | Leidende aanwyser van vermorste besteding |
| Variantdekking in kanaal | Ingedien teenoor werklik goedgekeur — die gaping is waar probleme wegkruip |
| Vertoningsaandeel per variant | Onthul watter opsies die kanaal eintlik verkies |
| Omskakelingskoers volgens kleur | Bemarking en koopsein |
| Afkeuringskoers per groep | Vang sistemiese kenmerkfoute vroeg op |
'n Nota oor toeskrywing. 'n Koper sien dikwels 'n advertensie vir een variant en koop 'n ander een – klik op die vlootblou, koop die houtskool. Variantvlak-ROAS wat letterlik geneem word, sal dus verkeerd toegeskryf word. Beoordeel. produkte op groepvlak; gebruik variantdata om gedrag te verstaan, nie om biedbesluite op dun monsters te neem nie.
12. Kontrolelys voor bekendstelling
Voer dit uit voordat 'n variantstroom aktief geplaas word, en na enige strukturele verandering.
struktuur
- Elke variant het 'n unieke ID
- Elke lid van 'n groep deel 'n identiese item_group_id
- item_group_id is afgelei van 'n stabiele bronveld en verander nie tussen uitvoere nie
- item_group_id gebruik konsekwente hoofletters en -letters oor die hele voer
- Elke lid verskil in ten minste een variant-definiërende kenmerk
- item_group_title is teenwoordig en identies oor die hele groep
eienskappe
- kleur gebruik gewone kleurname — geen heksadesimum, syfers of enkelletters nie
- Veelvuldige kleure word geskei met /, primêre eerste
- groottewaardes word oor die hele katalogus genormaliseer
- size_system word verklaar waar jy oor groottegebiede verkoop
- geslag en ouderdomsgroep is identies binne elke groep
- materiaal en patroon word bevolk waar hulle die variasie definieer
Skakels en beelde
- Elke variant se skakel los op na die korrekte voorafgekose toestand
- & word ontsnap as & in XML
- beeld_skakel is variant-spesifiek, nie 'n gedeelde heldbeeld nie
- Beelde voldoen aan die minimum afmetings vir elke kanaal
Kanaaltransformasies
- beskikbaarheidssintaksis aangepas per kanaal (in_voorraad vs. in voorraad)
- Karakterlimiete word per kanaal gerespekteer
- Amazon-uitvoere bou ouerlyste en verklaar 'n geldige variasietema
- Streekmark-attribuutstelle gekarteer per kategorie
bedrywighede
- Opdateringsfrekwensie stem ooreen met hoe vinnig voorraad werklik beweeg
- Opsporing van gebroke grootte loop met elke sinchronisasie
- Duplikaat-ID-kontrole loop voor uitvoer
- Voer valideer as goed gevormde XML/CSV voor publikasie
- Waarskuwings is gekonfigureer vir skielike dalings in produktelling
13. Vrae
Moet ek elke variant indien? Nie altyd nie, maar gewoonlik wel vir klere en skoene, waar grootte en kleur die aankoopbesluit is. Vir baie groot homogene katalogusse, of kanale wat amper duplikate filter, kan die indien van een goed gekose verteenwoordigende variant per groep beter presteer. Kies die verteenwoordiger volgens verkoopsprestasie en voorraad, nie alfabeties nie.
Wat gebeur as ek item_groep_id weglaat? Elke variant word as 'n onverwante produk behandel. Jy verloor die variantselektor op die bestemmingsoppervlak, advertensies word herhalend, variantvlak-rapportering breek, en op Google kan jy 'n vereiste misluk - item_group_id word vereis vir gratis lyste en vir Shopping-advertensies in verskeie groot markte wanneer variante ingedien word.
Kan variante verskillende pryse hê? Ja. Prys is nie 'n variant-definiërende kenmerk nie, maar dit kan wettiglik per variant verskil – groter groottes kos dikwels meer. Die ingediende prys moet ooreenstem met wat die bestemmingsbladsy vir daardie spesifieke variant wys.
Moet variante wat nie in voorraad is nie, in die voer bly? Oor die algemeen ja. Hou hulle met beskikbaarheid: out_of_stock eerder as om hulle te verwyder. Verwydering en weer byvoeging herstel die item se geskiedenis in die kanaal. Sluit hulle uit van aktiewe veldtogte deur 'n reël of persoonlike etiket te gebruik.
Kan een produk aan twee groepe behoort? Nee. item_group_id aanvaar 'n enkele waarde per item. As 'n produk werklik aan twee konseptuele groepe behoort, het jy 'n merchandising-taksonomieprobleem om stroomop op te los.
Het ek aparte item_group_id-waardes per kanaal nodig? Nee — en jy moenie. Gebruik dieselfde logiese groepering oral. Wat per kanaal verskil, is die transformasie daarop toegepas: karakterlimiete, hoofletters en -ligte, sintaksis. Behou een bron van waarheid en pas aan by uitvoer.
Hoe hanteer ek produkte wat werklik een-grootte is? Dien grootte in as een_grootte, OS of OSFA. Moenie dit leeg los vir klere in markte waar grootte vereis word nie.
Mans- en vroueweergawes van dieselfde ontwerp — een groep of twee? Tweedens, geslag moet identies wees in 'n groep. Verskillende snitte en verskillende groottes maak hulle verskillende produkte vanuit die koper se perspektief.
Wat breek die meeste in die praktyk? In ons oudits: gedeelde heldbeelde oor kleurvariante, hergenereerde item_group_id-waardes op elke uitvoer, en beskikbaarheidssintaksis wat onveranderd vanaf 'n Google-voer na Meta oorgedra is. Al drie is onsigbaar in die koppelvlak en kom slegs na vore as onverklaarbare onderprestasie.
Waar dit jou laat
Variant-feeds beloon presisie op 'n manier wat die meeste digitale bemarking nie doen nie. Daar is geen kreatiewe oordeel in item_group_id nie – dit is óf stabiel en gedeel, óf nie. Kleurwaardes volg óf die spesifikasie, óf hulle word verwerp. Beelde stem óf ooreen met die variant, óf die klik was vermors.
Dis die goeie nuus: dis 'n oplosbare probleem met 'n definitiewe antwoord. Die werk lê daarin om dit in stand te hou – want katalogusse verander daagliks, voorraad beweeg uurliks, en elke kanaal pas sy spesifikasie volgens sy eie skedule aan.
Die besighede wat dit regkry, behandel die variantvoer as infrastruktuur eerder as 'n lêer. Hulle lei groep-ID's af van stabiele brondata, normaliseer eienskappe sodra dit by die bron is, transformeer per kanaal met uitvoer, herbereken voorraadgesondheid met elke sinchronisasie, en waarsku wanneer iets onverwags beweeg.
Dis presies die laag Voeding is gebou vir — voerreëls vir die normalisering van eienskappe by die bron, opsporing van gebreekte grootte wat herbereken met elke sinchronisasie, GA4-verryking om prestasie-etikette op datum te hou, en kanaaluitvoere wat die regte transformasie vir elk van 200+ bestemmings toepas sonder om jou brondata aan te raak.
As jy wil weet waar jou eie variantstruktuur staan voordat jy enigiets verander, ons gratis voeroudit-instrument beoordeel 'n bestaande voer op volledigheid, datakwaliteit en tegniese gesondheid — insluitend variantgroepering — sonder enige koste.