Подпишитесь на страницу в ФБ, там сильно больше контента!
Скрипты в Google AdWords
Немного отойдем от темы веб-аналитики и обратим свое внимание на автоматизацию размещения и контроля кампаний в Google AdWords.

Мало кто знает, что Google AdWords предоставляет возможность управлять своими РК с использованием javascript, прямо в интерфейсе системы, через API Google Adwords.
К слову сказать, что получение доступа к API Google AdWords, т.е. получение API token, не тривиальная задача.

Для получения доступа к возможности работать со скриптами, заходим в аккаунт Google Adwords и выбираем в правом меню пункт «Операции над несколькими элементами» и подпункт «Скрипты»:
Скрипты в Google AdWords (нажмите для увеличения)
Далее, создаем новый скрипт:
Скрипты в Google AdWords (нажмите для увеличения)
Для работы с скриптами необходимо авторизоваться:
Скрипты в Google AdWords (нажмите для увеличения)
Теперь, имея доступ к интерфейсу, возможно управлять своими рекламными кампаниями, группами объявлений, объявлениями и ключевыми запросами используя javascript.

По умолчанию в справке есть несколько примеров скриптов, решающие следующие задачи:

Кампании


Группы объявлений


Ключевые слова


Объявления



Кроме того, вот интересный пример использования скриптов Adwords:

Контроль над расходами

Спасибо уважаемому Павлу Романовскому за материал)

Предположим у нас стоит задача контроля определенного расхода бюджета на кампанию, стандартными средствами AdWords эта задача решается посредственно, но используя скрипты AdWords можно элегантное решение:

Итак для полноценной работы скрипта, ему нужны

  1. Название кампании
  2. Размер ограничения
  3. Стартовая дата отслеживания
  4. Электронная почта для уведомлений.
Все эти данные необходимо внести в электронную табличку (сохраните себе в Google Disk) http://goo.gl/ywSu7.

Сохраните ссылку из браузера своего документа, она понадобится на следующих шагах.

Табличку можно раскрасить по вкусу, а менять расположение ячеек не стоит, заполняем строчки которые выделены жирным шрифтом.

Алгоритм работы таков:
  1. Раз в час (чаще пока нельзя) скрипт забирает из таблицы название кампании, сумму ограничений, дату начала отслеживания
  2. Подсчитывает расходы
  3. Проверяет, активна ли кампания, если активна — выставляет служебные метки в таблице. Если не активна — полезных действий не производит и останавливается.
  4. Запрашивает ежедневный бюджет аккаунта (чуть ниже объясню почему)
  5. Производит вычисление, сравнивая затраты на кампанию, начиная с определенной даты по сегодняшний момент, с пороговым значением отключения. Если достигнуто, переходит в пункт 6.
  6. Отключает кампанию
  7. Отправляет письмо на указанную почту
  8. Производит запись в Гугл табличке, что кампания отключена и время ее отключения.
Вот содержание скрипта, с максимальными комментариями. Для скачивания тут http://goo.gl/QY9by
function main() {
var ss = SpreadsheetApp.openByUrl( "https://docs.google.com/spreadsheet/ccc?key=0Ahq3mrXBUIYHdDBtZS1FUFBuamZQU2FWSTB4MzZDT1E#gid=0");//Ссылка на свою таблицу var balance = ss.getRange("C3").getValue(); //Сумма ограничений var data_start = ss.getRange("C4").getValue(); //Дата с которой происходит отслеживание data_start = Utilities.formatDate(data_start, "PST", "yyyyMMdd"); var data_today = new Date();//Сегодняшняя дата data_today = Utilities.formatDate(data_today, "PST", "yyyyMMdd"); var company_name = ss.getRange("C2").getValue(); //Название отслеживаемой кампании var email = ss.getRange("C5").getValue(); //Электронная почта для уведомлений var cost = 0;// Начальная стоимость var status = ss.getRange("E7").getValue(); //Статус кампании (была ли отключена скрпитом) var campaignsIterator = AdWordsApp.campaigns() .withCondition("Name = '" + company_name + "'") . get(); while (campaignsIterator.hasNext()) { var campaign = campaignsIterator.next(); var stats = campaign.getStatsFor(data_start, data_today); cost += stats.getCost(); }//Определение стоимости затрат за указанный интервал времени if( campaign.isEnabled()){ ss.getRange("E7").setValue("0"); ss.getRange("D7").setValue(""); //Определение состояния кампании включена/выключена. Если включена обнолвяет служебную информацию. var budget = campaign.getBudget() Logger.log("Потрачено за период: " + cost);//Отладочная информация выводится в журнале Logger.log("Ежедневный бюджет: " + budget); Logger.log("Ограничения расходов: " + balance); var budget=campaign.getBudget()//Определение ежедневного бюджета if (cost >= balance-(budget/12)) {//Проверка перерасхода campaign.pause();//Ставим кампаниию в паузу и пишем письмо var subject = "Кампания " + company_name + " исчерпала свой предельный бюджет"; var body = "Потрачено: " + cost + " Указанный предел расходов:" + balance + " кампания " + company_name + " будет отключена" ; MailApp.sendEmail(email, subject, body); Logger.log("Отправлена почта: " + email);//Отладочная информация выводится в журнале ss.getRange("E7").setValue("1");//Служебная отметка в Гугл таблице ss.getRange("D7").setValue(new Date());//Запись в таблицу времени и дата остановки кампании } } }
Made on
Tilda