-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexport-data-account-view.js
More file actions
47 lines (43 loc) · 2.08 KB
/
export-data-account-view.js
File metadata and controls
47 lines (43 loc) · 2.08 KB
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
// Want the old cells on the sheet deleted? Change this to true
var THE_SCRIPT_CLEAR_THE_CONTENTS_OF_THE_SHEET_CONTENTS = false;
// Should the script add the column headers, or just the data?
var ADD_COLUMN_HEADERS = true;
function main() {
var QUERIES = [
{
"select": "SELECT CampaignName, Clicks, Ctr, AverageCpc, CampaignId, CostPerConversion, AllConversionValue, InvalidClicks, SearchClickShare, TopImpressionPercentage, AbsoluteTopImpressionPercentage, Date, Impressions, Cost",
"from": "FROM CAMPAIGN_PERFORMANCE_REPORT",
"where": "WHERE Impressions > 0",
"during": "DURING 20210501,20211107",
"url": "enter-sheet-url-here",
"tabName": "enter-tabname-here",
},
{
"select": "SELECT AllConversions, ConversionTypeName, CampaignName, CampaignId, Date",
"from": "FROM CAMPAIGN_PERFORMANCE_REPORT",
"where": "WHERE AllConversions > 0",
"during": "DURING 20210501,20211107",
"url": "enter-sheet-url-here",
"tabName": "enter-tabname-here",
}
];
for (var i in QUERIES) {
var queryObject = QUERIES[i];
var query = queryObject.select + " " + queryObject.from + " " + queryObject.where + " " + queryObject.during;
var spreadsheet = SpreadsheetApp.openByUrl(queryObject.url);
var sheet = spreadsheet.getSheetByName(queryObject.tabName);
// If you don't want to clear
if (THE_SCRIPT_CLEAR_THE_CONTENTS_OF_THE_SHEET_CONTENTS) {
sheet.clear();
}
var report = AdWordsApp.report(query);
// This bit of code grabs the SELECT line and pulls out the variables,
// allowing you to ONLY write your variables on the select line and auto add them to the report in the right place
var columnNamesAsString = queryObject.select.replace("SELECT ", "");
var columnNamesAsArray = columnNamesAsString.split(", ");
if (ADD_COLUMN_HEADERS) {
sheet.appendRow(columnNamesAsArray);
}
report.exportToSheet(sheet);
}
}