- PVSM.RU - https://www.pvsm.ru -

Автообновление дедлайна акций в Яндекс.Директе

Передо мной и моими знакомыми не раз вставала задача ежедневно обновлять даты в объявлениях Яндекс.Директа. В объявлении пишется «Успей до 21 мая», если сегодня 20 мая. И так каждый день выставляется следующий день. Почему-то все они делали это вручную, хотя задача прекрасно и удобно автоматизируется с помощью предоставленного этим сервисом API [1].

Я эту задачу автоматизировал и хочу поделиться с уже готовым скриптом [2]. К тому же, он послужит примером для работы в подобных ситуациях, его несложно адаптировать под другие подобные задачи.

Скрипт был написан под кампании моего партнера, для других возможно потребуются какие-нибудь изменения. Для меня было важно упростить работу с скриптом, поэтому вариант «залью шаблоны всех объявлений на сервер и буду обновлять каждый день» не подошел — так при изменении или добавлении объявлений их нужно было настраивать и на сервере.

В итоге, я пришел к тому, что лучше автоматически искать дедлайн в объявлении и исправлять его на правильный.

Принцип работы скрипта следующий:

  • Скачиваются все объявления из заданных кампаний.
  • В фразах вида «до 11.22», числа заменяются на нужную дату.
    Например, «до 01.05» заменится на «до 21.05», если сегодня 20 мая.
    Текущие даты в объявлении могут быть любые, лишь бы цифры было по две и для дня, и для месяца (правильно:
    09.05, неправильно: 9.05, 9.5, 09.5)
  • В фразах вида «до 2 мая», число и месяц заменяются на нужные.
    Фразы вроде «до 20 процентов» игнорируются, в качестве последнего слова может быть только название месяца.

Чтобы начать работать с API, нужно:

  • В интерфейсе Яндекс.Директ включить использование API, прочитав и согласившись с правилами.
  • Создать сертификат и скачать его.

Далее, закачать все файлы из архива с сертификатом в директорию с скриптом на сервере.

В скрипт нужно внести следующие параметры (в первых двух строках):

  • Список идентификаторов рекламных кампаний (по аналогии с тем, что написано в строке).
  • Количество дней, которые прибавить к текущему (по умолчанию — 1 день).

Далее, добавить вызов этого скрипта в cron ночью, с 0 до 9 часов (9:00 — время начала работы модерации). Осталось только получать утром уведомления о прошедших модерациях.

Документация по Яндекс.Директ API: http://api.yandex.ru/direct/ [1]
Сам скрипт: https://github.com/gepo/ecommerce-tools [2]

Автор: gepo


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/yandeks-direkt/8286

Ссылки в тексте:

[1] API: http://api.yandex.ru/direct/

[2] готовым скриптом: https://github.com/gepo/ecommerce-tools/blob/master/yandex.direct/update_discount_banner.php