Automatizace AdWords bidování #1

Ivana Hrazdilová   29. 1. 2016


Automatizace bidování je jedním z horkých témat posledních dvou let. Nejde jenom o časovou úsporu v porovnání s manuálním bidováním, ale také o zlepšení ROI díky možnosti vystavět systém přesně na míru zákazníkovi. Jaké metody výpočtu hodnoty bidu máme a jak dopadl náš pilotní test?

Nabidovat manuálně větší počet klíčových slov, a to ještě napříč několika dimenzemi, jako jsou lokace, zařízení, RLSA a další, není zrovna nejzáživnější práce. Při tvorbě automatického systému se ale fantazii meze nekladou. Do algoritmu tak můžeme implementovat data o aktuálním počasí, chování zákazníka v průběhu dne nebo například o dopravní situaci.

I proto jsme se v igloo rozhodli tomuto tématu více věnovat a přetavit naše poznatky do seriálu o automatizaci bidování. Naším cílem není napsat instatní návod na vlastní bidovací systém, ale položit základy, ze kterých můžeme vycházet při dalším testování.

Motivace

U bidování je velmi důležitá správnost stanovení reálných cílů, dle nichž následně zvolíme adekvátní strategii. Každý marketér k bidování přistupuje do určité míry po svém a nastavuje bidy podle své rozhodovací rutiny.

Není proto od věci zvážit použití AdWords automatických nastavení bidů, díky nimž se nejenže vyhneme manuální práci, ale také zlepšíme výkon reklam dle našich požadavků. Můžeme si přitom zvolit, zda nás zajímá maximalizace prokliků, zlepšení ROAS nebo například optimalizace CPA. Ve svém článku je všechny prakticky popisuje Markéta Kabátová.

Jasnou výhodou automatizace je tak možnost posuzovat více vybraných faktorů současně. Díky tomu můžeme bidovat zákazníkovi přímo na míru. Krásným a jednoduchým příkladem, jak to může fungovat, je případovka od brainlabs. Stačilo zde využít jednoho významného faktoru – vlivu počasí na konverzní poměr u online cestovní agentury.

Na následujících řádcích v krátkosti nakousnu příklady AdWords skriptů na úpravu bidů. Mějte na paměti, že pro jejich nasazení je potřeba ověřit, zda se pro konkrétního klienta hodí, poté je otestovat a zkalibrovat.

Zvýšení frekvence bidování

Konverzní poměr, chování zákazníka, hodnota ROI a celková aukce jsou v průběhu dne poměrně variabilní proměnné. Proto se vyplatí bidovat častěji něž jednou denně, což už manuálně není možné.

Interface AdWords povoluje bidovat v maximálně šesti časových oknech za den. Ani komerčně dostupné bidovací systémy nejsou žádná výhra. Umožňují 1, 2, nejvýše 4 změny denně. To nám ale ani zdaleka neumožní pokrýt dynamickou povahu našeho AdWords účtu.

Z téhle bidovací letargie nás dokáže vytrhnout nedávno vypuštěný skript od zmiňovaných brainlabs. Jako vstupní data u něj poslouží Google spreadsheet tabulka s nastavením bidů, jejíž URL vložíte do skriptu a můžeme bidovat ve 247 hodinové frekvenci. Na jejich webu najdete i další zajímavé skripty.

Další alternativou je skript od Optmyzr. Používá stejný systém 247 bidování, navíc ovšem umožňuje separátně nastavovat bidy odděleně pro jednotlivé kampaně. Bidovací plán v tomto případě nastavíte tak, že pojmenujete záložku Google spreadsheetu stejně jako danou kampaň. Skript tento název rozpozná. Záložek přitom můžete mít, kolik chcete. Na název záložky si ale dejte dobrý pozor, musí se přesně shodovat a je case sensitive.

Statická tabulka jako vstupní formát však neumožňuje dynamické změny bidů, použití více proměnných a další změny, které umožňuje práce přímo s Adwords API. Bidovat častěji se stejným nastavením postrádá smysl, proto je nutné skript spojit s další výpočetní částí. Dokázali bychom si představit i elegantnější řešení.

Metody výpočtu hodnoty bidu

1. Predikce lineární regrese a statistické modelování

Nejzajímavější na automatizaci bidování je samotná logika za výpočtem hodnoty bidu. V brainlabs k tomu použili statistickou metodu lineární regrese. Se svojí prací nedávno sklidili úspěch i na Marketing festivalu. Jejich prezentaci najdete níže a samotný skript tady.



Skript se spouští každou hodinu, vždy tak máme aktuální informace o aukci. Může fungovat i častěji (každých 5 minut), ovšem na to v brainlabs doporučují raději využít API. Dále je možné nastavit maximální i minimální hodnotu bidu. Klíčová slova, která chceme optimalizovat, musíme ručně oštítkovat a ke každému připsat kýženou pozici (viz část How to use the script). Pro ně pak skript stahuje hodnoty imprese, průměrnou pozici, CPC, a FirstPageCpc, které vstupují do modelu lineární regrese. Cílem je aproximovat data tak, aby výsledek co nejvíce vyhovoval funkci přímky. Jinými slovy jde o to najít parametry této přímky, pomocí nichž můžeme dopočítat předpovídané hodnoty.

Hlavní nevýhodu tohoto skriptu je právě nutnost manuálního štítkování klíčových slov, což v případě celého účtu může zabrat poměrně dost času. Na druhou stranu má skript zajímavé řešení problému nedostatečného objemu historických dat, kvůli němuž nelze lineární regresi použít. Brainlabs využívají shlukování relevantních klíčových slov do clusterů, které skript použije pro doplnění dat. Na základě míry podobnosti slov v clusteru jsou metriky pro klíčová slova ohodnoceny vahami a s nimi vstupují do modelu. Hodnoty vah klesají s časem. Starší data tedy nemají tak velký význam jako ta mladší.

2. Rule based-bidding vs. portfolio bidding

Jedním z nejjednodušších přístupů je rule based-bidding, kdy se stanoví bid pro každé slovo zvlášť. Opakem je tzv. portfolio bidding, řešící, jak by mohla na dosažení cíle spolupracovat všechna slova.

Řekněme tedy, že klíčové slovo je ohodnoceno 30 korunami (maximální CPA 300 Kč, konverzní poměr 0,1, tedy 300×0,1). Podle rule based-biddingu cenu dále kombinujeme s řadou dalších faktorů (geografie, zařízení, čas a den v týdnu atd.). Ukázkou takového přístupu je skript od Jarada Colliera, který vytvořil soupis pravidel na základě počtu konverzí klíčového slova, průměrné pozice a CPA.

Naopak u portfolio-based biddingu rozšiřujeme přístup směrem od jednoho klíčového slova na celý účet a snažíme se o optimální rozdělení rozpočtu mezi každé z nich. Tento postup je vhodný, zejména pokud pracujeme s omezenými rozpočty. Máme-li dvě klíčová slova se stejným CTR, ale jedno z nich je o polovinu levnější, podle rule-based přístupu bychom nabidovali obě dvě stejně. Naopak podle portfolio-based přístupu nabidujeme nejdříve levnější slovo a až poté zbytek rozpočtu přiřadíme dražšímu.

3. Strojové učení, neuronové sítě, rozhodovací stromy a lesy

Typická úloha strojového učení je třídit nebo předpovídat pro velký soubor dat, s nímž si už člověk sám neporadí. Pro dynamické změny bidování se proto skvěle hodí. Neuronové sítě a rozhodovací stromy jsou pouze další typy strojového učení.

Neuronové sítě pracují bez algoritmu, jejich činnost je založena na procesu učení. Při něm se síť adaptuje k řešení daného úkonu. Většinou si rozdělíme data na dva soubory, přičemž jednu hromádku použijeme v prvotní fázi učení. V ní dojde k nastavení vah (neuronů) a parametrů algoritmu tak, aby byl v druhé fázi výpočtu co nejlépe schopen pracovat s druhou hromádkou dat. Neuronové sítě dle dokumentace používá například eCPC strategie.

Rozhodovací stromy jsou rozhodně méně komplexní než neuronové sítě. Tvoří je sada hierarchicky uspořádaných rozhodovacích pravidel. Se stromovou strukturou se setkáváme poměrně často, neboť je přehledná a snadno interpretovatelná.

4. Další metody?

Podělte se s námi i o jiné přístupy, na které jste narazili, a napište nám!

Automatizujeme

Zvyšující se počet klientů, velikosti účtů a nárůst sebedůvěry nás donutil se nad automatizací také více zamýšlet. Pustili jsme se do vývoje vlastního nástroje a jsme odhodláni ho postupně vypilovat k dokonalosti. Pro začátek jsme chtěli přijít s něčím zajímavým, ale zároveň jednoduchým. Proto nepracujeme s bidy na úrovni klíčových slov, ale na úrovni modifikátorů – čas, zařízení, RLSA a kraje.

ROAS Penguin 2

Vstupní parametry

Všechny představené skripty využívají k rozhodování 2-4 metriky. Většinou jde o CPC, CPA doplněnou konverzním poměrem nebo průměrnou pozicí. My jsme se pro začátek rozhodli použít ROAS a CPC. Dále bychom chtěli pracovat s lokálním počasím, dny zbývajícími do výplaty či údaji z televizní kampaně. Při testu jsme využili účet jednoho z našich klientů, v němž jsme vyměřili několik testovacích kampaní.

ROAS a CPC jsme se snažili optimalizovat tak, že se bidy u modifikátoru testovací kampaně zvyšují, pokud je kampaň úspěšná a má lepší hodnoty než stejný modifikátor u ostatních kampaní na daném účtu a naopak. Čím větší je rozdíl mezi testovací kampaní a ostatními kampaněmi, tím větší změna v nabídce nastane. Podle předchozího rozdělení metod jde tedy o typ rule-based bidding založeném na změně dvou faktorů.

Nevýhodou tohoto přístupu je, že u testovacích kampaních je výrazně méně konverzí než u ostatních, což by mohlo zkreslovat výsledky. V dalším díle bychom tomuto riziku chtěli zamezit tak, že budeme pracovat s porovnáním modifikátorů za celý účet, a to mimo testovací kampaně. Na nich budeme hodnoty poté pouze měnit. Jde nám o pochopení fungování klientova businessu a nalezení dostatečně významných objektivních proměnných, ovlivňujících buď celý účet, nebo alespoň chování u stejného typu zboží.

Abychom měli s čím náš systém porovnat, spustili jsme na paralelních kampaních po dobu jednoho měsíce eCPC. Enhanced CPC uplatňuje učící se algoritmy, cross signálové analýzy, remarketingové seznamy, korelační analýzu atd. Nicméně do vlastní logiky nevidíme a zůstává víceméně black boxem.

Víme však o opatrnosti eCPC, neboť umožňuje změnu bidu pouze v rozsahu od -100 % do +30 %. Ostatně srovnání toho, jak se eCPC osvědčilo proti normálnímu CPC, najdete v článku na našem blogu. To, že eCPC na kontrolní skupině kampaní fungovalo déle než měsíc předs nastavením testu, znevýhodnilo náš systém, protože dostalo více času na učení a optimalizaci nastavení.

Výsledky

Při vyhodnocování musíme přihlédnout k tomu, že testování probíhalo v předvánočním období, tudíž bychom se měli spíše než na změnu v porovnání s minulým měsícem dívat na změnu eCPC oproti igloobidu. Obecně došlo ke zvýšení konverzního poměru, CTR, prokliků a zobrazení na úkor zvýšení nakladů. Nárůst nákladů byl téměř o 19 % vyšší než u eCPC s navýšením o pouhé 4,6 %. S tím souvisí i pokles ROAS u igloobidu, se kterým se nepodařilo hnout ani za cenu zvýšeného počtu konverzí. Kompletní výsledky jsme vložili na Drive.

eCPCigloobid
Prokliky (před)81356055
Prokliky (po)90667604
↑ 11,4 %↑ 25,6 % ✔
CTR (před) [%]4,193,64
CTR (po) [%]4,174,06
↓ -0,5 %↑ 11,4 % ✔
Cena (před) [Kč]82550,7451276,47
Cena (po) [Kč]90449,3975030,52
↑ 9,6 % ✔↑ 46,3 %
Celk. hodnota konverzí (před)205192,59118980,17
Celk. hodnota konverzí (po)320366,09161374,37
↑ 56,1 % ✔↑ 35,6 %

Shrnutí

Díky tomu, že jsme nijak neomezili nabídku (tak jako eCPC na maximálně 30 %), náš systém bidoval trochu divočeji. Proto jsme nedosáhli tak dobrého ROAS jako eCPC. V ostatních ohledech jsme si ale nevedli špatně. Aby bylo možné správně porovnat oba systémy, bylo by nutné do skriptu zahrnout stejné maximální a minimální hodnoty bidu jako má porovnávaný eCPC.

Tento test tak zatím bereme spíše jako bázi, na které můžeme stavět, než něco, co bychom chtěli tlačit do světa. V zásadě můžeme ovšem doporučit zvýšení frekvence bidování, díky čemuž získáme aktuálnější data o aukci a rozhodně nic nezkazíme. Jakou sadu faktorů k vyhodnocování bidů použít, však silně záleží na konkrétním případu.

Postupně budeme na blogu sdílet, co všechno a s jakými výsledky jsme do našeho systému zapracovali. Kam si myslíte, že se naše cesta bude ubírat? Stay tuned!