Last active
October 24, 2016 08:29
-
-
Save babi4/3decca6330fb576628163a21e83d40b1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function main() { | |
| var errors_happens = false; | |
| 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(); | |
| // Optional: examine the outcome. The call to isSuccessful() | |
| // will block until the operation completes. | |
| if (keywordOperation.isSuccessful()) { | |
| 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++; | |
| }; | |
| } else { | |
| errors_happens = true; | |
| var errors = keywordOperation.getErrors(); | |
| Logger.log('Ошибка добавления ключа: ' + adKeys[0]); | |
| Logger.log(errors); | |
| } | |
| } | |
| } | |
| }; | |
| if (!errors_happens) { | |
| Logger.log('Удаляем лейбл cross'); | |
| campaign.removeLabel('cross'); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment