Как использовать 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
При обнаружении ошибки «Размер запрашиваемого лога слишком большой…», выполните следующее:
- Уменьшите период выгрузки;
- Очистите старые логи запросов.
Код для очистки логов: КОД2
Далее необходимо подождать, пока будет обработан запрос на стороне Logs API. Среднее время ожидания составляет 10-15 минут. При этом, следует понимать, что оно может отличаться в зависимости от объёма данных.
После обработки запустите код: КОД3
Если результатом окажется ответ о том, что нужно подождать, ждите и запускайте эту часть кода ещё раз. Когда процесс завершится, данные сохранятся в файл raw_data.csv.
При условии, что объём файла оказался большой, внесите корректировки в функцию выше путём фильтрации нужных хитов. Для выполнения данной задачи требуется базовый уровень знания python и смекалка.
Как построить воронку
В нашей статье в качестве шагов мы используем просмотры страниц и обработку javascript целей. Если вам необходимы другие, оставьте комментарий, мы обязательно внесём сюда ответ.
Код воронки: КОД4
Скрипт обрабатывает информацию из raw_data.csv. В появившихся после запуска полях, укажите условия каждого шага отдельно. После чего введите команду stop_step. Скрип начнёт обрабатывать воронку. Как, например, здесь:
Результат выглядит следующим образом:
Для использования регулярного выражения в шаге воронки – символ «~», а для условия «точно соответствует» — «=».
Пример ссылок:
В итоге вы получите датафрейм с шагами воронки, детализацией по датам, источнику трафика и типам устройств, а в качестве показателя будут визиты.
Вы можете сохранить полученные данные в CSV с помощью кода: КОД5. Файл найдёте в папке, где расположен код для Jupyter Notebook. А результат привести к удобному формату при помощи Excel.
Таким образом получится готовый отчёт, выполненный с помощью API Метрики.
Итоги
Для формирования воронки в Я.Метрике требуется:
- Запросить данные в Logs API + подождать (#ШАГ 1 в файле).
- Запустить код для обработки сырых данных (#ШАГ 2 в файле).
- Запустить код для воронок + ввести шаги воронок (#ШАГ 3 в файле).
- Сохранить результат в CSV (#ШАГ 4 в файле).
- Обработать результат из CSV в Excel.
Будем рады, если статья окажется вам полезной.
Если Logs API не справляется с объемом ваших данных, рекомендуем перейти на Метрику Про.
Чтобы ознакомиться с условиями перехода на Метрику Про, пишите нам на analytics@adventum.ru
Автор: Иван Сысоев, Analytics Group head Adventum