adwords scripts (russian)
DESCRIPTION
TRANSCRIPT
AdWords API Workshops – All rights reserved
AdWords ScriptsАвтоматизация AdWords с помощью JavaScript
Anash P. Oommen, Google Inc.Danial Klimkin, Google Inc.
AdWords API Workshops – All rights reserved
● Что такое AdWords Scripts?
● Пример простого скрипта
● Как узнать больше?
● Полезные ресурсы
Содержание
AdWords API Workshops – All rights reserved
● Програмный способ доступа к AdWords
● Весь код на JavaScript
● Встроенная в AdWords среда разработки (IDE)
Что такое AdWords Scripts?
AdWords API Workshops – All rights reserved
● Скрипты для разового выполнения
● Настраиваемые отчеты
● Монитор состояния аккаунта
● Действия на снове внешних данных
Способы использования
AdWords API Workshops – All rights reserved
● Минимальные знания JavaScript
● Любой AdWords аккаунт
● всё!
Требования
AdWords API Workshops – All rights reserved
● Доступ к основным объектам AdWords○ Campaigns, Ad groups, Keywords, Ads, ad
extensions, reports…● Доступ к Ad Params (нет в UI)● Доступ к Labels (нет в API)● Доступ к Beta функциям
Возможности
AdWords API Workshops – All rights reserved
● Среда разработки (IDE) с автодополнением и
подсветкой синтаксиса
● Тестовый режим (preview)○ В тестовом режиме аккаунт не изменяется○ Другие операция (отправка email, обновление docs
выполняется)● Используется OAuth 2.0
○ До 250 скриптов на аккаунт
и это еще не все:
AdWords API Workshops – All rights reserved
● Автоматический запуск скриптов○ По заданному расписанию○ Не чаще 1 раз в час
● Связь с внешним миром○ Можно делать HTTP запросы○ Поддержка Google Drive○ Поддержка Google Spreadsheets○ Отправка email
… и более того,
AdWords API Workshops – All rights reserved
● Упрощенный API● Обычно требует меньше кода, чем AdWords API● например, feed services…
… ну и наконец
AW SCRIPT
AdWords API Workshops – All rights reserved
var sitelink = AdWordsApp.extensions()
.newSitelinkBuilder()
.withLinkText("Hello world")
.withLinkUrl("http://www.example.com")
.create();
AdWordsApp.campaigns()
.withIds(['178532656'])
.get().next()
.addSitelink(sitelink);
Пример создания sitelink
AW SCRIPT
AdWords API Workshops – All rights reserved
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());
}
}
Пример -- получение списка всех кампаний
AW SCRIPT
AdWords API Workshops – All rights reserved
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);
}
Пример -- обновление ставки
AW SCRIPT
AdWords API Workshops – All rights reserved
function main() {
// 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");
Пример -- загрузка отчета
AW SCRIPT
AdWords API Workshops – All rights reserved
// Export the report to spreadsheet
report.exportToSheet(sheet);
// Send out an email with the spreadsheet link
MailApp.sendEmail("[email protected]",
"Account performance report is ready!",
"Access it at " + SPREADSHEET_URL);
}
Пример -- загрузка отчета
AdWords API Workshops – All rights reserved
● Документация по AdWords Scripts○ https://developers.google.com/adwords/scripts/
● Примеры кода○ Можно найти в IDE○ или на сайте с документацией
Документация и примеры кода
AdWords API Workshops – All rights reserved
● Форум по AdWords Scripts○ https://groups.google.com/forum/#!forum/adwords-scripts○ Общие вопросы, примеры кода, готовые решения○ Обратная связь и пожелания○ Поддерживается сообществом и инженерами DevRel!
Спросите на форуме!
AdWords API Workshops – All rights reserved
● Некоторые готовые решения:○ https://developers.google.com/adwords/scripts/docs/solutions/○ Разные категории, для разных задач
● Скрипты от других разработчиков:○ http://www.freeadwordsscripts.com/
Готовые решения
AdWords API Workshops – All rights reserved
Полезные ресурсы
Documentation: http://goo.gl/77ACPForum: http://goo.gl/QsxCz5
AW SCRIPT
AdWords API Workshops – All rights reserved
//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());
}
}
Appendix 2 - Read AdParams