Vyberte stránku

Adwords skript pro kontrolu rozpočtu

Adwords skript pro kontrolu rozpočtu

Znáte to, když vám klient řekne, že si přeje měsíčně utratit za kampaně pouze X Kč? Jak to pohlídat a moc se u toho nezapotit? Vyzkoušejte tento skript pro Google Adwords!

Skripty pro Google Adwords jsem začala psát asi ve stejnou dobu, kdy jsem pronikla do tajů samotného systému. Rozhodla jsem se s Vámi sdílet jeden z těch prvních, které jsem napsala, a také jeden z nejužitečnějších, neboť s jeho outputem pracuji každý den.

Představte si situaci, kdy vám klient stanoví maximální rozpočet, který je ochotný za reklamu utratit. U menších klientů jde o běžnou situace. V takové situaci máme možnost nastavit maximální denní rozpočet například pomocí sdíleného rozpočtu na přesnou denní proporci měsíčního rozpočtu, ale tento přístup nebere v potaz peníze ušetřené např. o víkendu, kdy objem hledání upadá, a maximální měsíční rozpočet tak nebude vyčerpán. Rovněž se chceme vyhnout také přečerpání rozpočtu při volnějším nastavení rozpočtů.

Úkolem tohoto skriptu, kterému říkám Spend Check, je informovat vás skrze email jak upravit současný denní rozpočet, ať už navýšit či snížit, aby byl maximální rozpočet využit. Pro správný běh je potřeba vyplnit tři parametry, které se nacházejí ihned na začátku skriptu:

  1. maxspendpermonth – maximální rozpočet, který je možné v daném měsíci utratit
  2. email – emailová adresa, na kterou budou chodit výsledky skriptu
  3. subject – předmět emailu, kde je dobré uvést i název účtu/klienta

Skript naprogramujte na každý den. Já osobně ho spouštím v noci po půlnoci, například v 1 hodinu ráno, abych hned ráno mohla udělat případné úpravy rozpočtů. Pokud vám denní maily přijdou otravné, můžete odstranit komentář u řádku č. 75 a 77 a budou vám chodit pouze v druhé půlce měsíce v případě, kdy dojde k potencionálnímu přečerpání rozpočtu na konci měsíce a denní rozpočet je tedy nyní potřeba snížit.

Při každodenní optimalizaci kampaní je nejdůležitější poslední řádek emailu “Upravit denní rozpočet o:”, který informuje, zda je potřeba denní útratu snížit (číslo je červené se znaménkem mínus) nebo je možné ji navýšit (zelené číslo). Ostatní metriky slouží pro pochopení současného stavu a jsou vám tak k dispozici při zásadnějších změnách v rozpočtech kampaní.

Skript je poměrně jednoduchý a určitě jej lze dále upravovat a zlepšovat, každopádně svůj úkol plní a šetří mi spoustu času. Pokud ho budete chtít adaptovat na vaše konkrétní potřeby, můžete se na mě obrátit.

K dispozici jsem zveřejnila také MCC verzi skriptu, rovněž se vám může hodit také verze skriptu pro Sklik.

Výsledky skriptu

Zdrojový kód skriptu

/******************************************
* Spend Check - Google Adwords
* Script checks the cost of an entire account and informs you via email about daily budget adjustment needed to be done in the account in order to meet the maximum monthly spend
* Run the script every day
* Created By: Hana Kobzová
* HanaKobzova.cz
******************************************/

  var maxspendpermonth = 10000;  
  var email = "email@email.com";
  var subject = "Adwords - Spend Check - Název účtu"

function main() {
  var date = new Date(Utilities.formatDate(new Date(), 
      AdWordsApp.currentAccount().getTimeZone(), "MMM dd,yyyy HH:mm:ss"));
  var day = date.getDate()-1;
  var month = date.getMonth()+1;
  var year = date.getYear();
  var daysmonth = new Date(year, month, 0).getDate();
  var daysleft = daysmonth - day; 
  

  var realcostuntiltoday =  AdWordsApp.currentAccount().getStatsFor("THIS_MONTH").getCost() - AdWordsApp.currentAccount().getStatsFor("TODAY").getCost();
  var costyesterday = AdWordsApp.currentAccount().getStatsFor("YESTERDAY").getCost();
  
  var maxspendperday = maxspendpermonth/daysmonth;
  var costrest = maxspendpermonth - realcostuntiltoday;
  var colorcostrest = "black";
  if (costrest > (maxspendpermonth*0,2)){colorcostrest = "green"} else {colorcostrest = "red"};
  
  var tendency = maxspendpermonth - (realcostuntiltoday/day*daysmonth);
  var colortendency = "black";
  if (tendency >0){colortendency = "green"} else {colortendency = "red"};
 
  var dailycostreal = realcostuntiltoday/day;
  var tendencytotal = dailycostreal * daysmonth;
  var dailycostdesired = maxspendpermonth/daysmonth;
  
  var corrector = dailycostdesired - dailycostreal;
  var colorcorrector = "black";
  if (corrector>0){colorcorrector = "green"} else {colorcorrector = "red"};
  
  var dailycostdesiredyesterday = costrest/daysleft;
  var tendencytotalyesterday = realcostuntiltoday + (costyesterday * daysleft); 
  var tendencyyesterday = maxspendpermonth - tendencytotalyesterday ; 
  var correctoryesterday = dailycostdesiredyesterday - costyesterday; 
  correctoryesterday = correctoryesterday.toFixed(0);
  var colortendencyyesterday = "black";
  if (tendencyyesterday>0){colortendencyyesterday = "green"}else{colortendencyyesterday = "red"};
  var colorcorrectoryesterday = "black";
  if (correctoryesterday>0){colorcorrectoryesterday = "green";} else {colorcorrectoryesterday = "red";}
  if (costrest<0){correctoryesterday = "příliš pozdě, měsíční rozpočet byl přečerpán"};
  
  //Email
  var html = [];
  html.push(
   "<html>",
    "<body>", 
     "<p>" + subject.toUpperCase() + "</p>",
     "<p>-------------</p>",
     "<p>TENTO MĚSÍC (1"+"."+month+"."+year+"-"+day+"."+month+"."+year+")</p>",
     "<p>Stanovený měsíční rozpočet: ", maxspendpermonth.toFixed(0) ,"</p>",
     "<p>Průměrný denní rozpočet: ", maxspendperday.toFixed(0) ,"</p>",
     "<p>Utraceno tento měsíc: ", realcostuntiltoday.toFixed(0) ,"</p>",
     "<p>Z rozpočtu zbývá do konce měsíce: <span style='color: " + colorcostrest + "'> " +  costrest.toFixed(0), "</span></p>",
     "<p>-------------</p>",
     "<p>VČERA ("+day+"."+month+"."+year+")</p>",
     "<p>Utraceno včera: ", costyesterday.toFixed(0) ,"</p>",
     "<p>Optimální denní rozpočet do konce měsíce: ", dailycostdesiredyesterday.toFixed(0) ,"</p>",
     "<p>Tendence při současném nastavení: <span style='color: " + colortendencyyesterday + "'> " +  tendencyyesterday.toFixed(0) + " (" + tendencytotalyesterday.toFixed(0) +")</span></p>",
     "<p>Upravit denní rozpočet o: <span style='color: " + colorcorrectoryesterday + "'> " + correctoryesterday + "</span></p>", 
    "</body>",
   "</html>");
 
  //if ((day > 15) && (correctoryesterday > 0) ) { //odeslat email pouze od 15. dne v měsíci a pokud utrácíme více, než by se mělo
  MailApp.sendEmail(email, subject, "", {htmlBody: html.join("\n")});
 // }
}

Jsem online marketérka na volné noze. Specializuji se na PPC reklamu v Google Ads a Sklik. Baví mě přemýšlet nad efektivitou mé práce, proto často objevím nějaký trik či vychytávku, jak zefektivnit práci na PPC kampaních nebo si sem tam naprogramuji užitečný skript, aby mi šla práce lépe od ruky. Hledáte PPC specialistu? Napište mi!

Vložit komentář

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