Получаем отчет из Яндекс Директ формулой в Google Таблицу

Готовая формула для выгрузки данных из Яндекс Директа напрямую в Google Таблицу

Введение

Привет! На связи Артём Дурнев и Султан Назаралиев. Мы занимаемся performance маркетингом и сквозной аналитикой. Как и все кто занимается платным трафиком мы делаем много отчётов. Для этого используем Google Таблицы.

Но сводить данные в Google Таблицах не всегда легко. Например, как отчеты из Яндекс Директа. Скачивать Excel файл, а потом заливать его в таблицу - неудобно. Но мы нашли решение.

Как это все устроено

Из Яндекс Директа можно получить данные программным способом при помощи API.

Для Google Таблиц мы сделали формулу для получения статистики из API Яндекс Директ через Google Apps Script.

Это фреймворк для интеграции с многими сервисами Google.

Как пользоваться

Скопируйте Google Таблицу

Скопируйте специальную Google Таблицу. В ней уже есть формула для получения данных

Получите и скопируйте токен Яндекс Директ

Чтобы получить данные из Яндекс API вам нужен токен. Для получения токена перейдите на наше приложение Яндекс OAuth

Обратите внимание на аккаунт Яндекса для которого вы получаете токен

Вставьте токен в поле OAuth Token Google Таблицы и вызовите формулу

Изменяйте поля отчёта под себя

Полный список параметров и показателей для поля Field names

Как это работает

Формула получения отчёта называется YandexDirectReport.

Подробнее про поля формулы:

Получаем отчет из Яндекс Директ формулой в Google Таблицу
  1. yaToken - токен Яндекса
  2. login - логин клиента в Яндекс Директ. Если используется для агентского аккаунта - укажите логин клиента. Если ваш аккаунт представительский - логин представительского аккаунта
  3. datefrom - дата начала отчёта в формате ГГГГ-ММ-ДД
  4. dateto - дата окончания отчёта в формате ГГГГ-ММ-ДД
  5. fields - поля отчета. Перечислите поля через точку с запятой внутри кавычек "CampaignName;Clicks;Cost"
  6. includeVAT - включая НДС

Пример

YandexDirectReport( "eh3eldlxoL4iMnoRcAhkGa"; "anilange-ss"; "2019-05-24"; "2019-05-24"; "CampaignName;Clicks;Cost"; "YES")​

Заключение

Так мы упростили загрузку данных из Яндекс Директа в Google Таблицы. Хотим поделиться решением, возможно кому-то будет полезно.

99
21 комментарий

Данные об остатке может передавать?...

1
Ответить

Нет, но предложение отличное. Допилим в следующей версии

Ответить

8800 скорее всего от того, что в поле client login вы не вписали собсна логин клиента. Я вписала, у меня ошибка 4001 - не нравится формат даты, но он такой как надо https://prnt.sc/sigoht

Ответить

Скорей всего у вас формат "числа" или "даты", а должен быть формат "текст". Проверить формат можно с помощью формулы "type". Если результат формулы 2 - текст, если 1 - это число.

1
Ответить

Привет, Артём и Султан!
Спасибо за статью, материал полезный.
Есть несколько вопросов, буду благодарен за ответы.
1. Почему токен вы рекомендовали получать через ваше приложение, а не получить его напрямую у Яндекса, минуя посредников?
2. Сохраняете ли вы у себя токены, которые получены через ваше приложение?
3. Если сохраняете, то, теоритически, какие данные из аккаунтов, сделавших токен через ваше приложение, вы можете получать?

Ответить

Здравствуйте Артём!

Вы можете получать токен напрямую, если у вас есть свое приложение. Все сервисы которые работают с вашими данным Яндекс Директ используют своё OAuth приложение. Мы сделали также. Это исключительно для удобства пользователей кому не нужно регистрировать приложение.

В любом случае токены сохраняются в логах запросов к серверу. Данные к которым вы даете доступ приложению написано на странице Яндекса в момент авторизации. В нашем приложении это соответственно доступ к Яндекс Директ, Яндекс Метрике и данные вашего аккаунта в Яндексе. В дальнейшем мы хотим сделать такое же дополнение для Яндекс Метрики, а для того чтобы узнать нужно ли это людям, мы хотим знать количество пользователей дополнения для принятия решения: развивать его или нет

Ответить

Спасибо за материал!
Рекомендую для следующей версии добавить параметр "Goals", что позволит получать данные по определенным целям. Сейчас этого не хватает

Ответить