Mapování parametrů a atributů produktů z feedů dodavatelů
Jeden dodavatel píše „Barva: černá“, druhý „Color: Black“ a třetí má barvu jen v názvu. Ukážeme, jak z toho postavit parametry, podle kterých zákazník opravdu filtruje.
Parametry rozhodují, jestli zákazník produkt v kategorii vůbec najde. Když filtruje „výkon 18 V“ a polovina vrtaček má hodnotu „18V“, druhá „18 V“ a třetina ji nemá vůbec, filtr vrátí zlomek sortimentu. Zákazník si toho nevšimne. Jen odejde s pocitem, že máte málo zboží.
Problém nevzniká na e-shopu, ale na vstupu. Každý dodavatel posílá parametry po svém: jiné názvy, jiné hodnoty, jiné jednotky, někdy jen v textu popisu. Mapování parametrů je vrstva, která z toho udělá jeden jednotný jazyk. V článku ukazujeme, jak ji stavíme a na co si dát pozor.
Co přesně mapujeme
Parametr má tři části a každá se mapuje zvlášť:
- Název parametru. „Barva“, „Color“, „Barva produktu“, „Odstín“. Cílem je jeden váš parametr.
- Hodnota. „černá“, „Černá“, „black“, „černá matná“. Cílem je jedna hodnota z vašeho seznamu.
- Jednotka. „500 ml“, „0,5 l“, „0.5L“. Cílem je jedna jednotka a jeden formát čísla pro celý parametr.
K tomu přibývají dva zvláštní případy. Rozdělení: dodavatel pošle „Rozměry: 60 × 40 × 20 cm“ a vy potřebujete tři filtrovatelné parametry. Sloučení: dodavatel má „Materiál svršku“ a „Materiál podešve“, vy chcete jen hlavní materiál pro filtr.
V XML feedu přichází parametry nejčastěji jako páry název–hodnota. V Heureka formátu je to blok PARAM s elementy PARAM_NAME a VAL, jeden blok pro každý parametr. Někteří dodavatelé ale mají vlastní strukturu s atributy v tazích nebo posílají parametry jako jeden textový řetězec oddělený středníky. Proto začínáme vždy analýzou, ne pravidly.
Filtrovací, nebo informační parametr
Než začnete mapovat, rozhodněte, které parametry mají být filtrovací. Je to nejdůležitější rozhodnutí celého projektu.
| Filtrovací parametr | Informační parametr | |
|---|---|---|
| Kde se projeví | Filtry v kategorii, srovnávače, fasetová navigace | Tabulka na detailu produktu |
| Hodnoty | Pevný seznam (číselník) | Volný text |
| Nároky na mapování | Každá hodnota musí sedět přesně | Stačí normalizace zápisu |
| Příklad | Značka, barva, velikost, výkon, objem | Obsah balení, doporučené použití, poznámka výrobce |
| Chyba se projeví | Produkt vypadne z filtru | Nepěkný zápis na detailu |
Filtrovacích parametrů mějte v kategorii jen tolik, kolik jich zákazník opravdu používá. Typicky 5 až 10. Každý další znamená další číselník, který musíte udržovat pro všechny dodavatele.
Pozor na platformu. Například Shoptet podle své dokumentace pro vývojáře nezakládá nové hodnoty filtrovacích parametrů při importu automaticky, musí v e-shopu existovat předem. WooCommerce rozlišuje globální atributy (sdílené napříč produkty, použitelné pro filtry a varianty) a vlastní atributy jednoho produktu. Když import vytvoří „Velikost“ jako vlastní atribut u každého produktu zvlášť, e-shop neví, že všechna trička „M“ jsou stejná velikost.
Slovník: srdce mapování
Mapování nepíšeme jako kód s desítkami podmínek. Stavíme ho jako slovník, tedy tabulku převodů, kterou může upravovat i člověk bez programátora. Typicky má tři části:
- Slovník názvů. Pro každého dodavatele: jeho název parametru → váš parametr, nebo „ignorovat“.
- Slovník hodnot. Pro každý váš filtrovací parametr: všechny zápisy, které se objevily → vaše hodnota. „black“, „Černá“, „cerna“ → „černá“.
- Pravidla jednotek. Cílová jednotka a převod: ml → l, g → kg, palce → cm, s pevným počtem desetinných míst.
Slovník hodnot sdílejte mezi dodavateli. Když druhý dodavatel pošle „schwarz“, stačí přidat jeden řádek a platí pro všechny. U barev a materiálů se vyplatí oddělit základní hodnotu pro filtr („černá“) od přesného názvu odstínu pro detail („Midnight Black“). Zákazník filtruje černou, ale na detailu chce vidět, jak se barva jmenuje.
Slovník patří do databáze nebo do PIM, ne do tabulky na něčím disku. Musí mít historii změn, aby šlo dohledat, proč se hodnota najednou mapuje jinam.
Neznámé hodnoty: nic nezahazovat, nic nevymýšlet
Nejčastější chyba je tichý fallback. Import narazí na hodnotu, kterou slovník nezná, a buď ji zahodí, nebo ji zapíše tak, jak přišla. V prvním případě produkt vypadne z filtru. Ve druhém vám do filtru přibude „Černá “ s mezerou na konci.
Doporučujeme třetí cestu:
- Neznámou hodnotu nezapisovat do filtrovacího parametru.
- Uložit ji do fronty ke schválení s informací, od kterého dodavatele a u kolika produktů přišla.
- Po rozhodnutí přidat řádek do slovníku a produkty přepočítat.
Fronta je zároveň nejlepší měřítko kvality dat od dodavatele. Když se v ní po měsíci pořád objevují desítky nových zápisů denně, stojí za to řešit to s dodavatelem, ne jen s importem.
Parametry, které dodavatel nepošle
Část dodavatelů parametry vůbec nestrukturuje. Barva je v názvu, výkon v popisu, rozměry v PDF technickém listu. Tady máte tři možnosti:
- Pravidla nad textem. Regulární výrazy na vzory typu „18 V“ nebo „60 × 40 cm“. Rychlé a levné, ale křehké.
- Jiný zdroj. Druhý dodavatel stejného produktu často parametry má. Při konsolidaci dodavatelů je můžete převzít od toho kvalitnějšího.
- AI extrakce. Jazykový model vytáhne parametry z popisu nebo listu do předem daného schématu. Postup i kontrolu proti halucinacím popisujeme v článku Jak AI generuje parametry a atributy produktů.
Ať zvolíte cokoliv, výstup musí projít stejným slovníkem hodnot. Jinak si přes AI do filtrů přivedete nové varianty zápisu.
Výstup do srovnávačů a Google
Mapování nekončí na e-shopu. Stejné parametry odcházejí do feedů pro srovnávače a reklamní systémy a každý je chce jinak.
- Heureka čte parametry z bloků
PARAM. U vybraných kategorií má povinné parametry, bez kterých produkt nejde ve srovnávači správně filtrovat. Jejich seznam najdete v nápovědě Heureky. Názvy parametrů ve feedu proto sjednoťte s tím, co Heureka v kategorii očekává. - Google Merchant Center má pro běžné vlastnosti samostatné atributy (
color,size,material,pattern,gender,age_group). Technické specifikace, pro které vlastní atribut neexistuje, patří do product_detail se sub-atributysection_name,attribute_nameaattribute_value.
Z toho plyne praktické pravidlo: u každého vašeho parametru mějte v mapování i sloupec „kam jde ve feedu“. Pak stačí jeden zdroj pravdy a výstupy se generují automaticky. Podrobnosti ke struktuře feedů rozebíráme v článcích o feedu pro Heureku a Zboží.cz a o feedu pro Google Merchant Center.
Kde mapování běží
Technicky je mapování parametrů krok v ETL procesu importu. Pořadí má význam:
- Stažení a parsování feedu dodavatele.
- Mapování kategorie — protože sada filtrovacích parametrů závisí na kategorii.
- Mapování názvů parametrů.
- Rozdělení a sloučení hodnot, převod jednotek.
- Mapování hodnot přes slovník, neznámé do fronty.
- Doplnění chybějících parametrů z jiných zdrojů.
- Zápis do e-shopu a generování výstupních feedů.
Když se kategorie namapuje špatně, i dokonalé mapování parametrů nabídne produktu špatnou sadu filtrů. Proto kategorie jdou první.
Jak na to prakticky
- Vyberte pro každou hlavní kategorii 5–10 filtrovacích parametrů a založte jejich číselníky.
- Z feedů všech dodavatelů vytáhněte seznam názvů parametrů a četnost hodnot. Hned uvidíte, kde je nejvíc práce.
- Postavte slovník názvů, slovník hodnot a pravidla jednotek jako upravitelné tabulky.
- Neznámé hodnoty posílejte do fronty ke schválení, nikdy je nezapisujte naslepo do filtrů.
- Chybějící parametry doplňujte z jiného dodavatele nebo pomocí AI, ale přes stejný slovník.
- U každého parametru si poznamenejte, kam míří ve feedu pro Heureku a Google.
Mapování parametrů stavíme jako součást napojení dodavatelů a feedů. Jednorázová implementace začíná od 3 000 Kč za dodavatele, správu včetně údržby slovníků řešíme měsíčním paušálem. Pokud potřebujete doplnit parametry ve velkém, navážeme službou AI generování parametrů. Pošlete nám ukázku feedů a řekneme, kolik parametrů jde namapovat automaticky.
Potřebujete s tím pomoct?