Парсим данные из Яндекс Метрики ❤️ Для чего это нужно?
Парсим данные из Яндекс Метрики ❤️
Для чего это нужно?
Это полезно, когда вам нужно быстро подготовить нестандартный отчет и сэкономить на этом кучу времени (часов) на ручной работе.
Парсинг данных по конкретной цели - может быть полезным занятием для ее аналитики, например за определенный период (месяц или квартал), чтобы сравнить данные ее конверсии по дням - об этом и пойдет речь в этом посте. Это может быть полезно, если вы добавили на сайт новую цель и хотите проверить ее эффективность, или проводите A/B тест 👀
Как это работает?
1. Отправляем GET запрос к API Яндекс Метрики;
2. API возвращает в ответ JSON с данными;
3. Обрабатываем JSON под формат эксель таблицы.
Необходимый стек:
1. Python и библиотеки для парсинга и обработки данных;
2. API Яндекс Метрики;
3. ИИ.
Если с питоном и ИИ все понятно, то с API Яндекс Метрики может быть чуть сложнее. Для ее работы необходимо создать специальное приложении (с аккаунта владельца счетчика) с необходимыми доступами к вашему счетчику:
Настройка счетчика:
1. Перед созданием приложения необходимо перейти в настройки вашего счетчика (с аккаунта владельца);
2. Далее перейти в раздел "Доступ" и активировать "Публичный доступ к статистике" (включить тумблер переключатель).
Создание приложения:
1. Переходим по ссылке https://oauth.yandex.ru/client/new;
2. Вводим название приложения (можно назвать также, как называется ваш счетчик, чтобы потом не путаться в приложениях - если их будет несколько);
3. Подгружаем иконку;
4. Выбираем платформу "Веб-сервисы";
5. В Redirect URI указываем ссылку: https://oauth.yandex.ru/verification_code;
6. Указываем доступы для работы с Яндекс Метрикой (нужно ввести названия каждого доступа, так как в интерфейсе их нет):
metrika:read — выбираем "получение статистики, чтение параметров своих и доверенных счетчиков, получение списка счетчиков";
metrika:write — выбираем "создание счетчиков, изменение параметров своих и доверенных счетчиков, загрузка любых данных";
metrika:expenses — выбираем "загрузка в счетчики расходов";
metrika:user_params — выбираем "загрузка в счетчики параметров пользователей";
metrika:offline_data — выбираем "загрузка в счетчики офлайн-данных (данные из CRM, офлайн-конверсии, звонки)".
7. Нажать на кнопку "Создать приложение";
8. После создания приложения вы увидите свой ClientID (это идентификатор приложения для получения QAuth токена);
9. Далее нужно вставить этот ID в конце ссылки (после знака равно): https://oauth.yandex.ru/authorize?response_type=token&client_id=КЛИЕНТ-АЙДИ и перейти по ней для получения вашего токена (его нужно будет скопировать и запомнить).
Создание скрипта:
Для создания скрипта парсинга данных по конкретной цели из Яндекс Метрики нам понадобится:
- Номер счетчика;
- Номер цели (можно увидеть рядом с ее названием в разделе "Цели" в Метрике);
- QAuth токен;
- Необходимые данные на вход (например: период, детализация, роботность, источник визита и тд - тут уже все на ваше усмотрение);
Рекомендую использовать ИИ (кстати, недавно писал пост - почему я не доверяю ИИ при работе с Python - почитайте, будет полезно). Пример промпта, который можете переделать под себя будет в комментариях к этому посту.
Про лимиты:
У Яндекс Метрики есть квоты на запросы к счетчику по API и их нужно соблюдать, чтобы не словить ошибку, о которой предупреждает сам Яндекс:
В случае превышения квот дальнейшие действия пользователя временно блокируются. При этом API возвращает ответ с HTTP-статусом 429 Too Many Requests. В теле ответа содержится информация о типе превышенной квоты.
Подробнее про сами квоты можете почитать здесь: https://yandex.ru/dev/metrika/ru/intro/quotas
На самом деле это все не нужно, когда в Яндекс Метрике есть отчет "Параметры целей" - просто выберите в таблице под графиком конкретную цель, укажите необходимый период, настройте детализацию (например по дням) и скачайте эксель таблицу графика. Но теперь вы знаете, как можно парсить данные из Метрики и возможно вам это пригодится для создания кастомного отчета 😁
Ссылки из поста:– https://t.me/ulianoov/603
– https://t.me/ulianoov/636
Источник новости https://t.me/ulianoov/641...
92 
