Как использовать API Яндекс.Метрики

С вводом ограничений Google Analytics (UA), у компаний возникла потребность в выборе новой системы аналитики. Предпочтения были отданы Яндекс.Метрике, хоть и часть функционала Google Analytics в ней отсутствует. Возникшая ситуация привела к использованию сырых данных через Logs Api.

В статье мы поделимся информацией, как работать с системой, а также представим примеры кодов, которые вы сможете применять на практике. Рекомендуем установить Jupyter Notebook, перенести в него код статьи и указать шаг воронки.

Для кого инструкция

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

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

Всё это можно обойти при помощи Logs API.

Важно! Предложенное решение может не подойти всем. Если у вас крупный проект, а техника – устарела, к сожалению, обработка данных будет затруднена. В таком случае рекомендуем перейти на Метрику Про.

При возникновении вопросов по переходу свяжитесь с нами: analytics@adventum.ru.

Как получить токен

Для использования скрипта для Logs API необходим токен, поэтому вам нужно создать приложение. 

В доступах нажать на «Получение статистики…» Яндекс.Метрики API.


Выбрать «Создать приложение». Перед вами появится страница приложения.

Найдите Client ID и вставьте в ссылку: https://oauth.yandex.ru/authorize?response_type=token&client_id=abc, где «abc» необходимо заменить на ваше значение.

При корректной обработке, появится токен.

Важно! Не передавайте токен третьим лицам. С его помощью можно получить данные ко всем счётчикам вашего аккаунта.

Как выгрузить сырые данные

Для этого используйте код: КОД1 

В рассмотренном ранее примере отправлены сразу 2 запроса к LOG API: первый – для выгрузки хитов, а второй – визитов.

В запросах требуется указать:

  • токен;
  • дату выгрузки;
  • номер счётчика Яндекс.Метрики.

Дополнительные поля можно посмотреть здесь:

https://yandex.ru/dev/metrika/doc/api2/logs/fields/visits.html

https://yandex.ru/dev/metrika/doc/api2/logs/fields/hits.html

Если при запуске кода возникает ошибка отсутствия библиотеки, вызовите код:

pip install requests

pip install pandas

pip install pandasql

И перезапустите kernel

При обнаружении ошибки «Размер запрашиваемого лога слишком большой…», выполните следующее:

  • Уменьшите период выгрузки;
  • Очистите старые логи запросов.

Код для очистки логов: КОД2 

Далее необходимо подождать, пока будет обработан запрос на стороне Logs API. Среднее время ожидания составляет 10-15 минут. При этом, следует понимать, что оно может отличаться в зависимости от объёма данных.

После обработки запустите код: КОД3 

Если результатом окажется ответ о том, что нужно подождать, ждите и запускайте эту часть кода ещё раз. Когда процесс завершится, данные сохранятся в файл raw_data.csv.

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

Как построить воронку

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

Код воронки: КОД4 

Скрипт обрабатывает информацию из raw_data.csv. В появившихся после запуска полях, укажите условия каждого шага отдельно. После чего введите команду stop_step. Скрип начнёт обрабатывать воронку. Как, например, здесь:


Результат выглядит следующим образом:

Для использования регулярного выражения в шаге воронки – символ «~», а для условия «точно соответствует» — «=».

Пример ссылок:

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

Вы можете сохранить полученные данные в CSV с помощью кода: КОД5. Файл найдёте в папке, где расположен код для Jupyter Notebook. А результат привести к удобному формату при помощи Excel.

Таким образом получится готовый отчёт, выполненный с помощью API Метрики.

Итоги

Для формирования воронки в Я.Метрике требуется:

  1. Запросить данные в Logs API + подождать (#ШАГ 1 в файле).
  2. Запустить код для обработки сырых данных (#ШАГ 2 в файле).
  3. Запустить код для воронок + ввести шаги воронок (#ШАГ 3 в файле).
  4. Сохранить результат в CSV  (#ШАГ 4 в файле).
  5. Обработать результат из CSV в Excel.

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

Если Logs API не справляется с объемом ваших данных, рекомендуем перейти на Метрику Про.

Чтобы ознакомиться с условиями перехода на Метрику Про, пишите нам на analytics@adventum.ru

 

Автор: Иван Сысоев, Analytics Group head Adventum