Blog

14 Articles

Elágazások, a következő AdWords Scripts építőkocka

Nap, mint nap találkozunk elágazásokkal, ahol döntést kell hoznunk, hogy az egyik irányba menjünk vagy a másikba. Főzzek a hétvégén? Ha igen, akkor el kell menni bevásárolni, ha nem, akkor rendelünk ebédet. Van ma időm elmenni edzeni? Ha igen, akkor elmegyek az edzőterembe, ha nem, akkor a környéken futok kicsit. A minta rettentő egyszerű. Van egy kérdés, amire igen vagy nem választ lehet adni és mindkét esetben megmondjuk, hogy adott esetben mit teszünk.

PPC-s szempontból is rengeteg ehhez hasonló kérdés merül fel. Nőtt a konverziós költség? Ha igen, akkor csökkentem a licitet, ha nem, akkor nem csinálok semmit. Időarányosan túlkölt a kampány? Ha igen, akkor csökkentem a büdzsét, ha nem, akkor növelem.

Elágazás kódszerűen

Nézzünk egy olyan példát, amit már kódszerűen kidolgozunk. Szeretnénk a büdzsénket úgy optimalizálni, hogy ott költsünk többet, ahol a CPA alacsony és ott költsünk kevesebbet, ahol a CPA magas. Azt mondjuk, hogy azon kampányoknál növeljük a büdzsét 10%-kal, ahol az elmúlt 30 napos kampányra vonatkozó CPA 30%-kal kisebb a fiók átlagánál és csökkentsük a büdzsét 10%-kal, ahol az elmúlt 30 napos kampányra vonatkozó CPA 30%-kal nagyobb a fiók átlagánál.

If (kampány CPA < fiók CPA * 0,7) {
Kampány büdzsé növelése 10%-kal;
}

If (kampány CPA > fiók CPA * 1,3) {
Kampány büdzsé csökkentése 10%-kal;
}

Nézzük meg, hogy hogyan is épül fel az előző pár utasítás, milyen logikát használunk.

Észrevehető, hogy itt nem a klasszikus, ha igen, akkor ezt csinálom, ha nem, akkor pedig azt csinálom logikát alkalmazzuk. Helyette azt mondjuk, hogy ha ez igaz, akkor ezt csináljuk, ha pedig az igaz, akkor azt csináljuk. Ez igazából két egymástól teljesen független elágazást jelent. Ez amiatt jó példa, mert a gyakorlatban sokszor találkozunk olyan döntéshozatallal, amikor több elágazást használunk együtt, hogy a kívánt üzleti logikát megvalósítsuk.

A másik érdekes dolog, hogy nem foglalkozunk azzal a résszel, hogy mi van, hogy ha a feltételünk nem igaz. Ez is egy fontos tulajdonságuk az elágazásoknak, hogy kötelezően csak az igaz ágra kell egy cselekvést definiálnunk, a nem ág csak opcionális.

Összegezve tehát van két elágazásunk, ami egymás után következik, függetlenek egymástól és csak az igaz ággal foglalkozunk bennük.

Az első elágazás keresi a jól teljesítő kampányokat. Ha például a fiók átlagos CPA-ja 1000 Ft, az adott kampányé pedig 600 Ft, akkor a feltételünk igaz lesz, mivel 600 < 1000 * 0,7, így a kampány büdzséje növekedni fog 10%-kal.

A második elágazás keresi a rosszul teljesítő kampányokat. Ha van egy kampányunk, aminek a CPA-ja 1100 Ft, akkor az az átlagtól rosszabbul teljesít, de a 30%-os értékben még benne lesz, amit kezdeti feltételként szabtunk. 1100 > 1000 * 1,3, itt a feltétel nem lesz igaz, tehát nem történik semmi.

Látható, hogy egy ilyen egyszerű logikával már karban tudjuk tartani egy fiók büdzséjét, hogy az adott időpillanatban a lehető legoptimálisabban legyen elköltve.

Elágazás ténylegesen kódolva

Az előzőekben kódszerűen kidolgozott példát most pedig tényleges kód formába öntjük. A kód a fenti logikát fogja leképzeni, még pedig úgy, hogy a fiók összes kampányán automatikusan végigmegy.

 

A gyakorlatban tudjuk, hogy ennél szofisztikáltabb megoldásokra is igény lehet. Pl. kell egy teljes büdzsékeretet tartani vagy adott konverziók eltérő ROI-val dolgoznak, így részletesebb logikára van szükség. Ebben rejlik a scriptelés szépsége, hogy gyakorlatilag korlátlan lehetőségünk van az üzleti logikák megvalósítása terén és pont olyan automatizmust tudunk készíteni, amire nekünk szükségünk van.

Webáruházak és az AdWords Scripts

Az AdWords Scriptet mindenkinek című korábbi posztomban már írtam arról, hogy nagyon sokféle AdWords projektnél sikeresen lehet alkalmazni az AdWords Scripteket, mégis az ecommerce szegmens az a terület, ahol ezt a leghatékonyabban lehet tenni. Ennek ellenére azt látom, hogy még mindig sok webáruház nem használja ki az AdWords automatizálás lehetőségeit és így veszteséget generál az optimálisabb állapothoz képest. A következőkben összefoglalom azokat a legfontosabb lehetőséget, amivel ecommerce AdWords kampányainkat még sikeresebbé tehetjük AdWords automatizálás révén.

webaruhaz_adwords_scripts_1

Termékszintű hirdetések

Ha forgalmat terelünk egy webáruházba, akkor azok a legértékesebb látogatók, akik már egy konkrét terméket keresnek, hisz náluk van a legnagyobb esély a vásárlásra. Ha például valaki a Samsung ABC-123 TV-t keresi, akkor bár megjelenhetünk a +samsung +tv kulcsszóra is, de valószínűleg nem a kívánt termék aloldalára fog landolni a látogató. Emiatt az összes termékre kellene termékszinten egyedi kulcsszavakat és egyedi ad copykat létrehozni, amivel a látogató az adott termék aloldalára fog landolni.

Sok ezer termék esetén valószínűleg nem racionális egy ilyen kampánystruktúrát manuálisan létrehozni, bár fizikailag nem lehetetlen. Sokkal egyszerűbb mód, hogy ha rendelkezésünkre áll egy adatbázis a webáruház termékeiről, így AdWords Scripts segítségével le tudjuk generálni a megfelelő kampányokat.

Raktárkészlet lekövetése

Ecommerce projektek esetében a tranzakciót legjobban befolyásoló tényezők az ár és az elérhetőség. A kampány sikeressége az ár függvényében egy összetettebb kérdés, viszont az elérhetőség sokkal jobban leegyszerűsíthető, hisz vagy van a termék raktáron vagy nincs. Másként megfogalmaza vagy nagyobb az esély a vásrlásra, mert van raktáron vagy kisebb az esély a vásárlásra, mert nincs raktáron. Nyílván mi akkor szeretnénk megjelenni és kattintást generálni, hogy ha minél nagyobb az esély a vásárlásra, így csak akkor hirdetnénk a terméket, ha van készleten, egyébként leállítanánk a hirdetést.

Gondoljunk bele, hogy a raktárkészlet napon belül is változik, így például a raktárkészlet óránkénti lekövetése több ezer terméknél már fizikailag kivitelezhetetlen, de nem az AdWords Scripts számára. Itt megvan a lehetőségünk, hogy óránként változtassuk, hogy melyik ad group, azaz melyik termék aktív és melyik van szüneteltetve.

Elképzelhető az is, hogy a termékeink nagy részénél szeretnénk az előbbi logikát alkalmazni, viszont vannak húzótermékek, amiket mindenképp hirdetni szeretnénk. Például mobiltelefonokat értékesítünk, alapértelmezetten csak azt hirdetjük, ami raktáron van, viszont az Apple termékeket minden esetben hirdetjük. Ezt a finomított logikát még meg lehet annyival fejelni, hogy ha az adott Apple termék van raktáron, akkor olyan ad copyt futtatunk, amiben azt mondjuk, hogy a termék raktárról elérhető, ha pedig nincs, akkor olyan ad copy fut, amiben valamilyen más USP jelenik meg.

Ár megjelenítése a hirdetésben

Örök dilemma, hogy jelenítsünk meg árat a hirdetésben vagy sem. Ha nem jelenítünk meg árat, akkor nagyobb lehet a kattintás esélye, viszont benne van a kockázat, hogy az oldalra érkezve túl magasnak találja az árat a vevő, így rögtön el is hagyja az oldalt. Ha megjelenítjük az árat, akkor bár kevesebb kattintást kaphatunk, de nagyobb a valószínűség a jó minőségű klikkekre. Mivel minden piac más és más, ezért minden esetben le kell tesztelni, hogy számunkra melyik stratégia az optimális.

Ha az árak megjelenítése számunkra az optimálisabb stratégia, akkor ad customizereket kell használni, hogy az árak folyamatosan frissülni tudjanak az ad copyban. Korábban a frissítésre csak AdWords Scripts által volt lehetőségünk, ma már lehetőség van egy feedet megadni. Ha minden feltétel adott, akkor itt nem szükséges scriptet használni. A gyakorlatban mégis találkozunk olyan esetekkel, amikor van feed, de nem olyan struktúrában, ahogy az ad customizernek kellene vagy egyáltalán nincs feed, de a weboldalból ki lehet olvasni a tartalmakat. Ezen esetekben scriptek segítségével meg tudjuk oldani, hogy az ad customizerben elérhető legyen az aktuális ár. Ezeket a megoldásokat csak rövid távon ajánljuk, mivel a fejlesztő nem tudja lefejleszteni az ad customizer számára optimális feedet.

webaruhaz_adwords_scripts_2

Új termékek automatikus importálása

A termékszintű hirdetések című korábbi részben megnéztük, hogy hogyan építsük fel a kampányunkat az aktuálisan elérhető termékekkel. Ez a művelet egy időpillanatban történik, viszont az idő előrehaladtával érkezhetnek új termékek, amit szintén nem manuálisan érdemes lekezelni, hanem automatikusan.

Az új termékeknek ugyanazokat az AdWords entitásokat kell létrehozni, viszont egy dologra nagyon kell figyelni. Amikor a script automatikusan generálja le az ad groupokat, kulcsszavakat és ad copykat, akkor ő nem figyel arra, hogy korábban az adott terméket legeneráltuk-e már, így duplikációk keletkezhetnek, amik nem hatékony kampánystruktúrát eredményeznek. Emiatt nekünk kell a scriptünkben egy olyan megoldást elhelyezni, ami csak az új termékek AdWords entitásait generálja le, így biztosan nem lesz duplikáció.

Margin alapú licitálás

Bizonyos piacokon bár nagy volumeneket generálnak a webáruházak, de mégis kicsi marginnal dolgoznak, ezért kritikus az, hogy az adott terméket mekkora költséggel adták el. Ha tudjuk a margint, akkor pontosan meg tudjuk mondani, hogy adott terméket mekkora konverziós költség mellett érdemes eladni.

Egy bid manager script ezt a problémát is le tudja kezelni, hogy ha van egy külső adatforrásunk, ahol termékenként megjelennek a marginok. Ha egy ad group reprezentál egy terméket, akkor a script pontosan tudni fogja, hogy mi a maximális konverziós költség, ami mellett még nyereséges egy termék értékesítése.

Útravalónak

Az előző példákat átolvasva láthatjuk, hogy ezek mind olyan automatizmusok, amelyek bármilyen webáruház performanciáját növelni tudják. Vannak nagy szereplők, akik ezeket a megoldásokat már tudatosan használják, viszont még mindig sok olyan piaci szegmens van, ahol ezeket az AdWords automatizmusokat a szereplők többsége nem használja ki. Ma azt mondhatjuk, hogy ezen megoldások alkalmazása egyértelmű versenyelőnyhöz vezet, viszont amint a többség már ezt fogja használni, úgy a többi webáruház fog versenyhátrányba kerülni.

Ha lenne kérdésed, további AdWords automatizálás ötleted vagy egyéb észrevételed, akkor kommentelj bátran, hogy válaszolhassak!

Budget kontroller script

A napokban jött ki egy olyan változtatás a Google részéről, amivel jóval nagyobb teret engednek a napi túlköltésnek. 20%-ot eddig is túlkölthettek a kampányok, viszont most ez az érték meg lett emelve 100%-ra. Bár van egy olyan limit, hogy havi periódusban tartania kell a rendszernek a napi költési limitet, bizonyos esetekben mégis nehézséget okoz, hogy az AdWords jóval tágabban értelmezi a napi költési limitet. A funkciót kikapcsolni nem lehet, a korábbi 20%-os limitre sem lehet visszaállni, viszont a következő script megoldást nyújt a napi büdzsé kezelésére.

A scriptet óránkénti futással kell beállítanunk. Minden órában megnézi a script, hogy adott kampánynál elköltöttük-e már a napi költéskeretet. Ha igen, akkor leállítja és egy Stop labelt helyez a kampányra. Éjfél és 1 óra közötti futásnál pedig újraindítja a leállított kampányokat és leveszi a Stop labelt. Majd indul az egész folyamat előről.

Mit kell tenni, hogy a scriptet futtatni tudd? Csak másold be az alábbi scriptet a fiókodba óránkénti ütemezéssel, illetve kampányszinten hozz létre egy “Stop” labelt.

Ciklusok AdWords Scriptekben

For ciklus

for (i=1;i < 11;i++) {

Lépés 1

Lépés 2

Lépés 3

}

While ciklus

while (feltétel) {

Lépés 1

Lépés2

Lépés 3

}

 

Hogyan keverjünk koktélt?

Nyár van, meleg van, ebben az időben jól csúsznak a koktélok. Nekem a kedvencem a Cuba Libre, ehhez rum, cola és egy kis limelé kell. Hogyan rakjuk össze a koktélt? Előveszünk egy poharat, beleöntjük a rumot, a colát és a limelevet, adunk hozzá jeget és összekeverjük. Ha valakinek mondjuk a Mojito a kedvence, akkor szüksége van hozzá rumra, ásványvízre és cukorszirupra. És ezt hogyan rakjuk össze? Előveszünk egy poharat, beleöntjük a rumot, az ásványvizet és a cukorszirupot, adunk hozzá jeget és összekeverjük. Nézzünk még egy koktélt, legyen például a Tequila Sunrise. Ehhez tequila, grenadine szirup és narancslé kell. Hogyan készítjük el? Előveszünk egy poharat, beleöntjük a tequilát, a grenadine sziurpot és a narancslevet, adunk hozzá jeget és összekeverjük.

Hogyan lesz ebből AdWords Scripts?

Ha megnézzük a koktélkészítés lépéseit, akkor azt tapasztaljuk, hogy pontosan ugyanazon lépéseken mentünk keresztül, egyedül annyi különbséggel, hogy minden esetben más-más italt használtunk. Ezzel a nyári gyakorlatias példával el is jutottunk az AdWords Scripts következő építőkockájához, a függvényhez.

A függvényeket akkor használjuk, amikor nagyon hasonló lépések sorozatát csináljuk. Mindösszesen egyszer kell a kódot megírnunk, majd amikor felhasználjuk, akkor egy úgynevezett paraméter segít minket abban, hogy mi az eltérés az egyes esetek között. A koktélkeverés példáját így tudjuk függvényként bemutatni.

koktélkészítés (ital1, ital2, ital3)

  • Előveszünk egy poharat
  • Beleöntjük ital1-et, ital2-őt, ital3-at
  • Jeget adunk hozzá
  • Összekeverjük

Ebben az esetben a paraméter az ital1, ital2 és ital3. Ezek azok a lépések, amiket nem tudunk fixen elhelyezni, ezek minden esetben változó paraméterek, ugyanis más-más koktélnál más-más italt használunk fel.

Ha létezik a koktélkészítés függvény, akkor egy Cuba Libre így készül.

koktélkészítés (rum, cola, limelé)

Mojitó pedig így.

koktélkészítés (rum, ásványvíz, cukorszirup)

Ne maradjon ki a Tequila Sunrise sem a sorból.

koktélkészítés (tequila, grenadine szirup, narancslé)

Mennyivel egyszerűbb, hogy nem kell minden egyes esetnél a lépéseket felsorolni, hanem csak azokat a paramétereket kell megadni, amik adott esetben eltérnek.

Akciós termékek ára függvénnyel

Nézzünk egy olyan példát a függvényekre, amik AdWords Scriptben is lefuttatható. Példaként azt mondjuk, hogy az egyik üzlet olyan akciót hirdet, hogy a 10.000 Ft alatti termékek árából 5% engedmény ad, 10.001 Ft és 20.000 Ft között termékekre 10%-ot, 20.001 Ft-tól pedig 15%-ot. A kedvezményes ár nincs kiírva, így minden esetben nekünk kell kiszámolni az értéket. Egy olyan függvényt fogunk írni, ahol a termék ára lesz a paraméter, ezt adjuk bemenetként, majd azt szeretnénk, hogy megkapjuk a termék akciós árát.

Próbáljuk ki elsőként ezt a kódot, hogy mit csinál. Lesznek a kódban olyan elemek, amiket még nem ismerünk, de nekünk most a függvény rész az érdekes.

adwords scripts fuggvenyek

Látható, hogy a kód sikeresen lefut, viszont nem történik semmi. Ennek az az egyszerű magyarázata, hogy ezzel a kóddal csak létrehoztuk a függvényt, viszont nem használtuk fel, szakmaibb nyelven kifejezve nem hívtuk meg a függvényt. Ami pluszban passzol ehhez a képhez, hogy nem találunk a kódban sehol, arra vonatkozó részt, hogy adott termék mennyibe kerülhet, mit szeretnénk kiszámolni, tehát ez is utal arra, hogy a megírt függvényt nem használtuk fel.

Egy függvény általános váza így néz ki.

A következő kódrészletet úgy bővítjük, hogy a megírt függvényt meghívjuk. Megnézzük, hogy mennyibe kerül egy 5000 Ft-os, 15000 Ft-os és 25000 Ft-os termék az akció után.

Itt már láthatjuk, hogy a függvényeinket felhasználtuk és kaptunk kimenetet. A korábban megírt függvényt általánosságban így tudjuk meghívni.

függvény_neve(paraméter_értéke);

Látható, hogy mennyivel egyszerűbb, hogy ha adott termék árának számításakor egyszerűen csak az akcio(termék_ára); függvényt használjuk és nem kell minden egyes számításnál a függvényben előre meghatározott lépések sorozatát lekódolni.

A függvényeket a gyakorlatban rettentő változatos módon tudjuk felhasználni. Például automatikusan generálunk ad copykat és headline1-be szeretnénk elhelyezni a termék nevét. Bizonyos esetekben ez több, mint 25 karakter, de ha az utolsó szóköznél levágjuk a karaktersorozatot úgy, hogy beleférjen a 25 karakterbe, akkor már ezt fel tudjuk használni. A példában feltételezzük, hogy a levágott megoldással is értelmes név megjelölést kapunk (pl. Apple MacBook Air 13” 256GB helyett Apple MacBook Air 13”). Ez a megoldás egy nem túl hosszú kódrészlettel kivitelezhető, viszont mennyivel egyszerűbb, hogy ha ezt csak egyszer kell megírnunk függvényként, majd utána a különböző esetekben fel tudjuk használni.

Összegezve a függvények nagyon hasznos építőkockák, kevesebbet kell kódolnunk és a scriptünk is átlátható marad.

Ha van saját ötleted hasznos függvényre, akkor írd meg kommentben, de ha kérdésed lenne, akkor azt szintén felteheted a poszt alatt.

GDN blacklist script

A hazai PPC-sek körében igen népszerű tudásmegosztási platform lett a PPC Pro Facebook csoport. Sok hasznos dolog született már a közösség munkájából, talán az egyik leghasznosabb megoldás a GDN placement blacklist, amivel a gyenge minőségű placementek zárhatók ki AdWords display kampányainkból. A kizáró lista egy Google Spreadsheetben található meg, ahonnan manuálisan kell átmásolni a placementeket a saját fiókunkba.

Hogy ez a manuális folyamat se vigye el az időnket, illetve a lehető leggyakrabban frissüljön a fiókunk a spreadsheetben hozzáadott placementekkel, ezért készítettem egy scriptet, ami innentől kezdve teljesen automatikusan lekezeli a folyamatot.

Nézzük elsőként a scriptet és utána jönnek a magyarázatok az egyszeri beállításhoz.

 

A spreadsheeten három kategóriára vannak osztva a placementek: fakenews-likehunter, játék-gyűjtemény, filmek-sorozatok, illetve negyedikként van egy összegző kategória. A script 7-10. sora között tudod beállítani, hogy mely kategóriákat szeretnéd frissíteni. Ha szeretnéd adott kategóriát frissíteni, akkor írj be egy 1-est, ha pedig nem, akkor írj egy 0-t.  Amire még szükség van a beállításnál a 14-17. sor között, hogy az AdWords fiókodban milyen nevük van a campaign placement exclusions listáknak, így a script adott kategóriákat a spreadsheetből a megfelelő listára fogja áttölteni.

A mostani scriptet egy V1-es verziónak szánom, ugyanis még sok apró funkciót lehetne belerakni, hogy több egyedi igényt is le tudjon kezelni. Ezért arra bíztatlak, hogy írd meg kommentben, hogy milyen funkciót látnál még szívesen, hogy a V2 verzióban ez már elérhető legyen.

AdWords Scripts mindenkinek

Hétvégén beköszöntött a jó idő és ezzel együtt kreatív énem is több teret kíván magának. Bár szívesen írom a posztokat az AdWords Scripts elméleti alapozásáról, most egy kreatívabb poszt jobban fekszik.

Az apropót az szolgáltatta, hogy az elmúlt hetekben több PPC-sel beszélgettem, akik azt mondták, hogy kevés olyan projekten dolgoznak, ahol érdemes lenne az automatizálással foglalkozni. Megkérdeztem, hogy milyen profilúak ezek a projektek, majd elkezdtünk ötletelni, hogy mit lehetne az adott projektnél automatizálni. A végére oda lyukadtunk ki, hogy sok olyan kreatív automatizálási lehetőség van, amivel lehetne az AdWords kampány mutatóit javítani. Összegezve azt látom, hogy van egy olyan tévhit, hogy csak nagy kampányoknál lehet és/vagy éri meg az automatizálással foglalkozni. A ló túloldalára sem szabad átesni, tehát az sem egészséges, hogy ha már inkább csak szakmai érdekességként foglalkozunk automatizálással, de a befektetett munkának túl nagy üzleti haszna nem lesz.

Mit lehet automatizálni általánosságban?

Amikor egy adott projektnél az automatizálási lehetőségeket próbáljuk feltérképezni, akkor a következő általános kérdésből kell kiindulni. Milyen olyan változó paraméter van, aminek ha ismerjük az aktuális értékét, akkor sokkal relevánsabb kampány elemeket tudunk futtatni. A következőkben megnézünk két példát, ahol a gyakorlatban megmutatom, hogy mit értek ezen megfogalmazás alatt.

Egészségügyi szolgáltatások

Ha csak egy általános szűrővizsgálatra megyünk, akkor az idő nem szokott kritikus paraméter lenni, de ha valamivel sürgősen orvoshoz kell fordulnunk, akkor nagyon is számít az idő.

Például reggel elkezd erősen fájni a fogam és szeretnék egy olyan fogorvost keresni, akihez már ma el tudnék menni. Ha feljönne egy olyan hirdetésszöveg, amiben az szerepel, hogy már mára van időpont, akkor elég valószínű, hogy azt kattintanám le.

Nézzük a példát PPC kampánymenedzseri szempontból. Nagyon hatékony lenne az előző példát megvalósítani, de ilyen hirdetésszöveget csak akkor futtathatunk, ha tényleg van még hely az adott napon. Ha konstans ezt a szöveget használnánk, függetlenül attól, hogy van-e hely vagy nincs, akkor lehet, hogy a CTR továbbra is jó lenne, de a konverziós arány nagyon alacsony lenne, ugyanis az első pillanatban fals információval láttuk el a potenciális ügyfelet. A megoldás az lenne, hogy csak akkor futtassuk azokat a hirdetésszövegeket, hogy “bejelentkezés már a mai napra”, hogy ha ez tényleg elérhető, egyébként valamilyen más szöveget futtatunk.

Ezt a logikát tovább is lehet szofisztikálni, ha nincs aznapra, de másnapra van, akkor használhatunk egy ilyen hirdetésszöveget és ezzel még mindig érhetünk el jobb eredményt a konkurenciához képest.

Az automatizálásnak egy feltétele van, mégpedig az, hogy legyen egy olyan belsős rendszer, amiből lekérhetőek az időpontok foglaltságai és ezek ténylegesen is vezetve legyenek. Ez a módszertan általánosan jó lehet bejelentkezős szolgáltatásokhoz.

A scriptünk óránként lekéri a foglaltsághoz kapcsolódó adatokat és annak függvényében kapcsolgatja a hirdetésszöveget. A korábbi definícióhoz visszatérve a foglaltsági adat a változó érték, ennek kérjük le az aktuális állapotát és a hirdetésszövegek állapotát változtatjuk ennek függvényében.

Gumicsere

Aki foglalkozott már legalább érdeklődés szintjén AdWords Scriptekkel, az valószínűleg belefutott már abba a klasszikus példába, hogy hőmérséklet függvényében módosítsuk a liciteket. Ez egy jó ötlet, hisz sok esetben a hőmérséklet befolyásoló tényező lehet adott konverzióra, de nagyon projekt függő, hogy a hőmérséklet és a konverziós arány mennyire erősen korrelál egymással.

A hőmérsékleti adatot nem csak licitek módosítására, hanem hirdetésszövegek indítására és leállítására is lehet használni. Példaként adott nap reggelén már épp fagyott. Ilyenkor nagyon hatásos lehet, ha a hirdetésszövegben azt alkalmazzuk, hogy most már fagy van odakint és nagyon veszélyes továbbra is nyári gumival közlekedni. Viszont általánosságban nem szabad használni, mert ha épp egy nagyon kellemes novemberi napunk van 15 fokkal, akkor hiteltelen arról beszélni, hogy most már fagy van.

Itt elegendő lehet naponta is lekérni az adatokat, hogy az adott napra vonatkozó időjárási adatok függvényében milyen hirdetésszöveget futtassunk.

Plusz egy ötlet, hogy gumicserére is be lehet jelentkezni, így akár az előző példával kombinálva is lehet a hirdetésszövegeket kapcsolgatni.

Útravalónak

Az előzőekben csak két példát néztünk, de rengeteg olyan use case van még, amit nem csak ecommerce vagy listing platformokon lehet használni. Fontos azt is megjegyezni, hogy lehetnek olyan projektek is, ahol nagyon kis hozadéka van az automatizálásnak, tehát a ló túloldalára sem szabad átesni.

Mindig vizsgáld meg, hogy üzletileg mely kampány elemeket lenne érdemes dinamikussá tenni és van-e rendelkezésre álló adatod, hogy az adat függvényében automatikus változásokat eszközölj a kampány elemeken.

Van egy AdWords automatizálási ötleted, de nem tudod, hogy meg lehet-e valósítani? Írd meg kommentben, hogy beszélhessünk róla!

Változók második felvonás

Az előző posztban megismerkedtünk a változók első típusával, a szám típusú változóval. Már a változók általános bevezetésénél megnéztük, hogy nem csak számokat tudunk tárolni a változókban, hanem szöveget vagy logikai értéket is. Nézzük most meg ezt a két másik változótípust részletesebben, hogy újabb AdWords Scripts építőkockával ismerkedhessünk meg.

Szöveg típusú változó

Valószínűleg nem lesz nagy meglepetés, hogy ez a típusú változó nagyon fog hasonlítani a számra, pusztán annyi a különbség, hogy itt nem számot, hanem szöveget tárolunk a változóban.

A számokhoz képest annyi különbséget fogunk tapasztalni, hogy a szöveges értéket idézőjelbe kell tenni.

Nem csak szám típusú változókkal, hanem szöveg típusú változókkal is lehet műveletet végezni. Nézzük meg példaként a következő rövid scriptet, hogy mi lesz a végeredménye.

A log ezt fogja nekünk kiírni: HollóKrisztián.

Ha szám típusú változóknál használjuk a + jelet műveletként, akkor összeadás fog történni, ha szövegnél, akkor pedig összefűzés lesz.

Már a számoknál is történt egy kis spoilerezés függvények terén, amivel később részletesen foglalkozunk, de itt is megnézünk pár hasznos függvényt, amit szövegekre lehet alkalmazni. Próbáljuk ki a következő kódrészletet.

A logban a 7-es számot fogjuk látni, ugyanis megszámolta, hogy a változóban tárolt szövegben hány karakter volt. Amikor automatikusan generálunk ad copykat az AdWords Scriptünkkel, akkor ez egy hasznos függvény lesz, hogy a karakter limitekbe beleférjünk. Például, ha egy e-commerce projekt számára menedzselünk AdWords kampányt, akkor mondhatjuk azt, hogy ha a termék neve kevesebb, mint 20 karakter, akkor az A templatet használjuk, ha pedig 20 karakter vagy annál több, akkor a B templatet.

Teszteljünk egy újabb kódrészletet, hogy miket tudunk még a szövegekkel csinálni függvények segítségével.

A slice függvénnyel ki tudunk vágni karaktersorozatot az adott stringből. Két paramétert kell nekünk megadni, mégpedig azt, hogy mettől meddig vágja ki a karaktert. A mi példánkban az 1, 3 értékre a “dW” karaktersorozatot kapjuk vissza.

Igen sok függvény használható még a szöveg típusú változókhoz, de térjünk át inkább a logikai változókra.

Logikai változó

A logikai változónak szimplán csak igaz vagy hamis értéke lehet.

A szöveg típushoz képest itt arra kell figyelni, hogy nem kell idézőjelbe tenni az értékeket. Ha abba rakjuk, akkor szöveg típusú változó fog létrejönni, ami a “true” vagy “false” szöveget tartalmazza, de ez semmiképp sem az igaz vagy hamis értéket jelöli. A logikai változók gyakorlati szerepét későbbi elemek alkalmazásakor fogjuk jobban látni, egyelőre elég pár alapvető dolgot tudnunk a logikai változó használatáról.

Nem csak közvetlen tudjuk megadni, hogy egy változónak igaz vagy hamis az értéke, hanem egy kifejezés által is. Nézzük meg mit ír ki a következő kódrészlet.

A logban false értéket látunk, ugyanis hamis az az állítás, hogy a 10 nagyobb, mint 12.

Itt is értéket kapunk, ugyanis az igaz és hamis érték nem egyenlő egymással.

Összegezve tehát azt kell megjegyeznünk, hogy vannak szám, szöveg és logikai változók, amiken a megfelelő műveleteket el tudjuk végezni. Elöljáróban annyit kell még tudni, hogy lesz még két típusú változónk, de mivel azok jóval összetettebbek a mostaniaknál, ezért ezeket később fogjuk tárgyalni.
Ha felmerült bármilyen kérdésed a változók kapcsán, amit az AdWords Scripted fejlesztésénél használnál, akkor írd meg bátran kommentben!

Változók első felvonás

Ismerjük meg a változók szerepét egy nagyon életszerű példával. Valószínűleg neked is van egy olyan fiókos szekrényed, amiben több fiók van. Hogy mindig tudjuk, hogy melyik fiókba szeretnénk éppen pakolni, szükség van arra, hogy ezekre a fiókokra egyértelműen tudjunk hivatkozni. Például mondhatjuk azt, hogy 1. fiók, 2. fiók és 3. fiók, de akár azt is mondhatnánk, hogy felső fiók, középső fiók és alsó fiók. A lényeg csak annyi, hogy a név egyértelművé tegye, hogy melyik fiókra hivatkozunk.

Tegyük fel, hogy minden egyes fiókban csak egy dolgot tárolhatunk. A példa egyszerűsége kedvéért mondjuk azt, hogy csak könyvet tárolunk a fiókokban.

Ezzel a logikával mindig meg tudjuk majd mondani, hogy adott fiókban van-e valamilyen könyv vagy üres. A könyveket kivehetjük a fiókból és át is pakolhatjuk másik fiókba, így újra megvizsgálhatjuk, hogy adott fiók milyen könyvet tartalmaz.

Példa 1

Felső fiók – Üres

Középső fiók – Könyv 1

Alsó fiók – Üres

 

Példa 2

Felső fiók – Könyv 1

Középső fiók – Üres

Alsó fiók – Könyv 2

A változók is ugyanezen logika szerint működnek, ugyanis egy változó az egy olyan tároló, aminek van neve, amivel hivatkozunk rá és van egy érték, amit tárolunk benne. Változókban a következő értékeket tárolhatjuk.

  • Szám
  • Szöveg
  • Logikai érték

A mostani posztban a szám típusú változókkal fogunk részletesebben megismerkedni, a következő posztban pedig a szöveg és a logikai típusú változókkal foglalkozunk majd.

Szám típusú változók

Az egyik érték típus, amit a változókban tárolhatunk, azok a számok. Nézzük meg rögtön kód szinten, hogy hogyan hozzuk létre A nevű változót, amiben az egy értéket tároljuk.

var a = 1;

Amikor egy változót definiálunk, akkor mindig a var utasítással kezdünk, majd egy szóköz után megadjuk a változó nevét. Az egyenlőség jel után pedig megadjuk az értékét.

Nézzünk egy másik példát, ahol B változót hozzuk létre és 2 lesz az értéke.

var b = 2;

A változókkal műveleteket is végezhetünk. Ha már megvan A és B változónk, akkor mondhatjuk azt, hogy C változó értéke legyen A+B értéke.

var c = a + b;

Itt most csak egy utasítást írtunk, de nem látjuk, hogy a C változó milyen értéket kapott. Erre egy olyan utasítást fogunk használni, ami ki tud írni az AdWords Scripts log felületére. Ezt az utasítást a későbbiekben nagyon sokat fogjuk használni.

Logger.log(c);

A Logger.log utasítással tudunk kiíratni a logba, egyedül azt kell neki megadni, hogy mit szeretnénk kiírni.

Ahhoz, hogy egy művelet értékét kiírassuk, nem feltétlen kell először egy külön változóba letárolni az értéket és azt kiíratni, hanem rögtön kiírathatjuk a művelet eredményét. Nézzük például, hogy hogyan íratjuk ki az A x B eredményt úgy, hogy nem hozzuk létre a C változót.

Logger.log(a * b);

Számokkal nem csak a négy alapműveletet tudjuk elvégezni, hanem további lehetőségek is rendelkezésre állnak. Próbáljuk ki mit csinál a következő kódrészlet.

var a = 9;

var b = 2;

Logger.log(a % b);

Ez a művelet az osztás maradékát adja vissza, így az előző példában egyet fogunk visszakapni.

A függvényekkel külön fogunk foglalkozni a későbbiekben, ugyanis a függvények is fontos építőkockái az AdWords Scripteknek.

Viszont nézzünk meg pár függvényt, amit szám típusú változókra lehet használni. Próbáljuk ki a következő műveletet, aminek az eredményét rögtön ki is íratjuk.

Logger.log(Math.round(1.6));

A round függvény egészre kerekíti a számot, így kettőt fogunk eredményként kapni. A kerekítés függvény akár az Excelből is ismerős lehet.

Vegyünk egy másik függvényt, ami az adott szám négyzetgyökét adja vissza.

Logger.log(Math.sqrt(81));

Itt eredménynek kilencet kapunk

Hogyan használjuk ezeket AdWords Scriptek fejlesztésekor?

Amikor AdWords Scripteket fejlesztünk majd, szükségünk lesz a szám típusú változókra, ugyanis licitek megadásakor vagy büdzsék menedzselésekor ezt használjuk majd.

Azt fontos megjegyeznünk, hogy a számok esetén a matematikai műveletek rendelkezésünkre állnak és ezen elemi utasításokból tudjuk majd a kész automatizáló rendszerünket összerakni. A számok esetén a függvények is elérhetőek, amikkel további műveletek is elvégezhetők.

A mostani poszt után gyakorolj pár műveletet számokkal az AdWords Scripts felületén, hogy stabilan rögzüljenek az alapok és legyen mire építkezni tovább.

Valami nem volt érthető a leírásban vagy további kérdésed lenne? Kommentelj a poszthoz, hogy válaszolni tudjak rá.