Копирование данных Universal Analytics в Google BigQuery
В предыдущем материале я подробно описал несколько способов сохранения исторических данных Universal Analytics. Это руководство посвящено еще одному варианту переноса статистики вашего ресурса GA3 в облачное хранилище данных BigQuery с помощью стороннего решения от Supermetrics.
Введение
Уже совсем скоро, 1 июля 2024 года, Google удалит все ваши данные в ресурсах Google Analytics 3 (UA). Вы больше не сможете заходить в старые счетчики, просматривать и анализировать накопленную за все время статистику.
Но что делать, если данные вам очень нужны? Тогда вы можете воспользоваться одним из предложенных мной вариантов из этой статьи. Там я рассматриваю следующие варианты сохранения данных Universal Analytics:
- Ручной экспорт данных из интерфейса;
- Выгрузка данных с помощью дополнения Google Таблиц;
- Сохранение данных с помощью UA Query Explorer;
- Выгрузка данных по API (использование кода на Python);
- Экспорт данных из Google Analytics 360 в BigQuery.
Еще на эту тему у меня есть отдельный урок, который вы можете посмотреть ниже:
Все предложенные способы переноса данных относились, преимущественно, к небольшим ресурсам и проектам (до миллиона сессий за весь период), не считая экспорта данных из GA360 в BigQuery, поэтому их можно выполнить самостоятельно, без использования вспомогательных инструментов и сервисов. Но многие пользовались предыдущей версии Google Analytics с момента его выхода в 2013 году и накопили достаточно большое количество данных, за весь период или за последние несколько лет, но при этом имели большую посещаемость и множество статистики, которую тяжело выгрузить вручную.
Тогда вы можете воспользоваться одним из способов резервного копирования данных Universal Analytics в Google BigQuery. Но сразу предупреждаю - данные решения являются платными! Автоматический перенос большого количества статистики из UA в BigQuery - процесс сложный, поэтому итоговая стоимость трансфера будет зависеть от объема той информации, которую вы желаете скопировать. И это я не беру в расчет стоимость использования самого облачного хранилища BigQuery, которое тоже стоит денег, а только использование специальных сервисов, о которых пойдет речь далее.
Если в вашей организации требуется выполнить перенос большого количества данных из Universal Analytics в Google BigQuery, то обязательно заложите дополнительную статью расходов на это.
Когда вы переносите исторические данные из Universal Analytics в проект BigQuery, вы сохраняете их в необработанном виде. Таблицы данных будут содержать все то, что собирал ваш счетчик GA3, но данные будут храниться в виде отдельных строк в табличном формате, а не в виде отчетов, как вы могли привыкнуть в интерфейсе. Поэтому после переноса вам может потребоваться значительная работа по форматированию перенесенных данных, что использовать их.
На это еще накладывается разная структура данных. В Universal Analytics существовало несколько типов обращений:
- Просмотр страницы
- Событие
- Социальное взаимодействие
- Транзакция электронной торговли
- Пользовательское время
- Исключение
- Просмотр экрана приложения
И каждый из этих типов обращений имел свою собственную команду для отправки в Google Analytics, которая передается в методе send объекта ga с помощью параметра hitType. Например:
- pageview (просмотр страницы);
- event (событие);
- social (социальное взаимодействие);
- timing (время).
В Google Analytics 4 отслеживание ориентировано на события и основывается на том, что любое взаимодействие пользователя с вашим сайтом или мобильным приложением можно учитывать как событие. Таким образом, ключевое различие между моделями данных для UA и GA4 заключается в определении событий. В Universal Analytics есть разные типы обращений, в Google Analytics 4 - все события:
Другой пример, который показывает различия между хранением и обработкой данных внутри счетчиков - это схема данных в Google BigQuery.
Google BigQuery – это облачное хранилище данных, позволяющее очень быстро обрабатывать запросы к большим наборам данных с помощью специальных команд, схожих с языком запросов SQL. Google Analytics 4 имеет встроенную интеграцию с облачным хранилищем данных Google. Вы, как владелец счетчика, можете включить экспорт данных в BigQuery и начать использовать необработанные данные о всех взаимодействиях, собранных на сайте и в мобильном приложении без какой-либо выборки и ограничений.
Экспорт данных Universal Analytics основан на сеансах и обращениях, то есть каждая строка в таблице BigQuery соответствует сеансу, и каждое взаимодействие вложено в эту строку:
При экспорте из Google Analytics 4 каждая строка - это само событие, то есть взаимодействие (обращение):
Еще есть отличия в параметрах и показателях обеих систем. Например, в Universal Analytics существует два пользовательских показателя: Всего пользователей и Новые пользователи, а в Google Analytics 4 – три: Всего пользователей (Total Users), Активные пользователи (Active Users) и Новые пользователи (New Users). Показатели тоже отличаются. Например, в отчетах Universal Analytics основным является показатель Всего пользователей (который показывается как Пользователи), а в Google Analytics 4 – Активные пользователи (который также показывается как Пользователи). Хоть они и называются одинаково в двух системах, рассчитываются в UA и GA4 они по-разному.
В ресурсах разного типа используются разные способы идентификации пользователей - в Google Analytics 4 первичен User ID, а в Universal Analytics – Client ID. В двух системах могут отличаться показатели сеансов, отказов, количество событий и ряд других метрик. Различий между Universal Analytics и Google Analytics 4 достаточно много.
Именно поэтому, даже если вы имеете большое количество данных и хотели бы перенести их все, я бы на вашем месте подумал, а действительно ли все это будет вам нужно? Скопировать данные ради копирования/памяти - это одно. Работать с ними, строить предиктивные модели для прогнозирования трендов и будущих показателей - совсем другое. Я рекомендую сохранять только те данные Universal Analytics, которые действительно вам нужны, поскольку их обработка и форматирование может занять очень много времени. Ну и сам перенос данных с помощью сторонних решений в BigQuery - услуга не бесплатная. Да и сам выбор конечного хранилища в виде BigQuery для сохранения исторических данных Google Analytics - подходит ли? На этот вопрос вы должны ответить себе сами.
Если у вас есть какие-то особые требования к отслеживанию, которые можно решить только с помощью переноса статистики в BigQuery, тогда вы можете воспользоваться одним из представленных ниже сервисов по копированию данных Universal Analytics в BigQuery.
Перенос данных с помощью Supermetrics
Supermetrics - это сервис, который собирает ваши маркетинговые данные и данные о продажах с более чем 150 платформ и предоставляет их к анализу, сохраняя результат в одном удобном для вас инструменте. Это могут быть как простые Google Таблицы, Microsoft Excel, так и сторонние инструменты визуализации данных и BI-системы Tableau, Qlik, Power BI, Looker Studio.Supermetrics поддерживает большое количество различных источников данных, включая Google BigQuery, Snowflake, Amazon S3, Google Cloud Storage, Azure Synapse Analytics, Azure Storage Container, Amazon Redshift, Azure SQL Database, Google AlloyDB, SFTP и другие.
Примечание: Supermetrics - не единственное решение на рынке с таким функционалом. Например, аналогичные функции по переносу данных имеет Analytics Canvas.
Мы можем использовать Supermetrics для копирования данных из Universal Analytics в BigQuery. Для этого нужно выполнить следующие шаги:
- создать проект в Google Cloud;
- иметь активный платежный аккаунт;
- создать набор данных (датасет) в BigQuery;
- создать передачу данных Universal Analytics в BigQuery с помощью коннектора Supermetrics;
Давайте рассмотрим каждый шаг подробнее.
Создание проекта в Google Cloud
Чтобы создать новый проект, используйте любую учетную запись Gmail и перейдите в Google Gloud по ссылке. Если вы работаете с облаком Google впервые, то вас попросят указать страну и согласиться с условиями использованиями Google Cloud Platform (GCP):
Все нижеприведенные настройки вы сможете выполнить только после того, как привяжите свою банковскую карту к Google Cloud и будете иметь активный платежный аккаунт. Если вы этого не сделаете, то и воспользоваться переносом данных Universal Analytics в BigQuery вы не сможете. В связи с текущими событиями в мире Google приостановил работу для пользователей из России. На момент публикации этого материала вы не сможете привязать свою банковскую карту, выпущенную на территории РФ. Наиболее простое и эффективное решение - выпустить карту другой страны (Казахстан, Киргизия, Армения и т.д.), чтобы иметь возможность пользоваться Google Cloud и оплачивать счета.
Выберете из списка наиболее подходящую и нажмите Agree and continue. На открывшейся странице Google Cloud в левом верхнем углу нажмите на Select a project:
И создайте проект - NEW PROJECT:
В поле Project name вы можете оставить автоматически добавленное название проекта, а можете указать свое собственное название, например transfer-ua:
В завершение нажмите кнопку Create (Создать). В вашем Google Cloud будет создан новый проект. Об этом будет свидетельствовать уведомление в правом верхнем углу (Notifications):
Вы можете сразу выбрать этот проект, нажав на SELECT PROJECT.
Создание платежного аккаунта
Перейдите на страницу console.cloud.google.com/billing и создайте платежный аккаунт, привязав свою банковскую карту для оплаты счетов. Это можно сделать и через меню Billing:
Если у вас уже есть платежный аккаунт в Google Cloud, вы можете привязать его к текущему проекту. Для этого выберите Link a billing account. Если вы создаете его с нуля, то перейдите в Manage billing accounts и оттуда создайте новый платежный аккаунт, нажав на кнопку Create Account. Введите название (Name) и выберите страну (Country) из списка:
В завершение нажмите Continue. На следующей странице вас попросят указать ваши персональные данные, включая тип аккаунта (можете выбрать Individual), имя, адрес и реквизиты банковской карты:
Сделайте это и нажмите на кнопку Submit and Enable Billing. После этого данный платежный аккаунт можно привязать к созданному проекту Google Cloud:
Создание набора данных в BigQuery
После этого перейдите на страницу вашего проекта BigQuery. Напротив автоматически созданного идентификатора проекта нажмите иконку с тремя точками и выберите Create dataset:
Введите название для своего набора данных (например, ga3_backup). Если для вас важно, чтобы данные хранились на территории ЕС, то измените тип местоположения, задав в Location type - EU:
Примечание: BigQuery предоставляет два типа данных и местоположений вычислений:
- Регион (Region) - это определенное географическое место, например Лондон;
- Мультирегион (Multi-region) - это большая географическая область, например США, состоящая из двух или более регионов. Расположения в нескольких регионах могут предоставлять более крупные квоты, чем отдельные регионы.
Для любого типа местоположения BigQuery автоматически сохраняет копии ваших данных в двух разных зонах Google Cloud в одном регионе в выбранном месте.
В завершение нажмите кнопку Create dataset. Теперь вы должны увидеть свой набор данных, созданный по идентификатором проекта:
Внутри этого набора данных пока нет никаких таблиц. Как только мы создадим передачу данных с помощью Supermetrics, в этом наборе данных появятся новые таблицы с вашей статистикой Universal Analytics.
Создание передачи данных Universal Analytics в BigQuery
Для создания передачи данных Universal Analytics в BigQuery перейдите в раздел Data transfers:
Если служба BigQuery Data Transfer ранее не использовалась в вашем проекте, вы увидите соответствующее уведомление:
Вам необходимо скопировать ссылку из уведомления и перейти по ней. На открывшейся странице для BigQuery Data Transfer API нажмите кнопку Enable, чтобы включить данную службу.
После этого вы можете вернуться в Data transfers и создать новый трансфер:
Нажмите на поле Source и в открывшемся списке в самом низу выберете Explore Data Sources:
Вам откроется отдельная страница торговой площадки (маркетплейса), на которой в поиске вам нужно ввести google analytics. Найдите в результатах поиска Google Analytics by Supermetrics (не Google Analytics 4!):
На открывшейся странице нажмите Enroll:
Теперь в поле источника данных вы сможете выбрать Google Analytics by Supemetrics. Сделайте это:
В поле Display name укажите имя трансфера, которое будет отображаться в разделе Data transfers. Например, Backup Universal Analytics data in BigQuery:
В поле Dataset из выпадающего списка выберите созданный на предыдущем шаге набор данных. У меня это был ga3_backup:
После этого на экране появится кнопка Connect Source. Нажмите на нее:
Примите соглашение:
В отдельном окне браузера вам откроется возможность авторизации в Supermetrics с помощью учетной записи Google. Нажмите кнопку Sign in with Google:
Авторизуйтесь в Supermetrics.
Если до этого вы не имели учетной записи в Supermetrics, пройдите быструю и несложную регистрацию. Эти шаги я целенаправленно опускаю, предполагая, что вы справитесь с этим без меня.
Примечание: Supermetrics предоставляет 14-дневную бесплатную пробную версию, не требующую привязки банковской карты.
После этого вам нужно перейти в раздел Data sources и привязать свой ресурс Google Analytics к учетной записи:
Авторизуйтесь с помощью своей учетной записи Google, на которой есть доступ к ресурсу Universal Analytics. Разрешите доступ приложению Supermetrics:
После этого вы увидите подключенный источник данных Google Analytics в своем профиле:
После того, как вы подключили учетную запись Google, на которой есть ваш ресурс Universal Analytics, вернитесь обратно в свой трансфер Google Cloud и повторно нажмите кнопку Connect source. Теперь после авторизации вам должно отображаться окно такого вида:
В поле Accounts выберите свой ресурс и представление Universal Analytics, из которого вы хотите перенести данные:
При желании вы можете просегментировать трафик, оставив только нужные данные. Но это делать необязательно.
По умолчанию в поле схемы оставьте STANDARD. Это означает, что мы доверяем Supermetrics и тому функционалу, который заложен в этот трансфер. Как вы понимаете, данные из Universal Analytics в BigQuery будут передаваться по определенной схеме и с определенным набором полей (параметров и показателей), чтобы в случае переноса и копирования не возникало ошибок. Подробнее со схемой данных, которую использует Supermetrics, читайте в их официальной документации.
Примечание: перед настройкой трансфера вы можете создать свою собственную пользовательскую схему данных в BigQuery, а затем сопоставить поля, передаваемые из Universal Analytics с теми полями, которые вам нужны в таблицах BigQuery. Пользовательские схемы данных используются тогда, когда не нужно передавать все, что заложено в инструмент по умолчанию, чтобы сократить объем данных и итоговую стоимость переноса, поскольку она напрямую зависит от количества информации, которую вы передаете. Больше полей, больше параметров и показателей в схеме данных, выбран больший диапазон дат - стоимость дороже.
После выбора вашего ресурса Universal Analytics нажмите кнопку Submit.
Если вы все сделали правильно, то Supermetrics уведомит вас об этом:
Вы можете закрыть окно настройки и вернуться в трансфер данных в Google Cloud. Там вы должны увидеть надпись Source connected. Это означает, что источник данных успешно подключен:
Все, что осталось сделать - это нажать на кнопку Save, чтобы сохранить наш трансфер.
Проверка передачи данных
Теперь в разделе Data transfers вы должны увидеть несколько записей, свидетельствующих о запуске передачи данных вашего ресурса Universal Analytics в BigQuery:
Может пройти несколько минут, прежде чем изменятся статусы у данных записей. Просто вернитесь через некоторое время и обновите страницу. Как только это произойдет, в столбце Summary должно отображаться уведомление The transfer run has completed successfully (Передача данных успешно завершена).
Две записи - это два дня успешно переданных данных Universal Analytics в Google BigQuery. Но поскольку Google Analytics уже не собирает данные с 1 июля 2023 года в своих ресурсах, то таблицы BigQuery созданы не будут, так как данных за последние два дня в вашем счетчике GA3 нет.
Выгрузка данных за диапазон дат (backfill-задания)
Чтобы скопировать больше исторических данных Universal Analytics, вам необходимо backfill-задание. Сделать это можно после успешного завершения первоначальной передачи данных за два дня.
Для этого перейдите в раздел Data transfers и сверху нажмите Schedule backfill.
Если вы точно знаете, за какой диапазон дат вы хотите скопировать исторические данные Universal Analytics, тогда выберите вариант Run for a date range и задайте нужный период выгрузки:
Примечание: Supermetics позволяет перенести данные только за шесть месяцев за одно backfill-задание. Если вам нужно сохранить больше данных, вам придется создавать несколько backfill-заданий отдельными пакета по шесть месяцев. И если вы используете пробный период в 14 дней, то вам доступна выгрузка исторических данных только за последние 14 дней. Для большего диапазона дат вам необходимо привязать банковскую карту и воспользоваться полной версией коннектора.
В качестве примера я указал диапазон дат с 1 января по 30 июня 2023 года. Поэтому когда я создал backfill-задание, в трансфере для каждого дня была создана своя запись:
А поскольку я использовал демо-версию в 14 дней для этого проекта, то коннектор Supermetrics не даст мне выгрузить данные в выбранном диапазоне дат. Он будет выдавать ошибки:
В этом случае вы сможете выгрузить данные ТОЛЬКО ЗА ПОСЛЕДНИЕ 14 ДНЕЙ, что уже неактуально на пробном периоде, поскольку статистика в Universal Analytics не собирается с 1 июля 2023 года. Исключение составляют аккаунты линейки Google Analytics 360, которые по-прежнему собирают данные в счетчиках UA-. Поэтому для автоматической передачи данных за нужный диапазон дат с помощью коннектора Supermetrics вам необходимо использовать платную тарификацию.
Если выполнить передачу данных не удалось, но у вас полный коннектор с платным доступом, тогда вы можете повторить повторить отправку данных с помощью кнопки RETRY:
Дождитесь окончательного трансфера данных. На это может потребоваться некоторое время. Например, обработка 6 месяцев (180 backfill-заданий) небольшого ресурса Universal Analytics примерно занимает 40-50 минут.
В качестве другого примера я взял еще один проект, где осуществлялся перенос исторических данных Universal Analytics в Google BigQuery с помощью Supermetrics. Как видите, здесь ошибок трансфера за прошлый период не наблюдается.
Вы можете в этом убедиться сами, перейдя в раздел BigQuery и открыв созданный на предыдущем шаге набор данных (dataset). Теперь внутри него есть n-ое количество таблиц с данными:
И пример полей самой таблицы с данными:
Это и есть ваши данные Universal Analytics. Теперь вы можете не беспокоиться за сохранность своей статистики. Она будет доступна вам в облачном хранилище данных BigQuery пока у вас есть действующий проект в Google Cloud и активный платежный аккаунт. Но даже если вы перестанете оплачивать BigQuery, Google продолжит хранить ваши данные в таблицах. Правда нет конкретных сроков как долго это будет происходить. Он может в любой момент удалить их из вашего проекта Google Cloud за неуплату или неактивность. Пожалуйста, учитывайте это.
Визуализация данных в Looker Studio
Теперь вы можете использовать SQL-запросы и выполнять различные команды для построения нужных вам срезов, чтобы впоследствии визуализировать статистику в Looker Studio, используя встроенный коннектор от Google BigQuery.
Пример визуализации:
Не забывайте, что помимо платного коннектора Supermetrics и переноса данных вы так же платите еще и за облачное хранилище Google BigQuery + за обработку данных и сами SQL-запросы (изменения диапазонов дат, перестроение визуализаций и т.д.). Обязательно прочитайте мою статью Дорогостоящая ошибка при подключении GA4 - BigQuery к Looker Studio (Data Studio), чтобы не допустить похожих ошибок.