Как собрать данные из Google Search Console и построить отчетность с помощью Python и Google BigQuery > NetPeak - Независимость и осознанность
NetPeak Biz Tech    


Как собрать данные из Google Search Console и построить отчетность с помощью Python и Google BigQuery

Как собрать данные из Google Search Console и построить отчетность с помощью Python и Google BigQuery

< >

Привет! Меня зовут Антон Леонтьев, я руководитель группы веб-аналитики в компании eLama.

В 2017 году вышла моя статья «Как обработать данные по поисковым запросам из органики Google в Google BigQuery». В ней мы вручную выгружали CSV-файлы из Google Search Console, складывали их на хранение в Google BigQuery и строили отчетность. В этой статье мы научимся выгружать автоматически с помощью Python-скрипта больше информации из консоли веб-мастера Google и построим большее количество автоматических отчетов.

Что изменилось с момента выхода прошлой статьи:

Во-первых, данные по поисковым запросам в консоли веб-мастера Google и в Google ***ytics теперь хранятся 16 месяцев, а не 90 дней, как раньше.

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

В-третьих, теперь консоль веб-мастера поддерживает Ресурс на уровне домена, включающий URL с любыми субдоменами (m, www и др.) и различными префиксами протокола (http, https, ftp).

Также добавлю, что вручную скачивать CSV-файлы из консоли и загружать в BigQuery стало сложнее, поскольку все чаще попадаются громоздкие поисковые запросы на несколько строк с разными разделителями (пользователи копируют куски текста и вставляют в поиск). Стандартное форматирование ломается.

Чтобы построить автоматическую отчетность, мы будем каждый месяц скачивать из консоли веб-мастера статистику за предыдущий месяц и загружать ее в облачную базу данных Google BigQuery с помощью Python-скрипта. Затем построим отчетность SQL-запросами.

Пошаговая инструкция

1. Установим последнюю версию Python3 с официального сайта. Скачиваем дистрибутив, при установке выбираем ‘Customize installation’ и устанавливаем в папку ‘C:\Python37’. Остальные параметры можно не менять. Дальнейшие действия рассмотрим на примере операционной системы семейства Windows.

2. Запустим комaндную строку.

3. Перейдем в папку, куда установился Python, и проверим его работоспособность. Для этого запустим по очереди комaнды:

cd \"C:\Python37\"python --version

4. Выполним комaнды для установки библиотек, необходимых для работы скрипта:

cd Scriptspip install --upgrade google-api-python-clientpip install pandaspip install pandas_gbqpip install --upgrade oauth2clientcd ..

5. В Google BigQuery создадим dataset, например, ‘search_console_google’. О том, как начать работать с BigQuery, можно прочитать в одной из моих предыдущих статей.

6. Нужно создать сервисный аккаунт в разделе IAM и администрирование в Google Cloud Platform, затем создать для него JSON-ключ и сохранить себе на компьютер, например, в папку ‘C:\Dropbox\gsc\’.

7. Подключите Google Search Console API для приложения в Google API Console в текущем проекте Google Cloud. Затем создайте учетные данные.

Скачайте JSON-файл с учетными данными, переименуйте его в client_secrets.json.

8. Скачайте скрипт google_seo.py себе на компьютер, например, в папку ‘C:\Dropbox\gsc\’.

Здесь скрипт google_seo.py. Важно! Файлы google_seo.py и client_secrets.json должны находиться в одной папке.

Замените в коде переменные:

  • ‘gcloud_key’ — путь к JSON-ключу от сервисного аккаунта Google Cloud из пункта 6;
  • ‘gbq_project_id’ — идентификатор проекта Google BigQuery;
  • ‘gbq_dataset’ — название dataset\\\'a в BigQuery, куда вы хотите сохранить данные;
  • ‘domains’ — список доменов-ресурсов, подтвержденных в консоли вебмастера;
  • ‘first_month’, ‘last_month’ — с какого по какой месяц выгружаем данные;
  • ‘dimensions’ — метрики, которые будем выгружать (подробнее об этом поговорим дальше).

9. Запустите скрипт, набрав в комaндной строке:

python \"C:\Dropbox\gsc\google_seo.py\"

При первом запуске откроется браузер: нужно будет авторизоваться в Google и выдать разрешение приложению на доступ к вашему аккаунту. Также при первом запуске появится предупреждение об отсутствующем файле webmasters.dat; в этом нет ничего страшного, он будет создан позднее.

Если все пройдет гладко, то в консоли после выполнения скрипта будет суммарная информация по выгрузке. Также лог сохранится в файле google_seo_log.txt в папке со скриптом.

  • search_type — тип поиска (Веб, Изображение, Видео) ;
  • all_values — сколько всего значений было выгружено (сколько строк) ;
  • values with clicks — сколько из них было с кликами (остальные — 0 кликов, то есть были только показы) ;
  • clicks sum — сумма кликов;
  • impressions sum — сумма показов;
  • dimension1 и dimension2 — выгружаемые метрики. Скрипт по умолчанию выгружает восемь метрик, которые я посчитал самыми важными; если каких-то не хватает — просто добавьте их в скрипт. Что это за метрики:

9.1. \"device\": Устройства. Аналогичный отчет из консоли веб-мастера имеет вид:

9.2. \"country\": Страны.

9.3. \"page\": Страницы сайта. Сумма кликов и сумма показов больше, чем, например, по метрике 9.1 device, так как за один результат поиска в Google может выдаваться несколько страниц одного сайта, и все они суммируются.

9.4. \"query\": Поисковые запросы. Обычно самая востребованная метрика. К сожалению, через Google API (так же, как и через обычные CSV-выгрузки в интерфейсе консоли веб-мастера) выгружаются не все поисковые запросы (сумма кликов и показов меньше, чем в нашей выгрузке по метрике 9.1 device, и меньше, чем в суммарной информации в веб-интерфейсе консоли).

9.5. \"query - device\" и 9.6. \"query - country\": Поисковые запросы с разбивкой по устройствам; по странам.

В этих двух метриках сумма кликов совпадает с 9.5 query, но сумма показов может быть больше т.к. добавляются новые запросы с показами, но без кликов (особенности API Google).

9.7. \"query - page\": Поисковые запросы с разбивкой по страницам сайта. Сумма кликов и сумма показов больше, чем, например, по метрике 9.4 query, так как за один результат поиска в Google может выдаваться несколько страниц одного сайта, и все они суммируются.

10. Также в результате выполнения скрипта для каждого домена за каждый месяц создается таблица в Google BigQuery с сырыми данными:

Чтобы посмотреть содержимое таблиц, откройте предварительный просмотр.

Содержание полей:

  • clicks — клики;
  • ctr — CTR;
  • impressions — показы;
  • position — позиция в поиске;
  • search_type — тип поиска;
  • domain — домен;
  • period — месяц;
  • dimension1 и dimension2 — названия метрик, а value1 и value2 — их значения.

Например, на скриншоте ниже dimension1 содержит ‘query’, а dimension2 — пустое. Значит, это поисковые запросы, которые хранятся в поле value1, а поля value2 — пустые.

11. Чтобы было легче работать с поисковыми запросами (то есть метрикой 9.4 query), создадим виртуальную таблицу (view) search_console_google.queries, содержащую этот SQL-скрипт:

Здесь скрипт queries.sql.

В этом скрипте вам нужно заменить ‘gbq_project_id’ — идентификатор проекта BigQuery — и подправить определение брендированных запросов. Затем запустите скрипт и сохраните view (представление). Эта виртуальная таблица будет содержать подробную информацию по каждому поисковому запросу за каждый отчетный месяц по каждому домену-ресурсу.

Посмотрим на результат выполнения этого скрипта (нужно нажать Edit Query, Run Query):

Колонки аналогичны таблице из пункта 10, за исключением:

query — поисковый запрос, уже отдельное поле;

query_type — тип поискового запроса, определяется в SQL-запросе. Он принимает три значения: ‘(other)’, ‘branded’, ‘not branded’.

‘(other)’ — это искусственно созданный поисковый запрос, клики и показы по которому равны сумме кликов и показов, которые не выгрузились из консоли. Рассчитывается это следующим образом: берется сумма кликов и показов по метрике device (эта сумма пpaктически всегда совпадает с общей суммой консоли веб-мастера), и из нее вычитаются суммы кликов и показов по всем выгруженным поисковым запросам. Таким образом, суммы по ‘(other)’, ‘branded’, ‘not branded’ совпадают с общими цифрами в консоли веб-мастера.

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

13. Отчет 1: Queries totals

На графике выводится помecячная динамика указанного показателя по выбранным доменам, типу поиска и типу запроса. Например, динамика кликов по бразильскому домену в типе поиска ‘web’ по всем типам запросов:

Или доля показов по всем доменам во всех типах поиска по поисковым фразам ‘other’ (то есть которые не выгружаются из консоли веб-мастера):

Исходными данными для листа ‘1 Queries totals’ является лист ‘1 source’, в который скопирован результат выполнения SQL-запроса. Чтобы не копировать вручную данные в ‘1 source’, можно воспользоваться аддоном OWOX BI BigQuery Reports, который будет обновлять лист каждый раз по запросу или по расписанию.

Здесь скрипт queries_report_chart.sql.

14. Отчет 2: Queries list

Таблица по всем поисковым фразам за каждый месяц: указаны количество кликов и позиция. Исключены поисковые фразы с суммарным количеством кликов за все время меньше десяти. Пользуемся фильтрами, чтобы сфокусироваться на нужных показателях.

Здесь скрипт queries_report_list.sql.

15. Отчет 3: Devices

Динамика показателей: CTR, клики, показы в разрезе устройств по доменам и типам поиска. Исходные данные — на листе ‘3 source’.

Здесь запрос devices.sql.

16. Отчет 4: Countries

Здесь можно посмотреть статистику по странам. Исходные данные — на листе ‘4 source’.

Здесь запрос countries.sql.

17. Отчет 5: Pages

Таблица со статистикой кликов по страницам сайта. Список ограничен страницами с 5 и более кликами за все время.

Здесь скрипт pages.sql.

Заключение

В этой статье приведены примеры отчетов по следующим выгруженным метрикам из Google Search Console: 9.1 device, 9.2 country, 9.3 page, 9.4 query. Данные по: 9.6 query - device, 9.7 query - country, 9.8 query - page не используются, иначе статья будет очень громоздкой. Но все данные хранятся в BigQuery, и вы сможете запрашивать оттуда данные, если потребуется. Используйте и модифицируйте приведенные SQL-запросы под свои потребности или стройте отчеты на основе сырых данных в средствах визуализации и BI-инструментах: Google Data Studio, Tableau, Power BI или других.

Таким образом, мы разобрались, как можно сохранить статистику переходов из органики Google, а также автоматизировать отчетность. Если у вас есть вопросы или дополнения — пишите в комментариях.



Комментарии:

Как узнать сколько стоит ваш сайт

Как узнать сколько стоит ваш сайт На что обратить внимание при покупке интернет-ресурса, какие факторы влияют на цену и что помогает определить качество сайта? Ответы на все эти вопросы в статье. Читать!...

08 10 2024 4:51:12

Как не платить за клики без конверсий?

Как не платить за клики без конверсий? Что нужно сделать, чтобы ваши объявления показывались только заинтересованным клиентам? В первую очередь, подобрать ключевые слова, релевантные запросу потенциального клиента и ориентированные на пользователей с мотивацией совершить действие....

07 10 2024 19:17:55

Внедрение CRM. Принцип работы, с чего начать

Внедрение CRM. Принцип работы, с чего начать В этой статье мы поговорим про принципы работы СRM-системы. Это базовые моменты, прояснив которые СRM перестанет быть для вас чем-то сложным и непонятным....

06 10 2024 23:37:17

200 этапов настройки рекламной кампании — чек-листы

200 этапов настройки рекламной кампании — чек-листы Что такое【контекстная реклама】и как ее настроить? Подробный чек-лист ✅ в блоге Netpeak ⟁ ▷ 200 ступеней рекламной кампании в Google AdWords, Яндекс.Директ ⚡...

05 10 2024 9:22:28

Как составить контент-план на год

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

04 10 2024 18:17:35

Куда инвестировать во время и после кризиса

Куда инвестировать во время и после кризиса Собирательный опыт сотрудников Netpeak. Мы изучали много всего в стиле «купить парковку в аэропорту Гатвика в Лондоне» и тому подобное. Но все, кроме описанного ниже, показалось сложным и ненадежным. Поэтому рассказываем про спокойные варианты....

03 10 2024 0:38:23

Исследования рынка — новая услуга Netpeak

Исследования рынка — новая услуга Netpeak Предложение для крупных и средних бизнес-проектов по эффективному использованию больших бюджетов при запуске на новых рынках...

02 10 2024 10:44:43

Как работой гореть, но не сгорать — личный опыт

Как работой гореть, но не сгорать — личный опыт Первая реакция на перегорание — послать все к чертям собачьим. Очень заманчиво, но правильно ли убегать от всех проблем?...

01 10 2024 8:41:25

Core Web Vitals: что это такое и как работает

Core Web Vitals: что это такое и как работает В мае прошлого года Google анонсировал выход нового Core Web Vitals. Что это и как будет работать рассмотрим в статье...

30 09 2024 19:15:43

3D-печать в Украине — как стать миллионером

3D принтер — заработок миллионеров будущего! Тех, кто сейчас смог купить и начал заниматься ими или использует их в бизнесе, ждет объемный успех через каких-нибудь 3-5 лет....

29 09 2024 8:15:31

Культурный шок, Горько 3, или Зимний корпоратив Netpeak Group

Культурный шок, Горько 3, или Зимний корпоратив Netpeak Group Больше пятисот человек из Украины, России, Болгарии и Казахстана. Я зашел в зал и увидел толпу каких-то гопарей и воровайок родом из 90-х, а само помещение было оформлено под свадьбу. Выпьем за молодых!...

28 09 2024 13:58:33

Визуализация данных с помощью DataDeck

Визуализация данных с помощью DataDeck Краш-тест сервиса визуализации данных: выбираем задачу, источники, создаём отчет с помощью DataDeck. Бонус в конце — лаконичные списки преимуществ и недостатков этого инструмента и приятный подарок для дочитавших...

27 09 2024 22:27:59

Как перенести интернет-магазин с российских платформ

Как перенести интернет-магазин с российских платформ На украинском рынке услуг велик выбор качественных платформ. Главное понимать, как правильно проводить миграцию....

26 09 2024 15:37:58

Двенадцать веселых докладов TED Talks на различные темы

Двенадцать веселых докладов TED Talks на различные темы Идеи, достойные распространения. Какие доклады TED Talks повлияли на нетпиковцев....

25 09 2024 8:36:35

Интервью с Марком Цукербергом про Facebook Home, деньги и будущее коммуникаций

Интервью с Марком Цукербергом про Facebook Home, деньги и будущее коммуникаций Основатель фейсбука опубликовал на WIRED крутое интервью...

24 09 2024 0:48:52

Engagement Rate в email-маркетинге: что это, как посчитать и повысить

Engagement Rate в email-маркетинге: что это, как посчитать и повысить Определяем, кто из mail подписчиков предан вашему бренду по-настоящему....

22 09 2024 19:11:30

Что такое CTA: как сформировать эффективный призыв к действию

Основная цель CTA — помочь посетителю принять решение о покупке, скачивании, регистрации или подписке...

21 09 2024 21:29:55

Действие зеркальных нейронов

Действие зеркальных нейронов зеркальные нейроны и сознание. как они влияют на наше поведение?...

20 09 2024 9:42:49

Как нарисовать скелет сайта

Как нарисовать скелет сайта О создании структуры сайта на основе семантического ядра, работе с Xmind и таблицами онлайн...

19 09 2024 17:37:38

Как грамотно построить структуру рекламного аккаунта Facebook

Как грамотно построить структуру рекламного аккаунта Facebook Как купить дешевый трафик из Facebook? Образец работы со структурой рекламного аккаунта...

18 09 2024 11:29:31

Семантическое ядро: сервисы для автоматического сбора запросов

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

17 09 2024 22:33:29

Язык R в веб-аналитике и интернет-маркетинге — интервью с Алексеем Селезневым

Зачем маркетологи и аналитики обращаются к языку программирования R в повседневной работе нужно и какая польза от программирования на R в интернет-маркетинге в интервью Алексея Селезнева...

16 09 2024 8:58:57

Как настроить бесплатный стриминг в Google ***ytics

Как настроить бесплатный стриминг в Google ***ytics Три способа парсинга данных с помощью Owox BI Pipeline, Mix Data BI Import, Owox BI Power Upload....

15 09 2024 22:56:20

Рецензия на третье издание «Google ***ytics для профессионалов» Брайана Клифтона

Рецензия на третье издание «Google ***ytics для профессионалов» Брайана Клифтона Публикуем рецензию на новое издание Брайана Клифтона. Несмотря на узкую специализацию, эта книга стала бестселлером на Amazon и уже переведена на 5 разных языков. Стоит отметить, что две предыдущие редакции «Google ***ytics для профессионалов» успешно ис...

14 09 2024 15:42:58

Ян Чихольд: «Неправда, что о вкусах не спорят, если речь идет о хорошем вкусе»

Ян Чихольд: «Неправда, что о вкусах не спорят, если речь идет о хорошем вкусе» Образ гармонии, почерк и потребности — рецензия на книгу Яна Чихольда «Облик книги»....

13 09 2024 2:56:44

17 тезисов о том, как инвестировать в интернет-маркетинг

17 тезисов о том, как инвестировать в интернет-маркетинг Артем Шевченко (Epicentr), Михаил Рогальский (Monobank), Максим Дмитров (BSH Hausgeräte), Андрей Чумаченко (Netpeak) и другие участники конференции 8Р о том, как они рассчитывают инвестиции в интернет-маркетинг....

12 09 2024 13:36:18

Сколько стоил клик в Google Ads в Украине в первом квартале 2021 года — исследование Netpeak

Данные по 22,4 миллионам кликов в 46 тематиках и 392 населенных пунктах страны — собрана статистика исключительно по проектам агентства Netpeak. Узнать больше!...

11 09 2024 19:43:44

Почему пользователи удаляют ваше приложение — обзор инструментов для анализа Uninstall Rate

Почему пользователи удаляют ваше приложение — обзор инструментов для анализа Uninstall Rate Иногда удержать пользователя сложнее, чем мотивировать загрузить приложение. Семь инструментов для анализа Uninstall Rate....

09 09 2024 15:24:59

Хакерская атака на постаматы: как человек становится заложником технологий

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

08 09 2024 20:24:44

Реклама в YouTube для интернет-магазина обуви — увеличиваем узнаваемость бренда и продажи

Реклама в YouTube для интернет-магазина обуви — увеличиваем узнаваемость бренда и продажи Возможно, вы купили обувь Intertop именно после просмотра нашей рекламы....

07 09 2024 5:20:37

Как быстро получать самую актуальную информацию от 105 топовых блогов Рунета про интернет-маркетинг

Как быстро получать самую актуальную информацию от 105 топовых блогов Рунета про интернет-маркетинг Самые популярные блоги Рунета по интернет-маркетингу — все RSS-фиды в одном месте...

06 09 2024 5:16:11

Знакомство с Яндекс.Вебмастер: полезные фишки и советы новичкам

Знакомство с Яндекс.Вебмастер: полезные фишки и советы новичкам Не Google единым. Нужные и важные знания по Яндекс.Вебмастер....

05 09 2024 2:48:51

8 ненужных пунктов в SEO-аудите

Глоссарий глупых ошибок в аудите от топовых SEO-агентств...

04 09 2024 17:49:30

Как следить за позициями сайта в мобильной выдаче

Как следить за позициями сайта в мобильной выдаче Регулярный мониторинг позиций необходим для отслеживания истории их изменений после внедрения новых ключевых слов и других работ над сайтом...

03 09 2024 16:19:24

Кейс по продвижению интернет-магазина цветов: ROMI 187%

Кейс по продвижению интернет-магазина цветов: ROMI 187% SEO для цветочных магазинов с оплатой за трафик и полученные результаты...

02 09 2024 11:58:48

История успеха avtokrisla.com: окупили инвестиции в email-маркетинг на третий месяц работы

История успеха avtokrisla.com: окупили инвестиции в email-маркетинг на третий месяц работы На третий месяц работы мы вышли на положительный ROMI, на четвертый — ROMI превысил 800%....

01 09 2024 13:34:30

20 инструментов SEO-копирайтинга — полезные программы и сервисы

20 инструментов SEO-копирайтинга — полезные программы и сервисы 20 сервисов для прокачки контента под SEO. Штуки, которые будут полезны новичкам и экспертам....

31 08 2024 4:23:37

Партнерские программы SaaS — как на них заработать, какими бывают партнерки

Партнерские программы SaaS — как на них заработать, какими бывают партнерки Партнерская программа — это когда сервис дает партнеру вознаграждение за приведенных клиентов. Получить деньги и/или другие плюшки можно также по реферальной программе. Как это работает? Разбираемся на примерах....

30 08 2024 16:10:26

Инструменты для веб-аналитики

Инструменты для веб-аналитики Инструменты веб-мастера: что может заменить Google ***ytics?...

29 08 2024 0:34:47

Эффективная работа с микроблогом Twitter: планирование твитов по времени

Эффективная работа с микроблогом Twitter: планирование твитов по времени Твиттереть нужно правильно. Интересная аналитики и планирование твитов по времени...

28 08 2024 0:37:46

Кейс по SEO-продвижению сайта в тематике «эко-товары и натуральная косметика»: ROMI 129%

SEO-продвижение сайта, торгующего натуральной косметикой...

27 08 2024 7:28:41

Форма подписки на сайте: виды и примеры форм сбора email-адресов

Форма подписки на сайте: виды и примеры форм сбора email-адресов Какими бывают формы подписки и как их используют бренды...

26 08 2024 8:33:11

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743%

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743% Результаты грамотного внедрения технического SEO-аудита...

25 08 2024 21:25:39

Кейс по продвижению интернет-магазина отопительного оборудования: ROMI 86%

Кейс по продвижению интернет-магазина отопительного оборудования: ROMI 86% Через тернии к кейсу. SEO-продвижение интернет-магазина отопительного оборудования с оплатой за трафик...

24 08 2024 19:51:58

Кейс «Секунда»: как получить больше 13 000 обращений в офлайн-магазины с помощью локальных кампаний Google

Кейс «Секунда»: как получить больше 13 000 обращений в офлайн-магазины с помощью локальных кампаний Google Как настроить и получить эффективную отдачу от Google Local Campaigns...

23 08 2024 1:37:47

Увольнение сотрудника. Алгоритм действий от Netpeak

Сотрудник не справляется? Значит с ним пора прощаться. Эмоции в сторону, действуем по алгоритму....

22 08 2024 9:11:18

Сколько стоил клик Google Ads и Facebook в Украине во втором квартале 2018 года

Сколько стоил клик Google Ads и Facebook в Украине во втором квартале 2018 года Ежеквартальное исследование Netpeak по стоимости клика...

21 08 2024 2:41:46

Как выбрать трекер для мобильного приложения — часть вторая

Как выбрать трекер для мобильного приложения — часть вторая Трекеры теперь на любой вкус: за лидерство в сфере аналитики и трекинга в мире мобильных приложений все еще конкурируют более десяти различных систем. Как не растеряться в обилии инструментов?...

20 08 2024 10:38:14

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::