Расчет трафика по небрендовым запросам при помощи R

Россия+7 (495) 960-65-87
Шрифт:
5 9070

Недавно на SEOnews вышла статья о способе расчета доли небрендового трафика из поисковых систем. В комментариях я коротко поделился своим способом получения данных, который привлек внимание читателей. Что ж, попробую рассказать о нем подробнее.

Чтобы не утруждать себя сбором данных из разных интерфейсов систем аналитики, воспользуемся замечательной R Studio. Для начала краткая справка из Википедии.

R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU.

Нам же потребуется минимум его возможностей.

Опустим подробности установки R и приступим к выгрузке данных. Для работы нам понадобятся следующие библиотеки:

Расчет трафика по небрендовым запросам при помощи R

Загружаем и устанавливаем их один раз. При последующих запусках эта часть скрипта нам не понадобится. RGoogleAnalytics была удалена из CRAN, но есть ее архив, который можно вручную распаковать в нужную директорию. Ссылка на библиотеку: https://github.com/Tatvic/RGoogleAnalytics (тут же можно будет найти всю необходимую документацию по формированию запросов).

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

Расчет трафика по небрендовым запросам при помощи R

Lubridate присоединяется автоматически.

Чтобы появилась возможность выгружать из Google Search Console более 5000 рядов, прописываем следующие опции для библиотеки:

Расчет трафика по небрендовым запросам при помощи R

Далее нужно получить client id и client secret для работы с API Google Analytics. Для этого нужно зарегистрировать свое приложение тут.

Расчет трафика по небрендовым запросам при помощи R

Запишем даты в переменные, которые будут далее использоваться во всех запросах к API (формат – YYYY-NN-DD). При последующей работе в идеале нужно будет задавать только их:

Расчет трафика по небрендовым запросам при помощи R

Формируем запрос к API Яндекса. По сути, это обычный GET запрос.

В 36 строке необходимо указать номер счетчика метрики.

В 42 строке – регулярное выражение, исключающее брендовые запросы, где маски разделяются вертикальной чертой. Например ‘бренд|brand|брэнд’

В 43 строке нужно вставить токен. Инструкции по получению токена можно найти тут.

Расчет трафика по небрендовым запросам при помощи R

Далее несколько простых манипуляций, при помощи которых мы обрабатываем полученные данные по небрендовому трафику Яндекса и сумму записываем в переменную «х».

Часть этих шагов нужна, чтобы была возможность просмотреть промежуточный результат.

Расчет трафика по небрендовым запросам при помощи R

Переходим к выгрузке данных из Google Analytics. Ранее мы уже сохраняли токен. Теперь мы его загружаем и проверяем валидность.

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

Расчет трафика по небрендовым запросам при помощи R

Делаем запрос к API и записываем данные в датафрейм. Настройка split_daywise = T позволяет выгружать данные по дням, что исключает семплинг.

Расчет трафика по небрендовым запросам при помощи R

Суммируем сессии из Яндекса в переменную «y» и объединяем их с «x» в одном датафрейме.

Расчет трафика по небрендовым запросам при помощи R

Переходим к данным из Google Search Console.

Авторизуемся, при помощи функции scr_auth формируем запрос к API. Для dimensionFilterExp нужно каждую маску указывать как отдельный фильтр. Например: dimensionFilterExp =c(‘query!~бренд’, ‘query!~brand’, ‘query!~брэнд’). Документацию по формированию таких запросов можно найти тут.

Расчет трафика по небрендовым запросам при помощи R

Суммируем небрендовые запросы Google и записываем их в переменную x_sum.

Расчет трафика по небрендовым запросам при помощи R

Аналогично органическому трафику из Яндекс выгружаем сессии из Google. Их сумму записываем в переменную y_sum:

Расчет трафика по небрендовым запросам при помощи R

Еще несколько простых действий, в которых мы объединяем все наши данные в одну табличку:

Расчет трафика по небрендовым запросам при помощи R

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

Расчет трафика по небрендовым запросам при помощи R

Можно прямо в R посчитать долю в процентах, но мне нужны данные в выгрузке именно в таком виде.

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

Расчет трафика по небрендовым запросам при помощи R 16.png

Важно помнить, что этот метод тоже не дает абсолютно точный результат. Данные в том же Google Search Console по кликам достаточно ощутимо отличаются от данных по трафику google / organic. Скрипт просто позволяет достаточно быстро собрать данные из разных интерфейсов, обработать их и выдать результат.

Также стоит обратить внимание на то, что данные в GSC обновляются с задержкой в 2–3 дня.

(Нет голосов)
Читайте нас в Telegram - digital_bar

Есть о чем рассказать? Тогда присылайте свои материалы Даше Калинской


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
  • Александра
    1
    комментарий
    0
    читателей
    Александра
    2 месяца назад
    Доброго времени. Сейчас пытаемся запустить описанный выше скрипт.
    Используемая вами функция read.csv не может обратиться по ссылке с , она работает только с http. Поэтому пришлось запрашивать данные RCurl (версия R 3.4.4)
    Так же, при попытке запросить данные метрики, используя библиотеку Curl (а так же других библиотек и даже другого языка) приходит 400 ошибка, так как ! в адресе - это служебный символ, который не может быть обработан консолью. Причем экранировать ...
    Доброго времени. Сейчас пытаемся запустить описанный выше скрипт.
    Используемая вами функция read.csv не может обратиться по ссылке с , она работает только с http. Поэтому пришлось запрашивать данные RCurl (версия R 3.4.4)
    Так же, при попытке запросить данные метрики, используя библиотеку Curl (а так же других библиотек и даже другого языка) приходит 400 ошибка, так как ! в адресе - это служебный символ, который не может быть обработан консолью. Причем экранировать его в ссылке, как и поставить другие кавычки в самом адресе, чтобы консоль видела, что символ - часть ссылки - Яндекс не дает.
    Аналогичная ситуация в Linux (Ubuntu) и Windows.
    Не подскажете ли, как удалось решить проблему или она у вас не возникала? =)
    -
    0
    +
    Ответить
    • Иван Бурмистров
      5
      комментариев
      0
      читателей
      Александра, к счастью, у меня такой ошибки не возникало. Скажите, пожалуйста, Вы пытались отправить этот запрос к метрике просто через строку браузера? Есть вероятность, что проблема не в read.csv, а в самом формировании запроса где-то закралась ошибка.
      -
      0
      +
      Ответить
  • Fartos
    6
    комментариев
    0
    читателей
    Fartos
    2 месяца назад
    Статья то, что нужно!
    -
    0
    +
    Ответить
  • Иван Бурмистров
    5
    комментариев
    0
    читателей
    Иван Бурмистров
    2 месяца назад
    И, дабы не перепечатывать код, если он кому-то понадобится, ссылка на скрипт: drive.google.com/file/d/1_quWgMHLT96Z_4yiqDhmnExOeZG_2688/view?usp=drivesdk
    -
    1
    +
    Ответить
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Тест: Кто как пробежал, или Итоги клиентского рейтинга SEOnews 2018
Анна Макарова
335
комментариев
0
читателей
Полный профиль
Анна Макарова - Друзья, спасибо всем за участие! Мы определили победителей. Кто ими стал - вы найдете по ссылке: www.seonews.ru/events/darim-knigi-ot-mif-pobediteli-opredeleny/ Если вы стали одним из победителей, обязательно свяжитесь с нами по указанной в новости (по ссылке выше) почте. Всем хороших выходных! =)
SEO глазами клиентов 2018
Гость
1
комментарий
0
читателей
Полный профиль
Гость - То есть *** пойми кто подался заявками и в итоге рейтинг должен называться seo глазами клиентов *** пойми каких компаний. Молодцы!
Комплексный аудит интернет-магазина от «Ашманов и партнеры». Часть 1
Александр Сова
1
комментарий
0
читателей
Полный профиль
Александр Сова - А вот и сеошники подъехали, покидать на вентилятор :D
Не очень удачный кейс продвижения сайта по услуге «Трезвый водитель» в Москве
Кирилл Щербаков
3
комментария
0
читателей
Полный профиль
Кирилл Щербаков - "даже пришлось подключить отслеживание звонков с сайта" "Даже" - как будто это что-то нереальное
Стартовал сбор заявок на участие в рейтинге «Известность бренда SEO-компаний 2018»
Артем Первухин
1
комментарий
0
читателей
Полный профиль
Артем Первухин - Make KINETICA Great Again!
Эксперимент: как уникальность контента влияет на продвижение сайта
Ilia Nazmutdinov
2
комментария
0
читателей
Полный профиль
Ilia Nazmutdinov - Кстати, ПФ не работают на нулевом трафике. Пока на сайт не льются тысячи показов по одним и тем же запросам влияние оказывает ток ссылочное\внешнее и внутреннее\ и внутренняя оптимизация.
Яндекс перестал индексировать сайты, созданные на Wix
Константин Даткунас
3
комментария
0
читателей
Полный профиль
Константин Даткунас - Было бы интересно посмотреть саму выборку из 10 000 и методику анализа.
Прощай, тИЦ! Яндекс переходит на новый показатель качества
Дмитрий Кондратенко
3
комментария
0
читателей
Полный профиль
Дмитрий Кондратенко - PR уже год как отменили, ТИЦ пол года не обновляется... Вы или "не те книги читали", или Вас кинули ушлые СЕОшники... www.internet-reklama.pp.ua
Расчет трафика из поисковых систем по брендовым и небрендовым запросам
Дарья Калинская
0
комментариев
0
читателей
Полный профиль
Дарья Калинская - А вот и статья :) www.seonews.ru/analytics/raschet-trafika-po-nebrendovym-zaprosam-pri-pomoshchi-r/
BDD 2018: Как загнать сайт под фильтр без ПФ и ссылочного. Конкуренция в сложных нишах и методы защиты
Антон Зозуля
1
комментарий
0
читателей
Полный профиль
Антон Зозуля - Про парсеры не забудьте ;) Которые сделают ту же копию. И расскажите ваши выводы ТОП-магазинам, которые и так выводят в iFrame десятки сателлитов... Canonical на себя решает проблему с iFrame. Порадовало в 2018 году открытие, что Гугл индексирует JS, от SEO-шника с ниши эссеек, надеюсь, не Дмитрия... А по теме: не палите сетки и будет вам счастье. Бан то, почти наверняка, ручной. Никого вы этим не сольете. Хотя не, слить можно, но это совсем другая история, и требует немного магии.
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
373
Комментариев
335
Комментариев
262
Комментариев
240
Комментариев
171
Комментариев
156
Комментариев
137
Комментариев
121
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
91
Комментариев
80
Комментариев
67
Комментариев
61
Комментариев
60
Комментариев
59
Комментариев
57
Комментариев
55
Комментариев
54

Отправьте отзыв!
Отправьте отзыв!