Automatické načítání nejnižší ceny z kategorie do inzerátů

Skript, který jsem prezentoval na zimním PPC Campu 2017, slouží pro načítání minimální ceny skupiny produktů do textu inzerátu a pro zjištění počtu nabízených produktů. V podstatě dělá automaticky to, o čem psal Karel Rujzl před dvěma lety – Jak v OpenRefine snadno získat nejnižší cenu zboží v kategorii?

Skript umí pracovat jak s jednotlivými účty, tak s MCC účty a seznam produktů může získávat z Googe merchant centra, nebo z jakéhokoli XML feedu. Pro nastavení je potřeba pouze přístup k těmto zdrojům a vytvoření několika tabulek na google disku.

Náhled tabulky s nastavením skriptu
Náhled tabulky s nastavením skriptu

Skript funguje tak, že načte všechny produkty z merchant centra (nebo feedu) a shlukne je podle typu produktů do pole. Ještě ke každému typu produktů najde minimální cenu a jejich počet. Následně si sáhne do tabulky s nastavením, kde zjistí, které kategorie chceme inzerovat podle sloupců ProductType a Neobsahuje. Podle zadaných kritérií opět najde minimální cenu a počet z připraveného pole a tyto informace společně s kampaní a sestavou, na kterou cílíme, zapíše do tabulky Personalizátorů.

Náhled výsledné tabulky personalizátorů
Náhled výsledné tabulky personalizátorů

Po propojení tabulky Personalizátorů s firemními údaji ve sdílené knihovně AdWords účtu můžeme začít používat proměnné v inzerátech pomocí {=tabulka.sloupec}.

Nastavení

Nastavení pro single account a merchant centrum:

  1. Nejprve je potřeba si vytvořit tabulky, na které budeme ze skriptu odkazovat. Zkopírujte si tedy tabulky Nastavení a Personalizátory a libovolně si je pojmenujte. V tabulkách nejsou žádné funkce, proto si je klidně můžete vytvořit sami, je pouze potřeba dodržet pořadí a názvy sloupců. Pro správné formátování ceny (oddělovač tisíců) je potřeba nastavit formátování sloupce C (Min_cena) v tabulce personalizátorů jako prostý text!
  2. V dalším kroku si zkopírujte skript pro jeden účet do AdWords a na první tři řádky vložte ID vašeho merchant centra, URL adresu na tabulku s nastavením, URL adresu na tabulku personalizátorů a kontaktní email.
  3. Nechte si otevřený skript a klikněte na Pokročilá rozhraní API, zde vyberte možnost ShoppingContent a uložte volbu. Pak klikněte na červené tlačítko náhled a potvrďte autorizaci. Opět klikněte na náhled a v protokolech skriptu vyskočí chybová hláška s URL adresou, tu si zkopírujte a přejděte na ni. Dostanete se do developerské konzole, kde tlačítkem ENABLE povolíte propojení skriptu s Merchant centrem.
  4. Nyní vyplňte do tabulky nastavení Cílenou kampaň, Cílovou sestavu, ProductType – čárkou oddělené fráze, která musí productType obsahovat, Neobsahuje – čárkou oddělené fráze, která productType nesmí obsahovat a Ks v balení – kolik kusů obsahuje balení, tímto číslem se výsledná cena vydělí a můžete tak inzerovat “vejce od 3,58 Kč za kus”, i když je cena za balení 43 Kč. Pokud toto pole necháte prázdné, tak se počítá s jedním kusem v balení. Vyplňte takhle tolik řádků, kolik budete potřebovat. Nově ještě Brand Minimální cena – pokud bude nalezená cena nižší, bude reklama pozastavena a odeslán informační email.
  5. Nastavte automatické spouštění skriptu na každou hodinu a konečně jej můžete poprvé spustit. Tabulka Personalizátorů se začne plnit daty.
  6. Výslednou tabulku Personalizátorů si stáhněte ve formátu *.xlsx a nahrajte ji do AdWords účtu Sdílená knihovna -> Firemní údaje -> Údaje nástroje pro personalizaci reklam. Následně propojte právě nahrané údaje pro personalizaci reklam s původní tabulkou na google disku a zapněte aktualizaci každých 6 hodin.
  7. V sestavách, na které cílíte podle tabulky Nastavení, vytvořte novou reklamu s personalizátorem.
  8. Nyní je vše připraveno, vaše jediná práce je přidávat do tabulky Nastavení nové řádky (cílené sestavy) a vytvářet pro ně reklamy.

Pro nastavení MCC účtu napojeného na merchant centrum je postup obdobný:

  1. V sešitě Nastavení je potřeba vytvořit tolik listů, kolik účtů chcete nastavovat a libovolně si je pojmenovat. Dále je nutné pro každý účet vytvořit samostatnou tabulku Personalizátorů. Opět je důležité dodržet pořadí a názvy sloupců a nastavit formátování sloupce C jako prostý text.
  2. Nyní si zkopírujte skript pro MCC účet a do druhého řádku skriptu vložte do apostrofů čísla všech účtů, které chcete spravovat a oddělte je čárkami. O kousek dále zadejte URL adresu na tabulku s nastavením. Nakonec do proměnné nastaveni vložte tolik řádků, kolik účtů chcete spravovat s těmito hodnotami oddělenými čárkou: [ID účtu, “název listu v sešitě nastavení”, “id tabulky personalizátorů”, merchant ID pro daný účet, „email“]
  3. Odtud je nastavení podobné jako pro jeden účet, propojte tedy skript s Merchant centrem a potvrďte všechny autorizace (krok 3).
  4. Proveďte kroky 4-8 pro každý účet zvlášť, pak bude skript nastavený!

Skripty ke stažení

Pro jeden účet s napojením na Merchant Centrum

Pro MCC účet s napojením na Merchant Centrum

Pro jeden účet s napojením na XML feed

Pro MCC účet s napojením na XML feed

  1. Dobrý den, Ondro,

    nevyskočila mi chybová hláška s URL adresou – „tu si zkopírujte a přejděte na ni. Dostanete se do developerské konzole, kde tlačítkem ENABLE povolíte propojení skriptu s Merchant centrem.“

    Pokud nechám tabulku nastavení bez úprav v původním stavu, preview proběhne bez errorů.

    Pokud však doplním vlastní data, dostanu v logu tento error:
    TypeError: Cannot call method „search“ of null. (file Code.gs, line 176)

    Nevíte čím by to mohlo být?

    Moc díky,
    Markéta

  2. Dobrý den, Ondro,
    předně díky za super skript! Používám jej už více než rok.

    V nedávné době jsem narazil na chybu, kdy počet produktů a minimální ceny uvedené v reklamamách neodpovídají skutečnosti. Prošel jsem feed, zpracování v merchant, vytvořené sheety v google tabs, script a všude je to v pořádku. Když se podívám na protokol scriptu, tak je to také v pořádku, jen do reklam se mi propisují jiné hodnoty. Zkoušel jsem vytvořit i nové reklamy a proměnné zadat znovu, ale chyba přetrvává.

    Nenapadá Vás, co by mohlo tuto chybu způsobovat? Já už jsem vyčerpal všechny nápady…

    Předem moc díky za odpověď
    Pavel

  3. Dobrý den, Ondro,
    předně díky za super skript! Používám jej už více než rok.

    V nedávné době jsem narazil na chybu, kdy počet produktů a minimální ceny uvedené v reklamamách neodpovídají skutečnosti. Prošel jsem feed, zpracování v merchant, vytvořené sheety v google tabs, script a všude je to v pořádku. Když se podívám na protokol scriptu, tak je to také v pořádku, jen do reklam se mi propisují jiné hodnoty. Zkoušel jsem vytvořit i nové reklamy a proměnné zadat znovu, ale chyba přetrvává.

    Nenapadá Vás, co by mohlo tuto chybu způsobovat? Já už jsem vyčerpal všechny nápady…

    Předem moc díky za odpověď
    Pavel

  4. Dobrý den,

    chtěl bych se zeptat, jestli je běžné, že se při opětovném spuštění skriptu data v „personalizátoru“ duplikují, ale cílová RS je s malými písmeny, přestože jsem v „nastavení“ nastavil názvy RS s prvními velkými písmeny.

    Předem děkuji za Vaši odpověď.

    S pozdravem
    Petr Gyüre

    1. Dobrý den,
      naopak je to divné, s velikostí písmen názvů kampaní a sestav skript vůbec nepracuje.
      Je divné, že po prvním spuštění se písmo nezmění, ale až po druhém. Zkuste, prosím, vymazat vše z tabulky „personalizátorů“ kromě prvního řádku (záhlaví) a spustit skript opakovaně.
      Do tabulky nastavení je potřeba dát název kampaně i sestavy přesně tak, jak je v adwords. Včetně velikosti písmen a speciálních znaků.

      Dejte mi vědět.
      Díky, Ondra.

  5. Úpravy:
    – Vyhledávání podle Brandu
    – Nastavení minimální ceny pro alerty
    – Lepší počítání počtu produktů
    – Počítá se i s akční cenou

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *