Skip to content

Instantly share code, notes, and snippets.

@babi4
Last active September 26, 2016 08:48
Show Gist options
  • Select an option

  • Save babi4/5f2c0d1852a6d6daab89ee0d8337bd4e to your computer and use it in GitHub Desktop.

Select an option

Save babi4/5f2c0d1852a6d6daab89ee0d8337bd4e to your computer and use it in GitHub Desktop.
function main() {
var campaignIterator = AdWordsApp.campaigns()
.withCondition('LabelNames = "cross"')
.get();
while (campaignIterator.hasNext()) {
if (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
Logger.log('Work with: Campaign Name: ' + campaign.getName());
Logger.log('Enabled: ' + campaign.isEnabled());
}
var adGroupIterator = campaign.adGroups()
.get();
Logger.log('Всего найдено групп: ' + adGroupIterator.totalNumEntities());
while (adGroupIterator.hasNext()) {
var adGroup = adGroupIterator.next();
var keywordIterator = adGroup.keywords().get();
while (keywordIterator.hasNext()) {
var keyword = keywordIterator.next();
//Logger.log('Ключ: ' + keyword.getText());
if (~keyword.getText().indexOf(" -")) {
Logger.log('Есть минус слова!: ' + keyword.getText());
var adKeys = keyword.getText().toLowerCase().split(" -");
//добавляем ключ без минусов
var keywordOperation = adGroup.newKeywordBuilder()
.withText(adKeys[0])
.build();
Logger.log('Добавлен ключ: ' + adKeys[0]);
//удаляем старый ключ
Logger.log('Ключ: ' + keyword.getText()+ " удален");
keyword.remove();
var normalKeywords = adKeys[0].replace(" ","").split("+");
// Добавляем исключения
var i = 1;
while (i < adKeys.length) {
if (normalKeywords.indexOf(adKeys[i]) == -1){
//Есть бага, что иногда вставляет лишний ключевик (не понимает что Cooper и cooper это одно и тоеж)
adGroup.createNegativeKeyword(adKeys[i]);
Logger.log('Добавлено исключение: ' + adKeys[i]);
}
i++;
};
}
}
};
Logger.log('Удаляем лейбл cross');
campaign.removeLabel('cross');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment