Automatické triedenie produktov pre Google Shopping a Heureku
Nástroj, ktorý automaticky priraďuje produktom správne kategórie pre Google Shopping a Heureku. Pomáha zlepšiť kvalitu feedu bez toho, aby tím musel ručne triediť tisíce produktov.
- Klient
- Interný nástroj pre veľký e-commerce brand
- Rola
- Samostatne
Použité technológie
- Google Apps Script
- Vertex AI (text-embedding-004)
- Gemini 2.5 Flash Lite
- Vertex AI fine-tuning
- Google Sheets
- OAuth 2.0 service account
Dopad
- Čo umožňuje
- Produkty dostávajú správnu kategóriu automaticky. Tím nemusí ručne riešiť každý riadok vo feede a kampane v Google Shoppingu alebo Heureke dostávajú kvalitnejšie vstupné dáta.
- Metrika
- Kapacita 8000 produktov denne; v praxi spracuje najmä novo pribudnuté produkty a už hotové preskočí
- Cena prevádzky
- Centy za 1000 riadkov v ustálenom stave — väčšina produktov sa vyrieši lacnejšou automatickou kontrolou, AI model sa volá iba pri ťažších prípadoch
- Používatelia
- PPC tím a ľudia zodpovední za produktové feedy
Čo to umožňuje
Produktový feed odchádza do Google Shoppingu a Heureky so správnou kategóriou pri každom produkte, odvodenou z názvu a popisu produktu. Nie z ručne udržiavanej tabuľky, ktorá časom zastará.
Cieľom bolo priradiť každému produktu správnu kategóriu z Google taxonómie a zároveň minimalizovať počet AI volaní, aby riešenie šetrilo náklady aj tokeny. Väčšina produktov sa preto vyrieši lacnou matematikou a drahší AI model sa volá iba pri ťažších prípadoch.
Výsledkom je kvalitnejší g:google_category vo feede, čo pomáha Google Shoppingu aj Performance Max kampaniam. Rovnaký princíp beží aj pre Heureku — len s jej kategóriami.
Cena prevádzky: v ráde centov za 1000 produktov v ustálenom stave.
Problém
Produktový katalóg tejto veľkosti sa nedá ručne kategorizovať pri každej aktualizácii feedu. V hre boli dva slabé prístupy:
- Ručné mapovacie tabuľky, ktoré časom zastarávajú, keď pribúdajú nové typy produktov.
- AI volanie na každý produkt, ktoré je pri veľkom katalógu drahé a nie vždy konzistentné.
V oboch prípadoch sa problém prejavil až neskôr: produkty zlyhávali vo feede, zobrazovali sa v nesprávnych vyhľadávaniach alebo podávali slabší výkon, pretože boli zaradené zle.
Riešenie — trojstupňový lievik
Celé riešenie je postavené v Google Sheets cez Apps Script. Každý produkt prechádza tromi vrstvami zoradenými od najlacnejšej po najdrahšiu. Akonáhle niektorá vrstva dá dostatočne istý výsledok, produkt je hotový a ďalej nepokračuje.
Produkt (názov + popis)
│
▼
┌────────────────────────────────────────────────────────────────┐
│ 1. Embeddings — významová podobnosť voči uloženým kategóriám │
│ cosine similarity >= 0.90 → priradiť kategóriu, hotovo │
└────────────────────────────────────────────────────────────────┘
│ (nízka istota)
▼
┌────────────────────────────────────────────────────────────────┐
│ 2. Vlastný natrénovaný Gemini model │
│ vráti kategóriu zo zoznamu → priradiť, hotovo │
└────────────────────────────────────────────────────────────────┘
│ (mimo zoznamu / prázdne)
▼
┌────────────────────────────────────────────────────────────────┐
│ 3. Gemini 2.5 Flash Lite pre najťažšie prípady │
│ detailný prompt + top kandidáti z embeddings → kategória │
└────────────────────────────────────────────────────────────────┘
1. Embeddings — najlacnejší a najrýchlejší krok
Najprv sa porovná význam produktu s kategóriami matematickou podobnosťou. Názov a popis produktu aj jednotlivé kategórie sa prevedú na číselný vektor a cez cosine similarity sa nájde najbližšia kategória. Ak je zhoda aspoň 90 %, kategória sa priradí automaticky a žiadne LLM volanie nie je potrebné. Embeddingy kategórií sa cachujú, takže sa nepočítajú opakovane.
2. Vlastný natrénovaný Gemini model — keď embedding nestačí
Ak prvý krok nedá dostatočne istý výsledok, nastúpi Gemini model natrénovaný na našich produktoch a kategóriách. Pozná naše dáta lepšie než všeobecný model, takže kategorizuje presnejšie a lacnejšie. Ak vráti kategóriu, ktorá existuje v našej taxonómii, použije sa.
3. Fallback Gemini 2.5 Flash Lite — pre okrajové prípady
Ak neprejde embedding ani natrénovaný model, použije sa štandardný Gemini s detailným promptom a vlastnými pravidlami. Nedostane celú taxonómiu, ale len najpravdepodobnejších kandidátov z embeddings, z ktorých vyberie najvhodnejšiu kategóriu. Tento krok rieši iba okrajové a nejasné prípady.
Detaily, ktoré rozhodujú o cene a spoľahlivosti:
- Uložené výpočty kategórií. Embeddingy kategórií sa nespracúvajú znova pri každom behu, čím sa šetrí čas aj peniaze.
- Bezpečné opakované spustenie. Už spracované produkty sa preskočia a manuálne uzamknuté riadky sa nemenia.
- Poznámka pri každom riadku. Tím vidí, ktorá vrstva kategóriu priradila, takže vie ľahko skontrolovať rizikové prípady.
Bezpečnosť a prevádzka
- Servisný účet s rolou Vertex AI User. JSON kľúč je uložený v Script Properties, nie priamo v kóde.
- Lock proti súbežnému behu. Spustenie je chránené zámkom, aby nebežali dva procesy paralelne.
- Retry s exponential backoff. API volania aj čítanie a zápis do Sheets sa pri chybe opakujú s narastajúcou pauzou.
- Týždenný trigger. Script beží automaticky raz týždenne; rieši najmä novo pribudnuté produkty a už hotové preskočí.
Kľúčové poučenia
- Lacná predkontrola pred drahšou AI výrazne znižuje náklady.
- Vlastný model je dobrá stredná vrstva, ale najlepšie funguje v kombinácii s ďalšími kontrolami.
- Ak sa nástroj dá bezpečne spustiť opakovane, môže bežať pravidelne a bez dozoru.
- Poznámka priamo v tabuľke je praktickejšia než technické logy, pretože ju vie použiť aj marketér.