• Skip to main content
  • Skip to primary sidebar

PPC Scripts

by Lynt services

  • Workshop: Automatizace PPC (Praha, Brno)
  • PPC služby
  • Pár slov o blogu
  • Angličtina
  • Čeština
Jste zde: Domů / Adwords skripty / Jednoduchý skript na odhalení špatně zacílených klíčových slov v rámci reklamních sestav

Jednoduchý skript na odhalení špatně zacílených klíčových slov v rámci reklamních sestav

23 října, 2015 od Jakub Kašparů 8 Comments

Jedním z hlavních cílů při optimalizaci Adwords kampaně je vysoké skóre kvality, které u klíčového slova ovlivňuje spousta faktorů ( vše od míry prokliku, správného inzerátu, rychlé a relevantní vstupní stránky, až po Vaše rozšíření reklam). Bohužel skóre kvality se každý den aktualizuje a my k němu nemáme přístup historicky (pokud si ho například neukládáme pomocí skriptu do Big Query. O Biq Query více na mém workshopu na Marketing Festivalu).

Co někteří PPCčkaři dělají je, že používají skript na sledování váženého průměru skóre kvality celého účtu, který napsal Frederick Vallaeys . Problém tohoto skriptu je, že sice víte, jak se Vám vyvíjí skóre kvality, ale nemáte představu v jaké části účtu jsou ty “špatná klíčová slova”. A to je přesně to, co dělá  můj skript:

  1. Stáhne data za posledních 30 dní na úrovni klíčových slov.
  2. Spočítá vážený průměr skóre kvality pro každou reklamní sestavu.
  3. Spočítá počet klíčových slov, které mají skóre kvality menší než 6 v rámci reklamní sestavy.
  4. Seřadí reklamní sestavy podle počtu zobrazení.

Nastavení Adwords skriptu na PNO

Pokud s tímto reportem budete aktivně pracovat, získáte lepší skóre kvality celého účtu, zlepšíte relevanci Vaší inzerce a dlouhodobě ušetříte. Pokud skript použijte prosím o zpětnou vazbu. Je možné doplnit nějaké chybějící sloupce, případně poladit vizualizaci reportu.

Jak skript nasadit

  1. Zkopírujte celý skript do svého reklamního účtu.
  2. Vložte do uvozovek odkaz na Váš Google Spreadsheet, kam chcete výsledky zapisovat.
  3. Stačí nastavit automatickou aktualizaci jednou týdně.

Zdrojový kód skriptu

AdWords skript - struktura účtu
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
//Creating or returning selected sheet
function createOrGetSheet(reportSpreadsheet, name, position) {
  var sheet = reportSpreadsheet.getSheetByName(name);
  if(!sheet) {
    return reportSpreadsheet.insertSheet(name,position);
  } else {
    return sheet;
  }
}
 
function main() {
  var spreadhsheet = SpreadsheetApp.openByUrl(""); // Vložte celou URL Vašeho spreadheetu
  spreadhsheet.setSpreadsheetLocale('en');
  spreadhsheet.setSpreadsheetTimeZone("Europe/Prague");
  var avgQs = createOrGetSheet(spreadhsheet,"Data",1);
  
  // Getting Impressions, QS for keywords with more than 10 impression for last 30 days
  var report = AdWordsApp.report(
  "SELECT Criteria, AdGroupName, AdGroupId, CampaignName, Impressions, Clicks, Ctr, ConvertedClicks, QualityScore " +
  " FROM KEYWORDS_PERFORMANCE_REPORT " +
  " WHERE " +
  " AdNetworkType1 = 'SEARCH'" +
  " AND Impressions > 10" +
  " AND CampaignStatus = ENABLED" +
  " AND AdGroupStatus = ENABLED" +
  " AND Status = ENABLED" +
  " DURING LAST_30_DAYS");
  
  //Creating two arrays, one with adGroups Ids (ids are positions in array with results) second with data for one adGroup
  var adGroupIds = [];
  var adGroupReport = [];
  var reportRows = report.rows();
  
  // Calculating avg quality score and adding stats
  while (reportRows.hasNext()) {
    var keywordReport = reportRows.next();
    var oneAdgroupData = [];
    var impressions = keywordReport.Impressions * 1;
    var clicks = keywordReport.Clicks * 1;
    var rowQS = keywordReport.QualityScore * keywordReport.Impressions;
    var conversions = keywordReport.ConvertedClicks * 1;
 
    // If iterator find that there are no data for adgroup, iterator creates them.
    if(adGroupReport[keywordReport.AdGroupId] == null) {
      adGroupIds.push(keywordReport.AdGroupId);
      adGroupReport[keywordReport.AdGroupId] = [keywordReport.CampaignName,keywordReport.AdGroupName,impressions,0,rowQS,clicks,conversions];
 
    } else {
      adGroupReport[keywordReport.AdGroupId][2] += impressions;
      adGroupReport[keywordReport.AdGroupId][4] += rowQS;
      adGroupReport[keywordReport.AdGroupId][5] += clicks;
      adGroupReport[keywordReport.AdGroupId][6] += conversions;
    }
    if(keywordReport.QualityScore <= 6) {
      adGroupReport[keywordReport.AdGroupId][3] += 1;
    }
  }
 
  // Getting sheet and setting up header for report
  var sheet = spreadhsheet.getSheetByName("Data");
  var header = [
    "Název kampaně",
    "Název Sestavy",
    "Zobrazení",
    "CTR",
    "Počet konverzí",
    "Počet slov se špatným skóre",
    "Vážený průměr skóre kvality"
  ];
  
  sheet.clearContents();
  sheet.getRange(1, 1, 1, 7).setValues([header]);
  
  //Getting every adGroup and writting one adGroup per row
  for(i = 0; i < adGroupIds.length; i++) {
    sheet.appendRow([adGroupReport[adGroupIds[i]][0], adGroupReport[adGroupIds[i]][1], adGroupReport[adGroupIds[i]][2], adGroupReport[adGroupIds[i]][5] / adGroupReport[adGroupIds[i]][2] * 100, adGroupReport[adGroupIds[i]][6], adGroupReport[adGroupIds[i]][3], adGroupReport[adGroupIds[i]][4] / adGroupReport[adGroupIds[i]][2]]);
  }
  sheet.sort(3, false);
  var lastRow = sheet.getLastRow();
  for(i = 2;i <= lastRow; i++) { var conditionFormats = sheet.getRange(i, 6).getValue(); if(conditionFormats >= 3) {
      sheet.getRange(i, 6).setBackground("#FFC2B2");
    } else {
      sheet.getRange(i, 6).setBackground("#CCF5CC");
    }
  }
 
  for(i = 2;i <= lastRow; i++) {
    var conditionFormats = sheet.getRange(i, 7).getValue();
    if(conditionFormats < 7.5) {
      sheet.getRange(i, 7).setBackground("#FFC2B2");
    } else {
      sheet.getRange(i, 7).setBackground("#CCF5CC");
    }
  }
}

Kategorie:Adwords skripty

Reader Interactions

Comments

  1. Jarda says

    1 března, 2016 at 10:59 am

    Ahoj Jakube,

    díky za script. Dost nám to otevřelo oči!

    Zdarec
    Jarda

    Odpovědět
    • Jakub Kašparů says

      1 března, 2016 at 12:57 pm

      Ahoj,
      jsem rád, že skript pomůže.

      Odpovědět
  2. Michaela says

    30 listopadu, 2016 at 2:28 pm

    Bolo by fajn skript aktualizovať po tom ako google zrušil konvertované kliknutia

    Odpovědět
  3. Sam says

    9 února, 2017 at 3:35 pm

    Ahoj, já po spuštění scriptu dostávám hlášku:

    „Column ‚ConvertedClicks‘ is not valid for report type KEYWORDS_PERFORMANCE_REPORT. Double-check your SELECT clause. (line 18)“

    Odpovědět
    • Martin says

      10 února, 2017 at 12:29 am

      v riadku 19 vymaz „ConvertedClicks“

      Odpovědět
  4. brano says

    9 února, 2017 at 4:48 pm

    Ahoj.
    Skusal som vlozit tento skrip do adwords, ale stale mi vyhadzue problem na line 12, ako keby som mal problem s url adresou spreadsheetu,skusal som aj nejake fora, ale nefunguje ani jeden, pritom som do miesta kde treba vlozit spreadsheet skopiroval adresu z google drive kde je ulozeny dany spreadsheet.
    Nevies kde by mohol byt problem?

    dakujem

    Odpovědět
    • Martin says

      10 února, 2017 at 12:27 am

      toto vyriesis ked nastavis danej tabulke nastavenia zdielania na upravovat

      Odpovědět
  5. Loopka says

    12 května, 2017 at 12:00 pm

    Si zlaticko! Diki moc za skript! convertedclicks som vsade vymenila za konverzie a ide to krasne. Este rozmyslam ze tam supnem cost.

    Pozdrav z Londyna

    Odpovědět

Napsat komentář Zrušit odpověď na komentář

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


Primary Sidebar

Naplánované WorkShopy a školení

  • Automatizace PPC kampaní 9.6.17 – Praha
Google Partner

Tools

AWQL Generator
Keyword Combinator
Datastudio Case generator

Autor blogu

Jakub Kašparů, Lynt

Jakub Kašparů

Lynt services s.r.o.
jakub.kasparu@lynt.cz
724 806 769
Twitter JKasparu
LinkedIn LinkedIn

Nejnovější příspěvky

  • Vychází PPC Robot 1.0 11 června, 2019
  • Co je důležité znát pro vytváření AWQL reportů 29 května, 2017
  • Rychlá analýza zákazníků pro PPC kampaně 20 října, 2016

Nejnovější komentáře

  • Lukáš Kolovrat: Skript pro sledování nových a odstraněných produktů v eshopu
  • Lukáš Kolovrat: Nové možnosti reportingu v rámci Adwords skriptů Adwords API v201601
  • Danča: Skript, který porovnává organické dotazy z GA s dotazy z Adwords a hledá příležitosti

RSS Blog Lynt.cz

  • Globální scan otevřených .git repozitářů
  • Vytvoření a použití SSH klíče pro Git ve Windows
  • 10% českých webů - přesměrování špatné a horší
  • Technické zpracování webů WebTop100 2019
  • Vychází PPC Robot 1.0

RSS Blog Medio.cz

  • Zóny: Velká novinka v Google Tag Manageru
  • Kalendář akcí v internetovém marketingu pro rok 2018
  • SEO restart 2017 prezentace a odkazy

© Copyright 2016 Lynt services s.r.o.