Начните работать с нами
Оставьте заявку

Скрипт Ads для назначения ставок, если цена товара не указана в объявлении, и у вас огромный аккаунт

Данная статья продолжает блок статей об управлении ставками в модельных кампаниях Google Ads (когда объявление рекламирует конкретный товар) в зависимости от цен этих товаров. Предыдущая статья находится здесь.

07 марта 2019

Ни для кого не секрет, что по мере работы кампании ключевые слова накапливают статистику и мы принимаем решения об эффективности отдельных слов. Кто-то обновляет ставки руками, кто-то использует автоматизацию. Но что делать, когда вы только запускаетесь, и у вас нет данных по эффективности ключевых слов. Первое, что приходит в голову — назначить всем ключевикам единую ставку, а далее начать корректировать значения бидов. Однако стоит учитывать, если вы рекламируете товары с большим разбросом цены, например наушники за $5 и наушники за $150, то единая ставка тут не подойдет. Более дешевый товар может выиграть больше акционов, и вы на этом не заработаете. Для такой ситуации есть второй вариант назначения первых ставок — ставки в зависимости от цены товара. В этой статье рассмотрим еще один, уже сложный, вариант скрипта Ads, когда цена товара не указана в тексте объявления, но имеется на посадочной странице, и при этом у вас такой большой аккаунт, что скрипт из второй статьи вам не помог.

Логика работы мудреная, возможно в таком виде это вам и не пригодится, но интересные вещи почерпнете: Первый скрипт Ads проходит по всем вашим модельным кампаниям (надо добавить уникальный ярлык к объявлениям из таких РК), собирает все ссылки из объявлений и вставляет их в гугл таблицу. В этой гугл таблице срабатывает свой скрипт, который в соседних ячейках проставляет цены товаров по той же логике, что и во второй статье. Еще один скрипт Ads забирает из гугл таблицы данные по ценам и ссылкам, сохраняет их в списке, далее он же с помощью итератора и селектора ключевых слов получает активные слова из активных групп нужных кампаний. Для каждого ключевика получает его группу, из этой группы берет первое объявление. Из поля final url получаем ссылку на товар, для этой ссылки из массива находим цену. Далее назначаем ставку ключевому слову, исходя из коэффициента конверсии сайта и среднего дохода с товара; в примере цена товара просто делится на 80. Скрипт работает только с развернутыми текстовыми объявлениями, если хотите работать с другими типами, то почитайте в справке о селекторах для нужного формата объявлений.

Ниже инструкция с кодами скриптов и комментариями. Везде одобряйте авторизацию для скриптов.

1.Скопировать в аккаунт Ads этот скрипт и сохранить его отдельно:

Этот скрипт собирает ссылки из всех объявлений и отправляет в гугл таблицу. Этому скрипту можно назначить расписание выполнения на 1 раз в день. В первый раз можно запустить руками для проверки. Тут не важно как запускать: в режиме просмотра или выполнения, в эдвордс изменений не будет, а в таблицу вставятся ссылки. В строчке с переменно ss надо указать id нужной таблицы. ID таблицы берется из ссылки на таблицу, например: https://docs.google.com/spreadsheets/d/1EU6HIvhCsssss7BtFaokQq_svBfQCE/edit#gid=0  — жирным выделили id.

2.В используемой таблице зайти в “Инструменты” -> “Редактор скриптов”.

Зайти в “Файл” — >”Создать” — >”Скрипт”

Вставить код

В 4й строке указываем id таблицы. Сохраняем скрипт под каким-нибудь названием, для удобства можно назвать “clearTable”. Этот скрипт будет очищать таблицу с заданной периодичностью. Если обратить внимание на первую строку, то увидим название функции — clearSheet.
Чтобы настроить расписание этого скрипта, надо зайти в “Правка” -> “Триггеры текущего проекта” и добавить новый триггер для упомянутой выше функции.

Можно на раз в неделю или раз в день ночью. Если триггер будет на каждый день, то он должен срабатывать раньше, чем скрипт добавления ссылок в таблицу, который был описан в пункте 1.

3.По аналогии создаем в этой же таблице новый скрипт.

Вставляем код:

В строке с переменной ss указываем id таблицы. Скрипт можно назвать произвольно, но для удобства можно и “getPrices”. Этот скрипт будет парсить сайт и находить цены под соответствующие ссылки. Обратим внимание, в начале скрипта указано название главной функции — getPrices . Для нее настраиваем триггер на каждые 15 минут.

Первый раз можно запустить руками.

За один проход этот скрипт может не успевать указать все цены, поэтому расписание такое частое. Проходов за 5 он успеет указать все цены.

4.Создаем еще один скрипт для таблицы.

В строке с переменной ss указываем id таблицы. Этот срипт будет сортировать цены и ссылки так, чтобы неопределенные значения были внизу таблицы и для них повторно определялась цена. Скрипт можно назвать произвольно. Название функции — sorter.

Триггер можно поставить на каждый час.

5.Создаем в Ads новый скрипт.

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

Итоговый график выполнения всех скриптов должен получиться примерно таким: ночью раз в неделю срабатывает скрипт очистки таблицы 1 раз в день; ночью один раз в сутки срабатывает скрипт ads, который собирает ссылки объявлений и отправляет их в таблицу; каждые 15-30 минут срабатывает скрипт получения цен в таблице; каждый час срабатывает скрипт сортировки в таблице; утром или днем (в зависимости от скорости заполнения всех цен в таблице) 1 раз в сутки срабатывает скрипт ads, выставляющий ставки.

При желании вы можете изменить последний скрипт так, чтобы он не назначал ставки, а изменял цены в текстах объявлений, — просто надо проходить селектором не по ключевым словам, а по объявлениям, брать искомый параметр объявления, например описание 2, вырезать из него цену, сверять цену с актуальной, полученной из таблицы. Если цены расходятся, то надо создавать дубль объявления, но с уже новой ценой, старый вариант удалять. А если у вас в аккаунте мало объявлений, то можно обойтись и без таблиц, сканируя посадочные страницы в поисках цен непосредственного из этого же скрпита, как это делалось во второй статье серии. Про такое обновление цен можно было бы написать статью, но каждый сайт и аккаунт ads уникален, поэтому общего решения все равно не выйдет, так что, приложив немного усилий, вы сделаете все сами. Удачи!