Google BiqQuery для веб-аналитики

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

Интернет-маркетинг сегодня это огромное количество данных и цифр, и стандартных инструментов может быть недостаточно для их полного и глубокого анализа. В eLama.ru мы анализируем входящий трафик, эффективность многих маркетинговых каналов (контекстная и таргетированная реклама, email, выступления на конференциях и обучающие вебинары, соцсети, блог, PR), а также активность наших клиентов. Есть задачи, для которых нам не хватает возможностей Google Analytics, Яндекс.Метрики и Excel.

В таких случаях мы используем Google BigQuery — реляционную систему управления базами данных (СУБД), часть Google Cloud Platform, куда входит еще порядка 40-ка инструментов для вычисления, хранения и анализа данных.

В этом материале мы расскажем, как используем BigQuery в своей работе и расскажем в целом, какие возможности открывает инструмент.

Итак, рассмотрим одну типичную для нас задачу: определить эффективность обучающего вебинара. Для этого примера возьмем вебинар о ремаркетинге в Google AdWords, проведенный 28 марта. Нам нужно выяснить, сколько участников зарегистрировались в еЛаме после обучения и сколько из них подключили аккаунт AdWords.

Для этого в BigQuery мы сведем данные из трех источников:

  • информация о посетителях вебинара выгружается в CSV-файле из сервиса ClickMeeting (сторонняя платформа для проведения онлайн-конференций и вебинаров);
  • список пользователей е Ламы в CSV-файле из нашей собственной MySQL-базы;
  • информация о подключении клиентами аккаунта Google AdWords — события на фронтенде нашего сайта, которые фиксируются в Google Analytics.

Способы загрузки

Данные в BigQuery можно загружать с помощью:

  • импорта файлов (прямой или с помощью дополнительных инструментов);
  • API. Доступны клиентские библиотеки для большинства популярных языков программирования;
  • стриминга данных из Google Analytics.

Для обработки данных в BigQuery используется схожий с SQL собственный язык с очень высокой скоростью выполнения запросов.

Загрузка данных и выполнение запроса

Теперь опишем порядок действий и необходимый инструментарий для решения нашей задачи.

1) Регистрация в Google Cloud Platform. В начале работы система предоставляет $300 для работы со всеми сервисами Cloud Platform в течение 60-ти дней. По истечении двух месяцев оставшаяся сумма сгорает, а трафик BigQuery нужно будет оплачивать согласно прайсу ($5 за 1 TB). В нашем примере затраты трафика на запрос составили 24,1 MB, что относительно совсем немного.

Интерфейс BigQuery, как и всего Cloud Platform, не доступен на русском языке, а рабочая среда выглядит так:

Рис. 1 Подготовка к загрузке данных создание базы данных.png

Рис. 1 Подготовка к загрузке данных: создание базы данных

Чтобы начать работу, задаем название проекта и базы данных (dataset). Остальные поля можно не редактировать.

Рис. 2 Создание базы данных.png

Рис. 2 Создание базы данных

2) Дальше загружаем в BigQuery список пользователей, посетивших вебинар. Создадим таблицу в Google Sheets и импортируем ее в BigQuery с помощью бесплатного плагина для браузера OWOX BI BigQuery Reports.

Рис. 3 Загрузка таблицы с данными пользователей, зарегистрированных на вебинар

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

При импорте нужно указать имена нужного проекта и базы данных, название импортируемой таблицы и схему данных. Каждая колонка в нашей таблице соответствует определенному типу данных, который нужно указать. Их не так много, как в традиционных СУБД, и они интуитивно понятны. Названия колонок автоматически подставляются из первой строки таблицы Google Sheets.

Рис. 4 Загрузка данных через OWOX BI BigQuery Reports.png

Рис. 4 Загрузка данных через OWOX BI BigQuery Reports

3) Загружаем в BigQuery список пользователей еЛамы. Эти данные передаются в CSV-файле напрямую в BigQuery, так как Google Sheets не справляются с таким большим объемом данных:

Рис. 5 Загрузка данных о пользователях еЛамы в CSV-файле в интерфейсе BigQuery.png

Рис. 5 Загрузка данных о пользователях еЛамы в CSV-файле в интерфейсе BigQuery

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

4) Настройка стриминга из Google Analytics. Для полного анализа нам нужно, чтобы в BigQuery хранились данные о хитах: просмотрах страниц и всех действиях пользователей, которые фиксирует Google Analytics. В данном примере нас интересуют события категории “BidderAdWords” (этой категорией мы обозначаем события, связанные с нашими инструментами для работы с AdWords) и “Указал логин”, сигнализирующие о подключении пользователем аккаунта AdWords.

Cуществует инструмент, импортирующий данные из Google Analytics 360 (ранее Analytics Premium). Мы же используем OWOX BI Streaming. Для его настройки нужно установить на сайте дополнительные теги, и данные будут автоматически отправляться с фронтенда сайта на сервера BigQuery параллельно с отправкой данных на сервера Google Analytics.

5) Чтобы получить ответ на наш вопрос о регистрациях в еЛаме и подключении AdWords участниками вебинара, нужно выполнить такой запрос:

Рис. 6 Запрос

Так выглядит отправка запроса и результат в интерфейсе BigQuery:

Рис. 7 Построенный по нашему запросу отчет.png

Рис. 7 Построенный по нашему запросу отчет

В таблице представлены 32 пользователя, которые зарегистрировались в еЛаме после вебинара. Один из них спустя три часа после регистрации подключил себе аккаунт AdWords. Эту таблицу можно дополнить финансовыми показателями, например, пополнениями баланса еЛамы новыми клиентами. Для этого нужно загрузить в BigQuery таблицу с транзакциями и дополнить запрос еще одним JOIN.

Другие возможности BigQuery

BigQuery позволяет строить разнообразные отчеты любой сложности. Например, мы можем выяснить, на какую сумму клиенты еЛамы пополняли счет до посещения вебинара и сколько эти же клиенты заплатили после посещения вебинара за аналогичный период времени.

Можно составить список заинтересованных пользователей, например, тех, кто совершали какие-то действия на сайте, но так и не пополнили счет. И затем передать такой список в отдел продаж для звонков.

Еще одна возможность — создание списков ремаркетинга по определенным условиям. Например, мы можем выделить тех, кто подключил аккаунт AdWords, но так и не пополнил баланс. Написав и выполнив соответствующие запросы, мы получим список user_id, по которому можем создать аудиторию и использовать ее в рекламе.

Рис. 8  Создание аудитории ремаркетинга.png

Рис. 8 Создание аудитории ремаркетинга

user_id (здесь ID) — это пользовательский параметр в Google Analytics, который передается с каждым хитом.

В отличие от стандартного Google Analytics, BigQuery работает с полным объемом данных. Даже для небольших проектов Analytics сэмплирует данные, составляя обычные отчеты с периодом больше месяца. Думаю, многие видели такие предупреждения:

Рис. 9 Предупреждение в GA о сэмлировании данных.png

Рис. 9 Предупреждение в GA о сэмлировании данных

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

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

Также в BigQuery можно подключить инструменты визуализации данных, например, Tableau, QlikView и др. Они представляют информацию и изменения наглядно и обладают широким функционалом построения графических отчетов.

Мы хотели сравнить скорость обработки запросов в BigQuery и в MySQL на обычном хостинге. Но эксперимент потерпел неудачу. Мы сделали несколько попыток загрузить CSV-файл в MySQL, и каждый раз импорт прерывался из-за погрешностей, например, лишних кавычек в полях с данными. BigQuery корректно обрабатывает подобные ошибки. Кроме того, на мой взгляд, система MySQL сложнее в освоении, чем BigQuery, в ее использовании больше технических нюансов, и для нее нет готовых решений по стримингу данных из Google Analytics.

Заключение

Google BigQuery — универсальный инструмент для аналитики. Он несложный и интуитивно понятный в использовании. Поэтому, если вы подозреваете, что для необходимого анализа вам мало возможностей Analytics и Метрики, начинайте разбираться с BigQuery.

Читайте нас в Telegram - digital_bar

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


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
    ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
    Рейтинг «Известность бренда SEO-компаний 2017»: народное голосование
    Иван
    1
    комментарий
    0
    читателей
    Полный профиль
    Иван - 1) IT-Agency 2) Пиксели 3) 1ps 4) Ингейт 5) Нетпики
    «Баден-Баден»: как выйти из-под фильтра
    Сергей Дембицкий «Sima-Land.ru»
    16
    комментариев
    0
    читателей
    Полный профиль
    Сергей Дембицкий «Sima-Land.ru» - Скрины Метрики показывать не буду, но мы (sima-land.ru - 1,5 млн. стр. в поиске Яндекс) в сентябре загремели под ББ, в разгар сезона и вышли из-под фильтра, спустя 50 дней, удалив все тексты с сайта: категории + карточки товаров (описание). Трафик с Google только вырос. Тексты возвращать собираемся, но процесс будет длительный, тексты будем теперь писать исключительно полезные, т.к. было больно :-))
    Второе дыхание ссылочного продвижения
    Автопилот
    14
    комментариев
    0
    читателей
    Полный профиль
    Автопилот - Еще лучше, когда продвижение осуществляется комплексно :)
    «Прямая линия» с Александром Алаевым («АлаичЪ и Ко»): отвечаем на вопросы
    Александр Алаев
    13
    комментариев
    0
    читателей
    Полный профиль
    Александр Алаев - Роман. Тут ответ очень простой. Каждый запрос можно четко разделить на коммерческий или некоммерческий. "Купить слона" и его длинные хвосты - коммерческий. "Как выбрать слона" и подобные - информационные. Вот под коммерческие ключи должны быть страницы услуг или каталога товаров. А под информационку - блог. Очень важно не путать их, тем более несоответствующая коммерческим факторам страниц просто не продвинется, то есть по запросу с "купить" блог никогда не будет показываться в выдаче, так же как и страница услуги/товаров не покажется по "как выбрать". Понятно примерно?
    Кейс: продвигаем бизнес по продаже пластиковых окон в Москве
    Иван Стороженко
    5
    комментариев
    0
    читателей
    Полный профиль
    Иван Стороженко - 1. По началу вообще не использовали, сейчас уже много каналов используется. 2. Все может быть, в принципе сайты должны быть удобны для пользователя, для этого и нужна схожесть между собой. Честно говоря старались брать все самое интересное у конкурентов + подкреплять своими идеями.
    Инфографика: самые распространенные SEO-ошибки Рунета
    Dmitro Grunt
    2
    комментария
    0
    читателей
    Полный профиль
    Dmitro Grunt - Кстати, у проектов которые продвигает Нетпик все тайтлы не более 65 символов? Или вы надеетесь что кто то послушает советов и отдаст вам часть трафика? :-)
    Google.ru внесли в реестр запрещенных сайтов
    Гость
    1
    комментарий
    0
    читателей
    Полный профиль
    Гость - Гон, все работает и будет работать. Да и пусть банят, будет как с рутрекером.
    Сердитый маркетолог: как вы сами хороните свой сайт, или 16 принципов, которые нужно усвоить заказчикам SEO
    Анна Макарова
    313
    комментария
    0
    читателей
    Полный профиль
    Анна Макарова - Artem Sergeev, ваш комментарий удален за агрессивный настрой и безосновательные обвинения. Держите себя в руках!
    «Прямая линия» с Артуром Латыповым: отвечаем на вопросы
    God Koss
    1
    комментарий
    0
    читателей
    Полный профиль
    God Koss - Добрый день! Есть сайты одной компании продвигающиеся в разных странах. .ru .com .net. На российском сайте два языка ru и en, на остальных до 10 языков. Недавно сайт ru по основному брендовому запросу выпал из выдачи Яндекс но после апа вернулся на вторую позицию. На вопрос аффилирования в тех поддержку, получит ответ, что всё в порядке и сайт com не учавствует в выдаче. Но он есть и занимает 1 место. Как быть в данной ситуации? Так же, после возврата в топ 10 по этому запросу зашла еще одна внутренняя страница. Могло ли это случиться из-за каннибализации запроса? Немного изменил description на внутренней, исключил вхождения брендового запроса. Жду апа. Хотел бы услышать ваше мнение. Заранее благодарю!
    Западные специалисты выяснили, как повысить позиции ресурса в выдаче Google
    Serhii Diachenko
    1
    комментарий
    0
    читателей
    Полный профиль
    Serhii Diachenko - Спасибо Бернис!
    ТОП КОММЕНТАТОРОВ
    Комментариев
    910
    Комментариев
    834
    Комментариев
    554
    Комментариев
    540
    Комментариев
    483
    Комментариев
    373
    Комментариев
    313
    Комментариев
    262
    Комментариев
    229
    Комментариев
    171
    Комментариев
    156
    Комментариев
    137
    Комментариев
    121
    Комментариев
    97
    Комментариев
    97
    Комментариев
    95
    Комментариев
    80
    Комментариев
    77
    Комментариев
    67
    Комментариев
    60
    Комментариев
    59
    Комментариев
    55
    Комментариев
    54
    Комментариев
    52
    Комментариев
    49

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