11 Мая 2016 в 08:39

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

0 6486
Антон Леонтьев
Веб-аналитик,
eLama.ru

Интернет-маркетинг сегодня это огромное количество данных и цифр, и стандартных инструментов может быть недостаточно для их полного и глубокого анализа. В 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 Загрузка таблицы с данными пользователей, зарегистрированных на вебинар.png

Рис. 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 Запрос.png

Рис. 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.

0 комментариев
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:

Отправьте отзыв!
X | Закрыть