Как я снизил долю отказов в РСЯ с 43,51% до 13,46% за 1 день с помощью Logs API: подробный гайд
Приветствую. Сегодня я хочу поделиться реальным кейсом, как анализ «сырых» данных из Яндекс.Метрики помог мне выявить и значительно сократить объем ботного трафика в РСЯ.
Думаю, вы, как и я, сталкивались с ситуацией: запускаете кампанию в РСЯ, тратите 3-5 дней на усердную чистку площадок, а результат не меняется. Клики стоят копейки, CTR аномально высокий, а процент отказов улетает в космос. Да, именно высокий CTR и дешёвый клик — это первые признаки того, что с вашей кампанией что-то не так, помимо конечно же самих отказов.
Существует множество способов борьбы с этой проблемой: кто-то запускает кампании с оплатой за конверсии, другие отключают определённые мобильные платформы. Способов борьбы множество и они хороши по-своему, но не всегда решают проблему в корне.
Я начал использовать метод, основанный на анализе неагрегированных данных через Logs API, и он показал отличные результаты.
Что такое Logs API?
В арсенале Яндекс.Метрики есть мощный, но не всем известный инструмент — Logs API.
Это интерфейс программирования приложений (API), который предоставляет доступ к неагрегированным («сырым») данным о действиях пользователей на вашем сайте. Проще говоря, с помощью Logs API мы получаем необработанную информацию о каждом взаимодействии с сайтом, что открывает широкие возможности для глубокого анализа.
Хиты и визиты: в чем разница?
Чтобы правильно анализировать данные, важно понимать разницу между основными метриками:
- Хит (Hit) — это любое единичное действие пользователя на сайте: просмотр страницы, клик по кнопке, загрузка файла.
- Визит (Visit) — это сессия одного пользователя, которая включает в себя один или несколько хитов. Визит начинается, когда пользователь заходит на сайт, и заканчивается после определённого периода неактивности.
Наша задача — выгрузить данные по хитам и визитам, объединить их по уникальному идентификатору пользователя (clientID) и найти аномалии.
Что нужно для работы с Logs API?
Основной недостаток этого метода — относительная сложность первоначальной настройки. Вам понадобится зарегистрировать приложение в Яндексе, получить специальный ключ доступа (токен). Я покажу, как это сделать шаг за шагом.
Шаг 1: Регистрация приложения в Яндексе
- Перейдите на страницу Яндекс.OAuth.
- Нажмите кнопку «Создать приложение».
- В появившемся окне заполните форму:Название: Введите что-то понятное, например, Metrika_Logs_API.Платформы: Выберите «Веб-сервисы» и в поле «Callback URI» нажмите «Подставить URL для разработки».Доступ к данным: Найдите в списке «Яндекс.Метрика» и выберите право «Получение статистики, чтение параметров своих и доверенных счётчиков».
- Нажмите «Создать приложение».
После создания вы увидите ClientID вашего приложения. Сохраните его, он скоро понадобится.
Шаг 2: Получение токена
OAuth-токен — это уникальный ключ, который подтверждает, что ваше приложение имеет право получать данные от вашего имени.
Важно: Токен — это как пароль. Храните его в надёжном месте и никому не показывайте!
- Скопируйте следующую ссылку и вставьте её в адресную строку браузера: https://oauth.yandex.ru/authorize?response_type=token&client_id=<Ваш_ClientID>
- Замените <Ваш_ClientID> на идентификатор, который вы получили на предыдущем шаге.
- Перейдите по ссылке. Яндекс попросит вас подтвердить, что вы разрешаете приложению доступ к данным. Нажмите «Разрешить»
После этого вас перенаправит на страницу, где будет указан ваш токен. Он действителен в течение одного года. Скопируйте и сохраните его.
Шаг 3: Верификация
Следующим шагом будет прохождение верификации аккаунта разработчика через Госуслуги. Если вы увидите такое уведомление в интерфейсе Яндекс.OAuth, нажмите на него и следуйте инструкциям. Процедура обычно занимает 5-10 минут.
Шаг 4: Подготовка окружения для скрипта
Для автоматизации выгрузки мы будем использовать язык программирования Python.
- Установите Python. Если у вас его нет, скачайте с официального сайта python.org и установите.
- Установите текстовый редактор. Подойдёт любой, например, Sublime Text, VS Code или Notepad++.
- Создайте папку проекта. Создайте на рабочем столе папку с названием metrika_logs
Шаг 5: Создание скриптов
Внутри папки metrika_logs создайте два файла: metrika_logs.py для выгрузки данных и merge_hits_visits.py для их объединения.
Файл №1: metrika_logs.py
Вставьте ваш токен, номер счетчика яндекс метрики, а также замените даты.
Файл №2: merge_hits_visits.py
Шаг 6: Запуск скриптов
1. Откройте терминал (командную строку).
2. Перейдите в папку проекта с помощью команды cd.
3. Создайте и активируйте виртуальное окружение. Это изолирует библиотеки проекта.
4. Установите необходимые библиотеки:
5. Запустите файл выгрузки
После успешного запуска в папке metrika_logs должны появится данные по хитам и визитам. На следующем этапе мы "склеим" эти данные и объединим в 1 файле.
Выполните команду
Теперь у вас есть объединённый файл со всей «сырой» информацией.
Шаг 7: Анализируем данные
Для быстрого анализа подойдет Chatgpt. Загрузите таблицу и попросите ИИ ассистента проанализировать данные на предмет подозрительного трафика (IP, устройства, браузеры и прочее)
После анализа примените соответствующие настройки и корректировки внутри рекламной кампании.
Мой опыт и результаты
Я применил этот метод для проекта, где после перехода на новый рекламный кабинет столкнулся с резким ростом отказов. Ручная чистка площадок не давала эффекта, а старые, проверенные площадки перестали приносить результат.
Проанализировав логи, я выявил несколько сетей IP-адресов и пару версий мобильных браузеров, генерировавших 90% «мусорного» трафика.
Результаты до чистки (15 октября):
Результаты после оптимизации (16 октября):
При этом мне не пришлось блокировать потенциально качественные площадки или отключать весь мобильный трафик. Я просто точечно удалил источник проблемы.
Надеюсь, этот гайд был полезен. Спасибо за внимание 😊