2. AdWords Scripts
Автоматизация AdWords с помощью JavaScript
Anash P. Oommen, Google Inc.
Danial Klimkin, Google Inc.
AdWords API Workshops – All rights reserved
3. Содержание
● Что такое AdWords Scripts?
● Пример простого скрипта
● Как узнать больше?
● Полезные ресурсы
AdWords API Workshops – All rights reserved
4. Что такое AdWords Scripts?
AdWords API Workshops – All rights reserved
5. Что такое AdWords Scripts?
● Програмный способ доступа к AdWords
● Весь код на JavaScript
● Встроенная в AdWords среда разработки (IDE)
AdWords API Workshops – All rights reserved
6. Способы использования
● Скрипты для разового выполнения
● Настраиваемые отчеты
● Монитор состояния аккаунта
● Действия на снове внешних данных
AdWords API Workshops – All rights reserved
8. Возможности
● Доступ к основным объектам AdWords
○ Campaigns, Ad groups, Keywords, Ads, ad
extensions, reports…
● Доступ к Ad Params (нет в UI)
● Доступ к Labels (нет в API)
● Доступ к Beta функциям
AdWords API Workshops – All rights reserved
9. и это еще не все:
● Среда разработки (IDE) с автодополнением и
подсветкой синтаксиса
● Тестовый режим (preview)
○ В тестовом режиме аккаунт не изменяется
○ Другие операция (отправка email, обновление docs
выполняется)
● Используется OAuth 2.0
○ До 250 скриптов на аккаунт
AdWords API Workshops – All rights reserved
10. … и более того,
● Автоматический запуск скриптов
○ По заданному расписанию
○ Не чаще 1 раз в час
● Связь с внешним миром
○
○
○
○
Можно делать HTTP запросы
Поддержка Google Drive
Поддержка Google Spreadsheets
Отправка email
AdWords API Workshops – All rights reserved
11. … ну и наконец
● Упрощенный API
● Обычно требует меньше кода, чем AdWords API
● например, feed services…
AdWords API Workshops – All rights reserved
12. Пример создания sitelink
var sitelink = AdWordsApp.extensions()
.newSitelinkBuilder()
.withLinkText("Hello world")
.withLinkUrl("http://www.example.com")
.create();
AdWordsApp.campaigns()
.withIds(['178532656'])
.get().next()
.addSitelink(sitelink);
AdWords API Workshops – All rights reserved
AW SCRIPT
15. Пример -- получение списка всех кампаний
function main() {
// Get all campaigns.
var campaignIterator = AdWordsApp.campaigns().get();
// iterate the list and print names to logger window.
while (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
Logger.log(campaign.getName());
}
}
AdWords API Workshops – All rights reserved
AW SCRIPT
16. Пример -- обновление ставки
function main() {
// Retrieve campaign by name using AWQL.
var demoCampaign = AdWordsApp.campaigns().
withCondition("Name='Demo campaign'").get().next();
// Retrieve child adgroup using AWQL.
var demoAdGroup = demoCampaign.adGroups().
withCondition("Name='Demo adgroup'").get().next();
// Modify the adgroup properties.
demoAdGroup.setKeywordMaxCpc(1.2);
}
AdWords API Workshops – All rights reserved
AW SCRIPT
17. Пример -- загрузка отчета
function main() {
AW SCRIPT
// Run an account performance report
var report = AdWordsApp.report("SELECT Clicks, Impressions, " +
"Cost, AverageCpc, Date FROM ACCOUNT_PERFORMANCE_REPORT " +
"DURING LAST_WEEK");
// Retrieve the spreadsheet to export values to.
var SPREADSHEET_URL = "xxx";
var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var sheet = spreadsheet.getSheetByName(
"Account performance report");
AdWords API Workshops – All rights reserved
18. Пример -- загрузка отчета
// Export the report to spreadsheet
report.exportToSheet(sheet);
// Send out an email with the spreadsheet link
MailApp.sendEmail("john_hancock@google.com",
"Account performance report is ready!",
"Access it at " + SPREADSHEET_URL);
}
AdWords API Workshops – All rights reserved
AW SCRIPT
20. Документация и примеры кода
● Документация по AdWords Scripts
○ https://developers.google.com/adwords/scripts/
● Примеры кода
○ Можно найти в IDE
○ или на сайте с документацией
AdWords API Workshops – All rights reserved
21. Спросите на форуме!
● Форум по AdWords Scripts
○
○
○
○
https://groups.google.com/forum/#!forum/adwords-scripts
Общие вопросы, примеры кода, готовые решения
Обратная связь и пожелания
Поддерживается сообществом и инженерами DevRel!
AdWords API Workshops – All rights reserved
22. Готовые решения
● Некоторые готовые решения:
○ https://developers.google.com/adwords/scripts/docs/solutions/
○ Разные категории, для разных задач
● Скрипты от других разработчиков:
○ http://www.freeadwordsscripts.com/
AdWords API Workshops – All rights reserved
26. Appendix 2 - Read AdParams
//interator on keywords
var kwIter = AdWordsApp.keywords().get(); //this is long, select campaign first
while (kwIter.hasNext()) {
//iterator on parameter of the current keyword
var adParamIter = kwIter.next().adParams().get();
while (adParamIter.hasNext()) {
var adParam = adParamIter.next();
Logger.log("campaign="+ adParam.getAdGroup().getCampaign().getName()+
" AdGroup="+ adParam.getAdGroup().getName()+
" KW=" + adParam.getKeyword().getText() +
" idx=" + adParam.getIndex() +
" value=" + adParam.getInsertionText());
}
}
AdWords API Workshops – All rights reserved
AW SCRIPT