function main(){
var SPREADSHEET_URL = 'INSERT_SPREADSHEET_URL_HERE';
var SHEET_NAME = 'INSERT_SHEET_NAME_HERE';
var ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var sheet = ss.getSheetByName(SHEET_NAME);
sheet.appendRow(['Campaign Name','Location','Bid Modifier']); //headers for the spreadsheet
var targetedLocationSelector = AdWordsApp.targeting()
.targetedLocations();
var targetedLocationIterator = targetedLocationSelector.get();
while (targetedLocationIterator.hasNext()) {
var targetedLocation = targetedLocationIterator.next(); //you may add more rows depending on your requirement.
var campaignName = targetedLocation.getCampaign().getName();
var locationName = targetedLocation.getName();
var bid = targetedLocation.getBidModifier();
sheet.appendRow([campaignName, locationName, bid]);
}
}function main() {
var SPREADSHEET_URL = 'INSERT_SPREADSHEET_URL_HERE';
var SHEET_NAME = 'INSERT_SHEET_NAME_HERE';
var ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var sheet = ss.getSheetByName(SHEET_NAME);
var campaignValue = sheet.getRange("A:A").getValues(); //assuming column A contains the campaign name
var campaignNames = [];
for (var i = 1; i < sheet.getLastRow(); i++) {
campaignNames = campaignValue[i].join(',');
Logger.log(campaignNames);
//get campaigns
var campaignIterator = AdWordsApp.campaigns()
.withCondition("Name = '"+campaignNames+"'")
.get();
if (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
var locationIterator = campaign.targeting().targetedLocations().get();
Logger.log(locationIterator.totalNumEntities())
var ctr = locationIterator.totalNumEntities() + 1; //used to log all locations targeted by the campaign
while (locationIterator.hasNext()) {
var targetedLocation = locationIterator.next();
Logger.log(targetedLocation.getName());
sheet.getRange(ctr, 2).setValue(targetedLocation.getName()); //saves location name in column B
sheet.getRange(ctr, 3).setValue(targetedLocation.getBidModifier()) //saves bidModifier in column C
ctr --;
}
}
}
}