Vyberte stránku

Sklik skript pro kontrolu rozpočtu

Sklik skript pro kontrolu rozpočtu

Věděli jste, že můžete používat skripty a automatizovat vaší práci také v Skliku? Že ne? Zjistěte jak na to a také si vyzkoušejte můj první Sklik skript pro kontrolu měsíčního rozpočtu.

V mém posledním příspěvku jsem vám slíbila Sklik verzi mého skriptu pro hlídání měsíčního rozpočtu účtu a sliby plním. Výsledek skriptu je identický s tím pro Adwords, ale je tedy určen pro Sklikové účty. Můžete ho použít jak pro svůj hlavní účet nebo také podúčty, pokud nějaké máte (vhodné pro agentury).

Pokud potřebujete sledovat více účtů zároveň, může se vám hodit varianta tohoto skriptu pro více účtů, který funguje stejně, ale posílá informace o všech sledovaných účtech v jednom emailu a nezahlcuje tak emailovou schránku.

Základní informace o skriptu

Souhrn základních informací, které byste měli vědět, jsou popsány v mém článku s Adwords skriptem. Ve zkratce řečeno kontroluje čerpání měsíčního rozpočtu v účtu a říká vám, zda byste měli denní rozpočet snížit nebo zvýšit a o kolik.

  • při implementaci zadejte správného hodnoty do proměnných maxspendpermonth (maximální měsíční rozpočet), email (emailová adresa, kam má denní email report chodit), subject (předmět emailu, doporučuji zahrnout jméno účtu/klienta), account_username (emailová adresa majitele podúčtu, pokud nemáte podúčty, nechejte proměnnou prázdnou, tedy beze změn)
  • skript nastavte, aby se spouštěl každý den
  • nechcete-li dostávat maily každý den, odstraňte komentář na řádku 99 a 101, emaily tak budou chodit jen v druhé půlce měsíce v případě nutnosti snížení rozpočtu
  • pro běžnou každodenní optimalizaci je pro vás nejdůležitější poslední řádek emailu, který indikuje, zda zvýšit či snížit denní rozpočet a o kolik

Každopádně doporučuji si přečíst i předchozí článek, kde je vše popsáno více do hloubky.

Jak skript pro Sklik implementovat?

Bohužel Sklik sám o sobě nemá vlastní prostředí pro běh skriptů jako Google Adwords, proto kluci z Lynt services s.r.o. přišli s nápadem vytvořit vlastní prostředí v rámci Google Apps Scripts. O přístup k této službě musíte požádat skrze formulář na jejich webu, ten vám ale do druhého dne pošlou emailem vč. návodu, jak to zprovoznit a nastavit automatické spuštění skriptu denně na určitou hodinu. Nebojte se, je tam vše pochopitelně a jasně popsáno vč. screenů. Jakmile si projdete jednotlivé kroky návodu až do konce, stačí přidat “Nový soubor skriptu” v rámci stejného projektu vytvořeného dle návodu a tam vložit zdrojový kód mého skriptu a upravit již zmiňované proměnné v úvodu kódu.

Jak přidat nový skript do projektu

Výsledky Sklik skriptu

Pokud budete chtít skript adaptovat na vaše konkrétní potřeby, můžete se na mě obrátit.

Zdrojový kód

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

function main() {
  var date = new Date(); 
  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 sklik = SklikAPI.Connect();
  sklik.loginFromProperties();
  if (account_username) {
    sklik.setUserIdByUsername(account_username);
  }
  
  var accountMonthStats = sklik.Client.stats({
      dateFrom: get_date(day),
      dateTo: get_date(1),
      granularity: "total"
    }).report;
  
  var accountData = [];
  for (var i = 0; i < accountMonthStats.length; i++) {
    var reportRow = accountMonthStats[i];
  }
  
  var accountYesterdayStats = sklik.Client.stats({
      dateFrom: get_date(1),
      dateTo: get_date(1),
      granularity: "total"
    }).report;
  
  var accountData2 = [];
  for (var i = 0; i < accountYesterdayStats.length; i++) {
    var reportRow2 = accountYesterdayStats[i];
  }
  
  var realcostuntiltoday =  reportRow.price/100; 
  var costyesterday = reportRow2.price/100;;
  sklik.Client.logout();
  
  
  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")});
 // }
 
}

function get_date(daysBack) {
  var past = new Date();
  past.setHours(0);
  past.setMinutes(0);
  past.setSeconds(0);
  past.setMilliseconds(0);
  var originalOffset = past.getTimezoneOffset();
  var pastTime = past.getTime() - daysBack * 86400 * 1000;
  past.setTime(pastTime);
  var newOffset = past.getTimezoneOffset();
  var offsetDiff = newOffset - originalOffset;
  if (offsetDiff != 0) {
    pastTime += offsetDiff * 60 * 1000;
    past.setTime(pastTime);
  }
  return past;
}

 

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!

2 komentáře

  1. Lukáš

    Bohužel Lynt již neposkytuje přístup do druhého dne. Nyní je to podmíněno registrací a s tím, že se ozvou v půlce prosince.

    Odpovědět
    • hanakobzova

      To je mi líto. Bohužel neznám jinou dostupnou službu, která by uměla pracovat se skripty pro Sklik 🙁

      Odpovědět

Vložit komentář

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