Использование скриптов AdWords для передачи цены с сайта в текстовые объявления

Скрипты AdWords — инструмент программного управления вашим аккаунтом, который призван ускорить, а в некоторых задачах полностью автоматизировать работу с аккаунтом AdWords. В этой статье мы расскажем об одном полезном способе использования скриптов — передаче информации, а именно цены, с внешнего сайта в тело объявления.





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

С помощью скриптов AdWords эта небольшая задача легко решается. Единственное, что вам нужно сделать  - заручиться поддержкой программиста.

Информация о скриптах AdWords

Стоит отметить, что в сети достаточно информации на этот счет и немного полистав Google Developers автор нашел два хорошо описанных примера:

  • Ad Parameterizer — Параметризатор объявлений. Пример описывает несколько важных моментов — получение внешних данных с использованием json фида, актуализацию ключевых слов и передачу необходимых параметров в объявление.

https://developers.google.com/adwords/scripts/docs/solutions/parameterizer

  • Sale Countdown или Обратный отчет до конца акции. Тут все просто — “До конца акции осталось X дней и Y часов”. Пример попроще и без “наворотов”, но в нем более понятно показана передача параметров в объявление. Кстати говоря, сам по себе очень полезный скрипт, и мы советуем обязательно его использовать в промо-акциях.

https://developers.google.com/adwords/scripts/docs/solutions/sale-countdown

Реализация

1. Работа со скриптом в AdWords

Чтобы начать работу со скриптами, заходим в аккаунт AdWords, Операции над несколькими элементами, Скрипты. Нажимаем на “+ Скрипт” и начинаем работу.

2. JSON фид

Первое что требуется сделать, это сформировать json фид. Формируется он на сайте. В нашем случае требовалось передать два значения — цену разработки корпоративного сайта и интернет-магазина. Фид выглядел следующим образом:
{«data»:{«corp»:{«name»:»[DEV] u041fu043bu0430u0442u043du044bu0439 u0448u0430u0431u043bu043eu043d (u043au043eu0440u043fu043eu0440u0430u0442u0438u0432u043du044bu0439 u0441u0430u0439u0442) «,»price»:8100},»im»:{«name»:»[DEV] u041fu043bu0430u0442u043du044bu0439 u0448u0430u0431u043bu043eu043d (u0438u043du0442u0435u0440u043du0435u0442-u043cu0430u0433u0430u0437u0438u043d)»,»price»:17550}}}

ссылка: http://inweb.ua/for_addwords/

Мы успешно сформировали json фид и чтобы забрать с сайта необходимые параметры, нам остается взять готовую функцию и подставить туда адрес нашего фида:

function getData() {

var url = ‘http://inweb.ua/for_addwords';

var json = Utilities.jsonParse(UrlFetchApp.fetch(url).getContentText());

var data = json.data;

return data;

}

В результате мы получим два параметра data.corp.price и data.im.price, которые будут содержать соответствующие актуальные значения стоимости разработки корпоративного сайта и интернет-магазина.

3. Выбираем группу объявлений

Скрипту необходимо указать, в какой группе объявлений вносить изменения. Реализовать это можно двумя способами: обращаться к конкретной группе или к списку (массиву) групп объявлений в аккаунте.

Для обращения к конкретной группе объявлений, имя заданной группы необходимо объявить в функции main():

function main(){

var adGroup = getAdGroup(‘ЦенаСайта’);

…}

либо перед функцией main() объявить переменную var AD_GROUP_NAME = ‘Цена сайта’
и обратиться к ней:

function main(){

var adGroup = getAdGroup(‘AD_GROUP_NAME’);

…}

Функция обращения к выбранной группе:

function getAdGroup(name) {

var adGroupIterator = AdWordsApp.adGroups()

.withCondition(‘Name = «‘ + name + ‘»‘)

.withLimit(1)

.get();

if (adGroupIterator.hasNext()) {

return adGroupIterator.next();

}

}

Чтобы обратиться к списку групп объявлений задаем массив:

var AD_GROUP_NAMES = ['Цена Сайта', 'Стоимость разработки сайта'];

Функция обращения к списку групп объявлений:

function getAdGroups(names) {

var predicateValues = «['" + names.join("','") + "']«;

Logger.log(predicateValues);

return AdWordsApp.adGroups()

.withCondition(‘Name IN ‘ + predicateValues)

.withLimit(names.length)

.get();

}

4. Выполняем необходимые действия

У нас есть данные с сайта, есть группа или список групп объявлений, осталось написать, а точнее подкорректировать функцию main() и получить готовый скрипт:

Вариант 1 — работаем с одной группой объявлений

function main(){

var adGroup = getAdGroup(‘Цена Сайта’); // задаем имя группы объявлений

var keywordIter = adGroup.keywords().get();

var data = getData();

while (keywordIter.hasNext()) {

var keyword = keywordIter.next();

keyword.setAdParam(1, data.corp.price); //передаемпервыйпараметр

keyword.setAdParam(2, data.im.price); // передаемвторойпараметр

}

}

function getAdGroup(name) {

var adGroupIterator = AdWordsApp.adGroups()

.withCondition(‘Name = «‘ + name + ‘»‘)

.withLimit(1)

.get();

if (adGroupIterator.hasNext()) {

return adGroupIterator.next();

}

}

function getData() {

var url = ‘http://inweb.ua/for_addwords/';

var json = Utilities.jsonParse(UrlFetchApp.fetch(url).getContentText());

var data = json.data;

return data;

}

Вариант 2 — работаем с массивом групп объявлений

var AD_GROUP_NAMES = ['Цена Сайта', 'Стоимость разработки сайта'];

function main(){

var adGroups = getAdGroups(AD_GROUP_NAMES); // обращаемсякмассивугрупп

while (adGroups.hasNext()) {

var adGroup = adGroups.next();

var keywords = adGroup.keywords().get();

var data = getData();

while (keywords.hasNext()) {

var keyword = keywords.next();

keyword.setAdParam(1, data.corp.price); //передаемпервыйпараметр

keyword.setAdParam(2, data.im.price); // передаемвторойпараметр

}

}

function getAdGroups(names) {

var predicateValues = «['" + names.join("','") + "']«;

Logger.log(predicateValues);

return AdWordsApp.adGroups()

.withCondition(‘Name IN ‘ + predicateValues)

.withLimit(names.length)

.get();

}

 

function getData() {

var url = ‘http://inweb.ua/for_addwords/';

var json = Utilities.jsonParse(UrlFetchApp.fetch(url).getContentText());

var data = json.data;

return data;

}

5. Параметризация объявления

Для того чтобы передать параметры в объявление необходимо в текст объявления добавить вставку {param1} и {param2}, в которые мы предварительно передали данные. Значение через двоеточие  {param1:6000} это значение по умолчанию.

{Keyword:Интересует цена сайта?}

Корпоративный сайт от {param1:6000} грн.

Интернет-магазин от {param2:14000} грн.

inweb.ua/{keyword:разработка-сайтов-недорого}

Тестируем:

Еще одна полезная настройка. В интерфейсе можно задать расписание исполнения скрипта, которое будет соответствовать вашим нуждам. В нашем случае целесообразно выполнять скрипт раз в сутки — именно такая частота обновления курса в нашей внутренней системе.

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

Обзор литературы

В дополнение к двум официальным примерам, приведенным выше, хотелось бы поделиться небольшой подборкой статей, которые я нашел при изучении информации о скриптах и посчитал их по-своему полезными: 

  • В “Пятиминутке контекстной рекламы” Сергей Бахарь показывает пример использования готового скрипта (http://blog.netpeak.ua/pyatiminutka-kontekstnoy-reklamy-vypusk-12/)
  • Интересная подборка скриптов от Авеба — небольшой мастхев ppc-специалиста. Примеры использования бесплатных скриптов и ссылочки, где их можно безвозмездно взять (http://aweb.ua/seo-blog/skripty-v-google-adwords-kak-stat-guru-avtomatizacii/)
  • Креативный кейс по использованию погодных сприптов. Ребята сделали рекламную кампанию по доставке еды, которая включалась если на улице был дождь (http://freshit.net/blog/internet-marketing/targetiruem-na-dozhd/).
  • Статья более высокого уровня. Показано автоматизированное создание рекламной кампании для интернет-магазина с более чем 25 000 наименований (http://habrahabr.ru/post/229177/).
  • Пример описывает параметризацию объявления в зависимости от ключевого слова, которое вызвало его показ. Реализация приведена для AdWords API, но сама идея интересная (http://adwordsapi.blogspot.com/2009/11/discover-v2009-setting-ad-parameters.html).




Автор: Роман Игошин

Забавное видео

В 2 года родители подарили малышу баскетбольное кольцо и мяч, посмотрите, что умеет этот малыш сейчас!


Нужны деньги до зарплаты?

более 30 сервисов

Кредиты онлайн на карту за 15 минут

от 0,01%

ставка

до 180 дней

макс срок

до 20 000 грн.

макс сумма