Автоматизация Яндекс.Директ. Передача данных из Директа в Google Таблицы

Совместно с коллегами из ADF MediaАртемом Дурневым и Султаном Назаралиевым, мы решили выпустить цикл из 6 статей, посвященных автоматизации процессов в Яндекс Директе. Мы уже успели ознакомиться с теоретической частью автоматизации процессов в первой части материала. Сегодня мы поговорим про то, как передать базисные значения из Яндекс.Директа в Google Таблицы.

Немного теории, которая нам так нужна.

API, JSON, POST-запросы

Как нам уже известно из предыдущего материала API — это способ взаимодействия с каким либо сервисом/программой/приложением.

В Яндекс.Директе вы можете «запросить» отчет с необходимыми параметрами и показателями через интерфейс «Мастера отчетов».

Такой отчет можно запросить у Яндекса из любого места, позволяющего послать POST-запрос. Хоть с умного холодильника; )

Автоматизация Яндекс.Директ. Передача данных из Директа в Google Таблицы

Запрос представляет собой «специальный формат обращения» на сервер Яндекса.

{ "method": "get", "params": { "SelectionCriteria": { "DateFrom": "2020-02-20", "DateTo": "2020-03-20" }, "FieldNames": ["Clicks", "Cost", "Conversions"], "ReportType": "CUSTOM_REPORT", "DateRangeType": "CUSTOM_DATE", "IncludeVAT": "YES", "ReportName": "Report1", "Format": "TSV", "IncludeDiscount": "NO" } };

Мы отправляем Яндексу специально сформированный запрос, в ответ получаем такой же специально сформированный ответ.

Для этого мы будем использовать сервисы Google.

Google Apps Script

У Гугла есть такая вещь как Google Apps Script. Это скриптовый язык, основан на JavaScript. Данный скрипт работает на таких сервисах как:

  • Google Docs

  • Google Sheets

  • Google Slides
  • Google Forms

Собственно это и есть среда, в которой мы будем отправлять запросы в Яндекс и получать ответы от него. Почему именно Google Apps Script? Потому что с помощью него мы также сможем работать с Google Таблицами. А еще он бесплатный; )

Т.е. что получается в итоге: мы через Google Apps Script можем отправить запрос на получения отчета в Яндекс, получить ответ с отчётом от Яндекса, а дальше отобразить отчет от Яндекса в Гугл Таблицу так же посредствам API.

На этом завершаем теорию для этой части материала. Приступим к практике. В этой части материала мы обещали, что никакого знания программирования вам не понадобится. А не понадобится, потому что мы все сделали за вас.

Передаем запросы из Я.Директа в Google Таблицу

1. Копируем Google Таблицу

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

Автоматизация Яндекс.Директ. Передача данных из Директа в Google Таблицы

Давайте пройдемся по представленным значениям, с ними можно поиграться:

Date from — указываем дату, с которой нам нужна статистика.

Date to — указываем дату, по какую нам нужна статистика.

VAT — НДС.

Goals — id целей Яндекс Метрики, по которым требуется получить статистику. Необязательное поле. Если вы запрашиваете конверсии и не указываете id целей — в столбце конверсии будут значения по всем целям, которые есть в Яндекс.Метрике. Можно указать несколько id через точку с запятой внутри кавычек.

Attribution — модели атрибуции, используемые при расчете данных по целям Яндекс Метрики. Необязательное поле.

Возможные значения:

  • FC — первый переход
  • LC — последний переход
  • LSC — последний значимый переход
  • LYDC — последний переход из Яндекс.Директа

Значение по умолчанию — LYDC.

Можно указать несколько моделей через точку с запятой внутри кавычек.

Fields — значения, которые будут выгружаться по клику:

  • CampaignName — название кампании
  • Clicks — количество кликов
  • Cost — потраченная сумма
  • Conversions — количество конверсий

2. Получаем и копируем токен Яндекс.Директ

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

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

Чтобы вызвать формулу, нажимаем на ячейку С1.
Чтобы вызвать формулу, нажимаем на ячейку С1.

Кстати, вот полный список параметров и показателей для поля Fields names.

После вызова формулы, мы получаем наши значения:

Автоматизация Яндекс.Директ. Передача данных из Директа в Google Таблицы

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

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

Автоматизация Яндекс.Директ. Передача данных из Директа в Google Таблицы

Пример:

YandexDirectReport( "eh3eldlxoL4iMnoRcAhkGa"; "anilange-ss"; "2019-05-24"; "2019-05-24"; "CampaignName;Clicks;Cost"; "YES"; "100030005;100030006"; "LYDC;LC")

Таким образом, используя данную Таблицу, мы можем легко вытаскивать значения из Я.Директа. Единственное ограничение на данный момент — получаемые данные ограничены кодом, который прописан в Google Apps Script.

В следующей статье мы напишем с вами скрипт на языке R, чтобы получить данные из Яндекс.Директа и передать в Excel. Этот скрипт в дальнейшем вы самостоятельно сможете дополнять и изменять по вашему усмотрению!

Благодарим за прочтение!

Наши контакты:

1111
10 комментариев

Я тоже пока не совсем понял каких целей вы достигаете таким способом, но продолжайте — подобная автоматизация интересна.

2

Спасибо за хорошую статью! Не совсем, правда, пока ясно, для чего нужна эта выгрузка. Вы дальше её как-то используете для сквозной аналитики?

1

К примеру, вам нужно еженедельно или ежедневно делать отчеты для клиентов. И каждый день заходить в Яндекс Директ, строить один и тот же отчет это муторно. Это занимает 10-15 мин времени в день. С помощью данного метода автоматизации вы можете реализовать отчеты за 2-3 минуты. Это сильно упрощает процесс.

Второе, сквозная аналитика, если у вашего клиента или у вас данные о лидах, продажах хранятся в Google Analytics или в Google Таблицах, вы очень просто создать сквозную аналитику, перетягивая в текущую, либо в другую таблицу данные (формула =IMPORTRANGE), после остается связать данные с 2 таблиц.

2

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

Почему-то не срабатывает механика, пустые поля(

Залип жутко. Проблема с простыми параметрами - Keyword например. Пишет не совместим с типом отчета кастом... дальше как? нужно менять АппСкрипт или я валенок?

В API Яндекс Директ нет такого параметра Keyword. Вам необходимо указать параметр Criterion.

Тут допустимые поля https://yandex.ru/dev/direct/doc/reports/fields-list.html