Co skript dělá:
- Stáhne kompletní výkon všech historických produktů za dané časové období (možné nastavit počet dní zpět na řádku 4, číslo 30 říká 30 dnů zpět)
- Vygeneruje CSV soubor, který data obsahuje.
- Můžete následně bez ohledu na historickou strukturu analyzovat, jaké kategorie a značky PLA kampaní fungovali nejlépe.
Jak skript vložit:
- Zkopírujte skript.
- Vložte do účtu.
- Na řádku 4 si změnte, kolik dní zpět chcete stahovat data PLA kampaní. Dejte si pozor, 360 a více dní může znamenat několik milionů záznamů.
- Následně CSV soubor naimportujte pomocí Excel > Data > Z textu
- Vytvořte kontingeční tabulku, kterou potřebujeme.
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 96 |
function main(){ var to = lynt_get_date(1,1); var from = lynt_get_date(30,1); var reportArray = [ "OfferId; CampaignName; AdGroupName; Cost; AllConversions; AllConversionValue; ProductTypeL1; ProductTypeL2; ProductTypeL3; CategoryL1; CategoryL2; CategoryL3; CategoryL4; Impressions; Brand; CustomAttribute0; CustomAttribute1; CustomAttribute2; CustomAttribute3; Clicks"]; var report = AdWordsApp.report("SELECT Month, OfferId, Clicks, CampaignName, AdGroupName, Cost, AllConversions, AllConversionValue, ProductTypeL1, ProductTypeL2, ProductTypeL3, CategoryL1, CategoryL2, CategoryL3, CategoryL4, Impressions, Brand, CustomAttribute0, CustomAttribute1, CustomAttribute2, CustomAttribute3 FROM SHOPPING_PERFORMANCE_REPORT DURING "+from+","+to+""); var iterator = report.rows(); while(iterator.hasNext()) { var oneRow = iterator.next(); var oneRowString = lynt_json_to_array(oneRow); reportArray.push(oneRowString); } doCSV(reportArray,"PLA report"); } function doCSV(input,name) { var data = input.join("\n"); var file = DriveApp.createFile(name, data); Logger.log(file.getUrl()); } function lynt_json_to_array(json) { var OfferId = json.OfferId; var Clicks = json.Clicks.replace(","," ").replace(".",","); var CampaignName = json.CampaignName; var AdGroupName = json.AdGroupName; var Cost = json.Cost.replace(","," ").replace(".",","); var AllConversions = json.AllConversions.replace(","," ").replace(".",","); var AllConversionValue = json.AllConversionValue.replace(","," ").replace(".",","); var ProductTypeL1 = json.ProductTypeL1; var ProductTypeL2 = json.ProductTypeL2; var ProductTypeL3 = json.ProductTypeL3; var CategoryL1 = json.CategoryL1; var CategoryL2 = json.CategoryL2; var CategoryL3 = json.CategoryL3; var CategoryL4 = json.CategoryL4; var Impressions = json.Impressions.replace(","," ").replace(".",","); var Brand = json.Brand; var CustomAttribute0 = json.CustomAttribute0; var CustomAttribute1 = json.CustomAttribute1; var CustomAttribute2 = json.CustomAttribute2; var CustomAttribute3 = json.CustomAttribute3; var string = OfferId + ";'" + CampaignName + ";'" + AdGroupName + ";" + Cost + ";" + AllConversions + ";" + AllConversionValue + ";" + ProductTypeL1 + ";" + ProductTypeL2 + ";" + ProductTypeL3 + ";" + CategoryL1 + ";" + CategoryL2 + ";" + CategoryL3 + ";" + CategoryL4 + ";" + Impressions + ";" + Brand + ";" + CustomAttribute0 + ";" + CustomAttribute1 + ";" + CustomAttribute2 + ";" + CustomAttribute3 + ";" + Clicks; return string; } function lynt_format_awql_date(datum){ return datum.getUTCFullYear()+("0"+(datum.getUTCMonth()+1)).slice(-2)+("0"+datum.getUTCDate()).slice(-2); } //Daylight saving time correction function lynt_DST(datum, offset){ var yr = datum.getFullYear(); var dst_start = new Date("March 14, " + yr +" 02:00:00"); var dst_end = new Date("November 07, " + yr +" 02:00:00"); var day = dst_start.getDay(); dst_start.setDate(14-day); day = dst_end.getDay(); dst_end.setDate(7-day); if (datum >= dst_start && datum < dst_end){ return offset+1; } else { return offset; } } //Getting data for x days back in right format for AWQL query function lynt_get_date(pocet_dni, zona) { var minule = new Date(); //kdyz je letni cas, tak o hodinu dele (GMT+1) var offset = lynt_DST(minule, zona); minule.setTime(minule.getTime() - (1000 * 60 * 60 * (24) * pocet_dni) + offset); return lynt_format_awql_date(minule); } |
Pavel says
Ahoj,
skript hlásí, že nemám přístup k požadovanému dokumentu (pravděpodobně řádek 7), vytvořil jsem vlastní .csv,ale data se nenatáhla, naopak se vytvořil dokument .doc s produkty PLA, ale určitě bude něco špatně. 🙂
Prosím o radu, co s tím?
Moc Díky
Pavel
Vláďa Smitka says
V skriptu nám zůstal testovací export do Google Sheetu, už je to pryč 😉
Pavel says
No dobře, ale kde vezmu CSV soubor? Pořád ho nevidím? Mám do skriptu vložit nějaký odkaz? Je možné postup popsat i trochu více pro lajka? 🙂
Karel Borovička says
Hledej na google disku soubor „PLA report“