Ráno vidíte v Merchant Center 260 zamítnutých produktů. Včera jich bylo 12. Samotné číslo 260 vám ale změnu neukáže, dokud ho nemáte s čím porovnat.
U katalogu s 80 000 produkty je 260 zamítnutí běžný výkyv. U menšího katalogu stejné číslo znamená výpadek části sortimentu a s ním i tržeb. Bez srovnání s předchozím dnem výkyv od výpadku nerozeznáte.
Ukážu vám, co Merchant Center pohlídá sám a které čtyři signály se vyplatí hlídat navíc. Na konci najdete veřejný skript, který je hlídá za vás.
Co vám Merchant Center ukáže sám
Přehled produktů ukazuje stav produktů a graf historie. Podle nápovědy Merchant Center vám graf pomůže pochopit změny stavu produktu ve vybraném období. Zpětně v něm dohledáte, kdy zamítnutí začala přibývat.
Merchant Center dělí problémy podle úrovně. Problémy na úrovni účtu ukazuje banner v horní části účtu. Všechny problémy na úrovni produktů najdete na kartě "Vyžaduje pozornost".
Část informací přijde i do schránky. Podle nápovědy k problémům v Merchant Center posílá Google e-mail s varováním s příklady problémů, které je třeba vyřešit. O pozastavení účtu vás informuje také e-mailem.
Záleží na velikosti katalogu, kolik zamítnutí navíc je pro váš sortiment důvod k poplachu. Práh pro poplach si nastavíte sami ve skriptu nad Merchant API, který porovná dnešní stav s předchozím dnem.
4 signály, kdy vestavěný přehled nestačí
Skript hlídá čtyři signály současně a každý z nich zachytí jiný typ problému. Prahy u signálů jsou příklad. Pro malý i velký katalog je nastavíte jinak.
1. Absolutní nárůst
První signál se ozve, když zamítnutých produktů přibude proti předchozímu dni víc než pevný počet, například 10. Absolutní práh sedí hlavně malému katalogu. U katalogu s 500 položkami skáče relativní změna i bez příčiny: pár zamítnutí navíc a procento vyletí nahoru, přestože se ve feedu nic nerozbilo.
U velkého katalogu je 10 produktů šum. Tam absolutní práh zvedněte podle velikosti katalogu.
2. Relativní nárůst
Druhý signál sleduje procento proti předchozímu dni, například od 20 %. Někdo nastaví 10 %, jiný 30 %. U katalogu s 80 000 produkty je 10 zamítnutí navíc šum, 2 000 už ne. Procento se ale počítá z včerejšího počtu zamítnutých, ne z velikosti katalogu. Katalog z úvodu by s 12 zamítnutými včera a 260 dnes alert spustil, přestože jde o běžný výkyv. Relativní práh proto nastavte podle toho, kolik zamítnutých míváte v běžný den.
Slabé místo má relativní signál tam, kde bylo včera zamítnutých málo. Alert pak chodí i bez příčiny, u malého katalogu stejně jako u velkého.
3. Nový důvod zamítnutí
Třetí signál místo produktů porovnává důvody. Ozve se u každého důvodu v poli item_issues, který předchozí den ve výpisu nebyl. Zachytí tak rozbitý atribut nebo zásah kvůli porušení pravidel dřív, než se projeví v počtech.
Práh tenhle signál nepotřebuje. Stačí, že důvod včera ve výpisu chyběl a dnes tam je, klidně jen u pár produktů.
4. Podíl na katalogu
Poslední signál hlídá podíl zamítnutých produktů na celém katalogu, například nad 5 % sortimentu. Slouží jako pojistka na pomalý růst. První tři signály mlčí, když zamítnutí přibývají každý den po dávkách pod prahem a důvody zůstávají stejné. Podíl na katalogu ten trend po čase ukáže.
| Signál | Příklad prahu | Co zachytí | Kdy selže |
|---|---|---|---|
| Absolutní nárůst | například +10 produktů za den | skok u malého katalogu | u velkého katalogu hlásí šum |
| Relativní nárůst | například 20 %, jinde 10 nebo 30 % | skok proti včerejšímu počtu zamítnutých | při nízkém včerejším počtu hlásí i bez příčiny |
| Nový důvod | důvod, který včera nebyl | rozbitý atribut, zásah kvůli porušení pravidel | nárůst u důvodu, který už znáte |
| Podíl na katalogu | například nad 5 % sortimentu | pomalý růst po malých dávkách | mlčí, dokud podíl nepřekročí práh |
Příklad
Katalog z úvodu: včera 12 zamítnutých, dnes 260, v katalogu 80 000 produktů
- Absolutní nárůst: z 12 na 260 je +248 produktů, práh +10AlertU velkého katalogu je 10 produktů šum.
- Relativní nárůst: z 12 na 260 je víc než +2 000 %, práh 20 %AlertProcento se počítá z včerejšího počtu zamítnutých.
- Podíl na katalogu: 260 z 80 000 je 0,325 %, práh 5 %MlčíSlouží jako pojistka na pomalý růst.
Každý ze čtyř signálů má slepé místo, a proto je skript hlídá všechny najednou.
Jak hlídání postavit přes Merchant API
Data o stavu produktů vrací Merchant API v přehledech (Reports) přes metodu reports.search. Dotaz míří na tabulku product_view s poli id, offer_id, aggregated_reporting_context_status a item_issues. Tvar dotazu podle dokumentace Merchant API:
SELECT offer_id, id, title, price FROM product_view WHERE aggregated_reporting_context_status = 'NOT_ELIGIBLE_OR_DISAPPROVED'
Pro hlídání důvodů přidejte do výběru pole item_issues. Stav v poli aggregated_reporting_context_status nabývá čtyř hodnot: ELIGIBLE (produkt je způsobilý pro všechny kontexty), ELIGIBLE_LIMITED (způsobilý jen v některých kontextech), NOT_ELIGIBLE_OR_DISAPPROVED a PENDING. Pozor na verzi: pracujte s Merchant API v1. Verze v1beta měla podle plánu Googlu skončit 28. 2. 2026.
Skript uloží každý snímek a porovná ho s předchozím. Výsledkem je výpis počtů podle důvodu zamítnutí: u každého důvodu změna proti předchozímu dni a příznak, jestli je důvod nový. Když jeden nový důvod visí na stovkách produktů, zkontrolujte nejdřív poslední načtení feedu.
Hotový monitor jsem dal veřejně na GitHub a odkaz na něj najdete i na stránce o mně. Pro kampaně mám zvlášť skript na hlídání změny biddingu. Monitor běží zdarma v Google Apps Scriptu a alert pošle do Google Chatu nebo e-mailem. Spouští se sám jednou denně.
Kontrolu načasujte podle plánu načítání, který máte u zdroje dat v Merchant Center nastavený, tak aby mezi dvěma kontrolami proběhlo jedno načtení feedu. Rozdíl ve výpisu pak porovnáte s tím, co se v posledním importu změnilo. Import je první místo, kde příčinu hledat. Zamítnutí ale přibývají i bez importu, třeba když Google zjistí nesoulad s pravidly.
Co s alertem dělat
Zprávy posílejte tam, kde se pracuje: do Google Chatu, e-mailem nebo do jiného chatu. Prahy nastavte tak, aby v klidných dnech žádný alert nepřišel.
Dopředu určete, kdo řeší které důvody. Chybějící nebo špatná data ve feedu řeší správa feedu, nedostupné obrázky a stránky vývojář. Porušení pravidel řeší majitel e-shopu úpravou sortimentu nebo webu.
Schéma
Kdo řeší který důvod zamítnutí
- Chybějící nebo špatná data ve feeduSpráva feeduDatovou chybu opraví třeba v doplňkovém feedu.
- Nedostupné obrázky a stránkyVývojář
- Porušení pravidelMajitel e-shopuÚpravou sortimentu nebo webu.
Po alertu se dívejte nejdřív na důvod, až potom na počet. Zjistěte, jestli je důvod nový, nebo jen narostl. U nového důvodu zkontrolujte, co se v posledním načtení feedu změnilo. Datovou chybu pak opravíte třeba v doplňkovém feedu.
Postup pro jednotlivé důvody najdete v přehledu 10 nejčastějších důvodů zamítnutí. Když jsou důvody rozptýlené po celém sortimentu, zkontrolujte nejdřív problémy na úrovni účtu v banneru v horní části Merchant Center. Co dělat, když hrozí pozastavení účtu, popisuju v článku o pozastavení účtu kvůli misrepresentation.
Shrnutí
- Stav, historii i problémy produktů vidíte přímo v Merchant Center. Graf historie leží v přehledu produktů, karta "Vyžaduje pozornost" soustřeďuje problémy produktů a e-mailem přijde varování i zpráva o pozastavení účtu. Práh pro denní změnu si ale e-shop určí sám a ten práh hlídá skript.
- Čtyři signály běží současně. Absolutní a relativní nárůst, nový důvod a podíl na katalogu nastavte podle toho, jestli máte stovky, nebo desetitisíce položek.
- O tom, kdo opravu udělá, rozhoduje důvod zamítnutí. Počet zamítnutých produktů vám řekne jen to, že se něco děje.
- Data bere skript z Merchant API verze v1, z tabulky
product_viewse stavem každého produktu a polemitem_issues. - Hotový monitor je zdarma. Google Apps Script z GitHubu posílá alert do Google Chatu nebo e-mailem.
- Kontrolu važte na import feedu. Jedna kontrola na každé načtení zdroje dat vám pomůže dohledat, který import mohl problém přinést.
Ke grafu historie v Merchant Center tak přidáte vlastní práh a alert, který vám řekne, kdy jednat.
Stáhněte si monitor z GitHubu, nastavte čtyři signály podle velikosti katalogu a první výpis porovnejte hned po příštím načtení feedu.
