С июля 2023 года перестанет работать привычная многим система аналитики от Google — Universal Analytics (UA). Более того, некоторые компании уже столкнулись с ограничениями в работе счетчиков UA и были вынуждены перейти на другую систему аналитики. При выборе новой системы аналитики, чаще всего предпочитают Яндекс.Метрику (ЯМ). К сожалению, не весь функционал Universal Analytics есть в интерфейсе Яндекс.Метрики, и поэтому приходится работать с сырыми данными через Logs API.В этой статье разберем, как использовать Logs API Яндекс.Метрики для построения нужных отчетов, а именно — построение воронок, так как этот функционал ограничен. Вы найдете примеры кода, который сможете сразу использовать. Достаточно будет поставить на устройство Jupyter Notebook, скопировать в него код и указать нужные шаги воронки.Кому поможет инструкцияЭта статья для тех, кому нужно построить воронку из N шагов. В интерфейсе ЯМ можно создать составную цель, но есть некоторые ограничения:сложно заранее предусмотреть все возможные воронки;иногда нужно посмотреть данные до даты создания составной цели.К сожалению, интерфейс ЯМ не позволяет в тех же сегментах задать очередность посещения страниц, достижения целей и т.д. Это можно обойти с помощью Logs API Яндекс.Метрики.Обращаем внимание, что такое решение подойдет не всем. Данные будут обрабатываться на вашем устройстве, и если у вас крупный проект, генерирующий миллионы хитов, и старый ноутбук на 4 Гб, то он не справится с обработкой такого объема данных.Если Logs API не справляется с объемом ваших данных, рекомендуем перейти на Метрику Про.Чтобы ознакомиться с условиями перехода на Метрику Про, можете написать нам на analytics@adventum.ruКак получить токенЧтобы воспользоваться скриптом для Logs API, понадобится токен. Для этого создайте приложение. В доступах выберите «Получение статистики…»Кликните на «Создать приложение», и вы окажетесь на странице приложения.На странице вы увидите ClientID, который нужно подставить в ссылку:https://oauth.yandex.ru/authorize?response_type=token&client_id=abcabc нужно заменить на ваш clientID.В случае успеха вы получите токен, который можно использовать в дальнейших запросах. Не передавайте токен третьим лицам, так как с помощью него можно получить статистику всех счетчиков, к которым есть доступ у аккаунта.Как выгрузить сырые данныеПрежде чем строить воронки, выгрузите сырые данные из Logs API.Сделать это можно с помощью кода: КОД1В указанном выше примере мы отправляем сразу 2 запроса к Logs 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 requestspip install pandaspip install pandasqlИ перезапустите kernelВ ходе выгрузки вы можете наткнуться на ошибку «Размер запрашиваемого лога слишком большой…». В этом случае нужно:уменьшить период выгрузки;очистить старые логи запросов.Код для очистки логов: КОД2После того как вы запросили данные, немного подождите, пока Logs API на своей стороне обработает запрос. Время ожидания зависит от разных факторов, например, числа полей, объема данных, погоды. Ориентируйтесь на 10-15 минут.После обработки запроса запустите код: КОД3Результатом может стать ответ, что надо подождать. Тогда просто ждите и повторно запустите этот кусок кода. В случае успеха, данные о хитах и визитах сохранятся в файл raw_data.csv.Если файл получился слишком объемным для обработки, скорректируйте функцию выше. Для этого зашейте фильтрацию нужных хитов, но для этого понадобится базовый уровень навыков python и немного фантазии. Как построить воронкуЭтой статьей мы хотим закрыть базовые потребности аналитиков при построении воронок, поэтому в качестве шагов используем просмотры страниц и отработку javascript целей.Если вам для воронки нужны другие шаги (параметры визитов, Ecom и т.д.), пишите в комментариях. Самое актуальное мы занесем в статью.Код воронки: КОД4Указанный скрипт обрабатывает данные из raw_data.csv. После его запуска появятся поля, в которых нужно указать условия каждого шага. Каждый шаг вводится отдельно.После того как вы добавили все шаги, введите команду stop_step, и скрипт начнет считать воронку. Пример использования для воронки из трех шагов:Пример результата:Чтобы использовать регулярное выражение в шаге воронки, используйте символ ~ Чтобы использовать условие «точно соответствует», используйте символ =Примеры ссылок есть в файле для Jupyter Notebook:По итогу работы скрипта вы получите датафрейм с шагами воронки и детализацией по датам, источнику трафика и типам устройств. В качестве показателя — визиты. С помощью кода результат работы можно сохранить в CSV: КОД5. Файл CSV будет в той же папке, что и файл с кодом для Jupyter Notebook.Результат с помощью сводной в Excel можно привести к нужному для вас формату — визиты можно складывать.ЗакрепимЧтобы построить воронку в Яндекс.Метрике, нужно:1. Запросить данные в Logs API и подождать (#ШАГ 1 в файле).2. Запустить код для обработки сырых данных (#ШАГ 2 в файле).3. Запустить код для воронок + ввести шаги воронок (#ШАГ 3 в файле).4. Сохранить результат в CSV (#ШАГ 4 в файле).5. Обработать результат из CSV в Excel.Надеемся, эта статья облегчит построение воронки и станет хорошим помощником для освоения Logs API. Если Logs API не справляется с объемом ваших данных, рекомендуем перейти на Метрику Про.Чтобы ознакомиться с условиями перехода на Метрику Про, пишите нам на analytics@adventum.ruАвтор: Иван Сысоев, Analytics Group head Adventum