Jak vytvořit vlastní Google Ads report

Google Apps script reporting 1

Chtěli byste si reportovat vlastní data z Google Ads pomocí skriptů, ale nevíte jak začít? V tomto článku si ukážeme úplné základy a odnesete si skript, který vám vytvoří základní klientský report nákladů a obratu. Zobrazit plnou velikost reportu.

Klientsky report v Google Spreadsheetech

Jak začít se skriptováním popisuje Standa Jílek na svém blogu, takže pokud ještě nevíte kde všude můžete skriptovat, můžete začít čtením jeho článků.

Total Time: 30 minutes

  1. Otevřete si Google Ads skripty

  2. Pojmenujte si vlastní skript

    Například Report | Daily, protože jej chcete spouštět každý den.

  3. Vložte skript a nastavte hodnoty

    V rámci skriptu je potřeba nastavit dvě hodnoty. První je URL vašeho spreadsheetu, který jste si vytvořili na začátku. vložte mezi uvozovky.
    Do separátoru pak vložce oddělovač, kterým pojmenováváte reklamní kampaně. Může to být | nebo – případně cokoliv co používáte. Rozpadne vám to kampaně například podle cílení.

    Nyní si již zkopírujte skript, který najdete na konci článku.

  4. Klikněte na náhled, povolte oprávnění a spusťte

    Protože skript spouštíte poprvé musíte dát Googlu souhlas s tím, že vám může lézt do Google Ads a stahovat data a Google Drivu vkládat hodnoty. Klikněte na náhled a následně spustit. Povolte vše co Google potřebuje.

  5. Nastavte si frekvenci

    Přejděte na výpis všech skriptů a nastavte skriptu frekvenci denně třeba o půlnoci.

  6. Nyní si už stačí jen data zpracovat do vašeho reportu

    V Google Sheetu se vám nyní vytvoří po spuštění skriptu listy This_Month a Last_Month ze kterých můžete čerpat data pro vaše grafy a tabulky v dalších listech.

    K tomu se vám určitě budou hodit query funkce, které vám seřadí data podle datumů a seskupí dohromady. Případně můžete využít i kontingenčních tabulek.

Pokud máte nějaké dotazy neváhejte mě kontaktovat.

Skript ke stažení

//settings
 var mySpreadsheet = "https://docs.google.com/spreadsheets/d/1q9E298km3XjfFNGTpeSONStR2RineXFzOodWzwBRt64/edit#gid=2048542207"; //vložte adresu Google tabulek
 var separator = '"|"';
 //Pokud chcete změnit jiné datum můžete si změnit dotaz ve var report za DURING změnit THIS_MONTH na nějakou vlastní hodnotu třeba LAST_7_DAYS apod.
 function main(){
 thisMonth();
 lastMonth();
 Logger.log("Dokončeno");
 }
 function thisMonth(){
 Logger.log("Stahuji data za tento měsíc");
 var report = AdWordsApp.report("SELECT Date, Cost, ConversionValue, CampaignName FROM CAMPAIGN_PERFORMANCE_REPORT WHERE CampaignStatus = ENABLED DURING THIS_MONTH");
 var spreadsheet = SpreadsheetApp.openByUrl(mySpreadsheet);
 spreadsheet.setSpreadsheetLocale('en');
 var sheet = createOrGetSheet(spreadsheet,'This_Month',0);
 report.exportToSheet(sheet);
 Logger.log("Exportováno!");
 var split=("=iferror(arrayformula(Trim(Split(D2:D,");
 split = split +separator;
 split = split + "))))"
 sheet.getRange(1, 5).setValue("Country-Language");
 sheet.getRange(1, 6).setValue("CampaignType");
 sheet.getRange(1, 7).setValue("CampaignSegment"); 
 sheet.getRange(2, 5).setValue(split);
 }
 function createOrGetSheet(reportSpreadsheet, name, position) {
  var sheet = reportSpreadsheet.getSheetByName(name);
   if(sheet == null) {
     return reportSpreadsheet.insertSheet(name,position);
   } else {
     return sheet;
 }
 }
 function lastMonth(){
 Logger.log("Stahuji data za minulý měsíc");
 var report = AdWordsApp.report("SELECT Date, Cost, ConversionValue,CampaignName FROM CAMPAIGN_PERFORMANCE_REPORT WHERE CampaignStatus = ENABLED DURING LAST_MONTH");
 var spreadsheet = SpreadsheetApp.openByUrl(mySpreadsheet);
 spreadsheet.setSpreadsheetLocale('en');
 var sheet = createOrGetSheet(spreadsheet,'Last_Month',0);
 report.exportToSheet(sheet);
 Logger.log("Exportováno!");
 var split=("=iferror(arrayformula(Trim(Split(D2:D,");
 split = split +separator;
 split = split + "))))"
 sheet.getRange(1, 5).setValue("Country-Language");
 sheet.getRange(1, 6).setValue("CampaignType");
 sheet.getRange(1, 7).setValue("CampaignSegment"); 
 sheet.getRange(2, 5).setValue(split);
 }
 function createOrGetSheet(reportSpreadsheet, name, position) {
  var sheet = reportSpreadsheet.getSheetByName(name);
   if(sheet == null) {
     return reportSpreadsheet.insertSheet(name,position);
   } else {
     return sheet;
 }
 }
Komentáře

Přidat komentář

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

Vaše osobní údaje budou použity pouze pro účely zpracování tohoto komentáře.