Анализ CTR и автоматизация отчетности с помощью R Studio

Иногда возникает необходимость отслеживать изменения CTR сниппетов в выдаче на регулярной основе либо проводить различные тесты с изменениями заголовков, описаний и т.д. Все это можно делать через интерфейсы систем аналитики, однако, если вы за автоматизацию процессов, данная статья может оказаться для вас полезной.

Все данные я выгружаю через R Studio.

Для начала подключаем необходимые для работы библиотеки:

Прописываем опции для searchConsoleR, чтобы иметь возможность выгружать больше 5000 рядов:

Документация по данной библиотеке тут.

Авторизуемся в системе.

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

Для данных из Яндекс.Вебмастера задаем хост:

Для Google Search Console – URL сайта:

Для подключения к API Яндекс.Вебмастера необходимо зарегистрировать приложение и получить токен. Вся процедура описана в документации Яндекса.

В первую очередь нам необходимо получить user_id. Для этого отправляем GET-запрос без параметров, прописывая в header полученный токен. Сам user_id записываем в переменную, которую будем использовать далее.

Теперь необходимо сформировать GET-запрос к API для получения необходимой нам информации. Здесь нужно также указать токен. Хост и user_id подставляются автоматически.

После отправки запроса и получения JSON записываем необходимые нам данные в датафрейм.

Формируем два датафрема при помощи регулярных выражений: в первом оставляем все брендовые запросы, во втором – не брендовые.


Весьма ощутимая проблема работы с API Вебмастера – невозможность установить временной интервал. Данные выгружаются по умолчанию за прошедшую неделю, да еще и с временным лагом в зависимости от обновления данных в самом Вебмастере.

Таким образом, чтобы выгрузить данные из GSC за тот же временный интервал, записываем в переменные даты, за которые получили информацию из Вебмастера. Они передаются нам вместе с ответом на запрос к API:

Формируем запрос к API GSC:

Аналогично данным из Вебмастера разбиваем запросы на два файла – бренд/не бренд:

Осталось создать единый датафрейм с данными и посчитать CTR для каждой группы запросов:

На выходе имеем следующее:

Эти данные можем экспортировать в XLSX, CSV или в любой другой нужный формат.

Стоит учитывать, что данные по Яндексу формируются на основе 500 популярных запросов, которые предоставляет в наше распоряжение Яндекс.

Для более детальной отчетности будем пользоваться данными GSC. Предположим, нам нужно отследить изменения CTR после изменения метаданных для нескольких URL.

Задаем два интервала, которые будем сравнивать друг с другом:

И, соответственно, формируем два запроса к API, чтобы получить данные для двух временных промежутков. Добавляем к выгружаемым свойствам ‘page’, что позволит нам получить URL, на которые попадали пользователи по запросу:

Загружаем список URL, которые участвовали в нашем тесте:

Файлик TXT содержит в себе просто перечень URL, где каждая ссылка прописана с новой строки:

Далее нам нужно отфильтровать выгруженные данные по нужным нам URL и создать две сводные таблицы:

Далее нам нужно сопоставить две таблицы для сравнения:

Экспортируем в XLSX-формат:

Получаем следующую табличку с анализом:

R Studio обладает практически безграничными возможностями. Тут можно настроить и регулярный запуск скриптов, и отправку отчетов на почту. В интернете очень много документации, а на том же Stack Overflow всегда можно задать интересующий вопрос либо найти решение той или иной проблемы, связанной с кодом.

(Голосов: 5, Рейтинг: 5)