We're looking to create a script and a report that identifies accounts where we are either missing proximity targeting or we need to add additional cities to geotargeting.
var proximitySelector = AdsApp.targeting()
.targetedProximities()
// .withCondition("Impressions > 0")
.forDateRange("LAST_MONTH")
.orderBy("Clicks DESC");
var proximityIterator = proximitySelector.get();
while (proximityIterator.hasNext()) {
var proximity = proximityIterator.next();
…
}
var Click_Threshold = 1;
var RepIterator = AdWordsApp.report("SELECT Id, BidModifier, CampaignName, Clicks, Cost, Conversions, CostPerConversion FROM CAMPAIGN_LOCATION_TARGET_REPORT WHERE Clicks >= 0 DURING LAST_14_DAYS");
var SPREADSHEET_URL = 'SPREADSHEET_URL';
function main() {
var ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var sheet = ss.getActiveSheet();
var data = sheet.getDataRange().getValues();
for (var i = 0; i < data.length; i++) { // iterate through your list of accounts and locations
var accountNum = data[i][0];
var latitude = data[i][1];
var longitude = data[i][2];
var accountIterator = MccApp.accounts().withIds([accountNum]).get();
if (accountIterator.hasNext()) {
var account = accountIterator.next();
MccApp.select(account);
var accountName = account.getName() ? account.getName() : '--';
var campaignIterator = AdWordsApp.campaigns().get();
Logger.log('Total campaigns found : ' + campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) { // iterate through your campaigns
var campaign = campaignIterator.next();
Logger.log(campaign.getName());
campaign.addProximity(latitude, longitude, 7, "MILES"); // set proximity
}
}
}
}