12 Января 2016 в 10:35

В мире машин – что готовят нам рекламные API

0 5594
Александр Швец
Директор по продукту,
Marilyn

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

API (Application Program Interface) – это язык этого мира. Это то средство обмена информацией, которое позволяет разным системам прекрасно понимать друг друга.

Всегда считалось, что API должны заниматься только разработчики. Действительно, спроектировать достойный API может только опытный разработчик. Однако, как неумение пользоваться компьютером, а скоро и писать хотя бы мелкие скрипты, становится признаком неграмотности, так и неспособность разобраться в API вскоре станет признаком непрофессионализма для маркетолога.

В Marilyn мы работаем c десятками API различных рекламных систем (на момент написания статьи их было 13, но на очереди еще почти столько же). Кроме того, мы делаем собственный API, поэтому можем посмотреть на проблему с обоих сторон. На основе этого опыта хотелось бы поделиться с вами возможностями и особенностями этих API.

Хотелось бы выделить некоторые группы API:

  • SEM: Google AdWords, Яндекс.Директ, Bing Ads и др.
  • SMM: myTarget, VKontakte, Facebook, Twitter, Linkedin и др.
  • Прайс-площадки: Яндекс.Маркет, Google Merchant, Товары@Mail.ru и др.
  • Медийные площадки и RTB: Яндекс.Дисплей, Google DBM, AdFox, AdRiver и др.
  • Системы аналитики и коллтрекинга: Google Analytics, Яндекс.Метрика, CallTouch, CoMagic и др.

В первой статье рассмотрим контекстные системы. Автоматизация контекста — одна из самых старых и серьезных областей в маркетинге, поэтому здесь API самые сложные.

AdWords

Текущей версией API является v201509. В среднем Google выпускает 3 версии в год. Время жизни каждой версии обычно не больше года, что заставляет держать всех разработчиков в тонусе.

Большая часть API является открытой, документация доступна на официальном сайте.

API является крайне богатым по возможностям: управление кампаниями, креативами, таргетингами, рекламными расширениями; управление бюджетами и ставками; широкие возможности по отчетам; сервисы для расширения семантики и прогноза бюджета; управление аккаунтами.

Возможности интерфейса практически совпадают с возможностями API. Из последних приятных новшеств: в API появилась возможность работы с ярлыками системы и отчеты по видеокампаниям. Хотя до полноценной работы с видеокампаниями еще далеко.

API AdWords обладает специальным механизмом для получения отчетности под названием AWQL, похожим на классический язык запросов SQL. С помощью него из AdWords можно выкачивать 43 типа отчетов с нужной фильтрацией. Также Google поддерживает специальную утилиту aw-reporting, которая позволит вам выкачать всю статистику по подключенным аккаунтам в локальную базу данных.

Получить полноценный API AdWords довольно непростая задача. Когда-то API был платным и за деньги можно было купить дополнительные операции. Сейчас никакой платы нет, но есть три уровня API: Test, Basic и Standard. Стать обладателем Test токена не очень сложно, но вы сможете работать только с тестовыми аккаунтами. C получением Basic-уровня уже придется всерьез повозиться и это даст возможность делать всего 10 000 операций в день. Хотя для небольших задач этого может и хватить. Ну и если вы хотите Standard уровень без ограничений на операции, то в большинстве случаев вам придется доказывать наличие RMF (Required Minimum Fuctionality) — минимального количества функций, которые есть у вас в системе. Получение Standard может затянуться на год и больше, кроме того Google может иногда проверять, что вы продолжаете добавлять поддержку всех новых фич.

Помимо ограничения на количество операций, которое зависит от уровня API, у AdWords есть ограничение на частоту запросов, но нарваться на него при нормальной работе программы крайне сложно.

AdWords официально поддерживает библиотеки для Java, .NET, Python, Perl, PHP и Ruby. Системам, написанным на этих языках будет проще начать использовать API, но в принципе вы можете использовать любой язык, который дружит с SOAP.

Если вам не хочется возиться с получением токенов или библиотеками, то для ряда задач вы можете начать с написания AdWords-скриптов. Они работают с полным набором API на JavaScript-подобном языке. Скрипты можно писать прямо в интерфейсе AdWords.

Поддержка разработчиков осуществляется через специализированный Google-форум. В принципе довольно удобно, так как с какими-то проблемами могли уже сталкиваться другие разработчики. Если вопрос все же новый, то официального ответа можно ждать в течение суток, а иногда даже раньше. Раз в год по всему миру Google устраивает специальные воркшопы по API. К сожалению, в Москве они не прижились, ближайший воркшоп проходит в Гамбурге.

За обновлениями API легко следить, подписавшись на блог для разработчиков. Впрочем, там публикуются новости не только про AdWords, но и про все рекламные технологии Google.

Яндекс.Директ

На данный момент Яндекс поддерживает три версии API: v4, v4 live и v5. Для того чтобы полноценно использовать все возможности необходимо использовать сразу две версии v4 live и v5.

На данный момент Директ переходит на новую релизную политику, постоянно добавляя новые сервисы в v5. Но и в v4 live иногда появляются приятные вещи. В целом, переход на v5 обусловлен также полной сменой концепции архитектуры API: от процедурного стиля интерфейс переходит к концепции сервисов-ресурсов.

Большая часть API является также открытой и находится на официальном сайте.

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

В целом возможности API иногда даже немного превосходят интерфейс. Группы объявлений, например, появились сначала в API, а потом уже в интерфейсе. Но есть и возможности, не доступные через API (например, корректировки на пол и возраст).

Все, что касается функциональности получения статистики и отчетов, пока есть только в 4-й версии API. При этом есть быстрые методы, но не очень подробные, а есть очень медленные, но со всеми возможными срезами. В редких случаях статистика, полученная через API, может не совпадать со статистикой в интерфейсе, но техническая поддержка решает такие проблемы. Надеюсь, что 5-я версия API исправит все существующие проблемы.

До недавнего момента получить API Директа мог абсолютно любой желающий. На данный момент, после полного перехода на OAuth, Директ требует сертифицировать свои приложения. Для этого в интерфейсе Директа появился специальный раздел в подразделе API. Насколько будет сложной процедура сертификации для новых приложений пока сложно сказать.

В v4 есть ограничения на количество вызовов определенных методов в сутки и балльные ограничения. Также довольно сильно ограничено количество отчетов, которые можно получать единовременно. В v5 Директ переходит на полностью балльные ограничения с довольно хитрой методикой подсчета.

Директ не предоставляет официальных библиотек для использования API на разных языках. Впрочем, реализация подобной библиотеки довольно тривиальна как для SOAP-протокола, так и для JSON-RPC версии — на данный момент Яндекс поддерживает оба вида взаимодействия. Кроме того, в документации есть примеры на C#, Perl, Python и PHP.

Коммуникацию с разработчиками Директ сейчас трансформирует. В основном она происходит в виде закрытых встреч или опросов. Форум по API не прижился, но, вероятно, подобная площадка появится в будущем. Сообщения о проблемах с API принимаются на форме в разделе документации.

Чтобы быть в курсе всех новинок API, необходимо подписаться на новости на том же tech.yandex.ru.

Bing

На данный момент последней версией API является версия под номером 10. Но для многих вещей пока еще приходится использовать 9-ку. В целом Microsoft не гонится за номерами версий, постепенно добавляя функциональность в текущую версию и сохраняя обратную совместимость. Например, закат 8-й версии был в июне 2014, т.е. время жизни версии значительно больше года.

Честно сказать, я не обладаю информацией о закрытых частях API, но открытая часть располагается в MSDN здесь.

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

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

Отчеты по принципу формирования больше похожи на медленные отчеты Директа, но по структуре напоминают AdWords, предоставляя 30 различных типов отчетов.

Получение доступа к API не представляет большой сложности. Токен для работы с собственными аккаунтами можно получить сразу же после заполнения формы заявки. Для работы со сторонними аккаунтами необходимо подать еще одну несложную заявку, которую рассматривают в течение 5 рабочих дней.

Ограничения API совпадают с ограничениями самой системы Bing Ads. По идее у Bing также есть ограничение на количество одновременных запросов и частоту запросов, о чем можно судить по возможным ошибкам ConcurrentRequestOverLimit и CallRateExceeded, но в документации этот момент не описан.

Сам API построен в виде нескольких сервисов, но в духе классического RPC с разнообразием методов. Взаимодействие происходит по SOAP (протокол обмена структурированными сообщениями в распределенной вычислительной среде). Есть стандартные библиотеки для разработчиков на Java, .NET и Python, а также примеры для PHP.

Для коммуникации с разработчиками у Bing есть Bing Ads Dev Center. В этом центре есть множество ссылок на полезные ресурсы. Там же есть раздел Support с открытыми тикетами, форумом для предложения идей и чатом с техподдержкой.

У Bing Ads API есть свой блог, где публикуются все анонсы и изменения в API.

Подведем итоги

Если говорить о различиях возможностях API, то надо влезать глубоко и в возможности каждой системы. За редким исключением, API позволяют сделать все то же, что можно сделать в интерфейсе, только более массово. Поэтому наиболее полезным будет итог по форме представленных API.


AdWords

Директ

Bing

Актуальная версия

v201509

v4 live, v5

9 и 10

Релизная политика

несколько релизов в год

постепенное развитие v5

крупный релиз раз в несколько лет, постепенное развитие

Документация

https://developers.google.com/adwords/api/docs/reference/

https://tech.yandex.ru/direct/

https://msdn.microsoft.com/en-us/library/bing-ads-api(v=msads.10).aspx

Тип API

SOAP, ресурсоориентированный

SOAP и JSON-RPC, последняя версия ресурсоориентированная

SOAP по типу классического RPC (удаленный вызов процедур)

Сложность получения

Высокая

Пока неизвестно

Низкая

Ограничения

На одновременные запросы и частоту

Балльные и посуточные на некоторые методы v4

На одновременные запросы и частоту

Официально поддерживаемые языки

Java, .NET, Python, Perl, PHP и Ruby

Есть примеры для на C#, Perl, Python, PHP

Java, .NET и Python, а также примеры для PHP.

Коммуникации и поддержка

Форум разработчиков, воркшопы

Формы обратной связи, периодические встречи

Форум, чат

Новостной источник

Блог

Подписка на сайте

Блог

Надеюсь, что после прочтения этой статьи у вас сформировалось более цельное представление о программных интерфейсах систем контекстной рекламы. В следующих статьях мы поговорим с вами об API рекламных систем других типов.

0 комментариев
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:

Отправьте отзыв!
X | Закрыть