Google Analytics 4 и Python - практические приемы работы
В этом подробном руководстве я покажу, как с помощью языка программирования Python выполнять запросы к API Google Analytics 4 (Data API) и выгружать данные по стандартным отчетам и сохранять статистику вашего ресурса Google Analytics 4 на компьютер. В конце материала будут приложены все исходники запросов, чтобы вы смогли взять их за основу при написании собственной программы.
Начало
Сразу отмечу, что я бы не хотел в этой публикации повторяться и начинать с того, что такое API, зачем его использовать для Google Analytics 4, какие существуют лимиты и ограничения, как выполнить свой первый запрос и т.д., а сразу перейти к практическим приемам. Все это я разобрал в других статьях своего блога, поэтому кому интересно, может прочитать их перед этим руководством:
- API Google Analytics 4 (Data API)
- Начало работы с Google Analytics Data API (GA4). Ваш первый запрос
Здесь мы сосредоточимся на нескольких запросах, каждый из которых будет представлять собой стандартный отчет Google Analytics 4 со своим перечнем параметров и показателей. А вся последовательность действий, которую будем выполнять по выгрузке данных из GA4 с помощью Data API, сводится к следующим простым шагам:
- создание проекта;
- быстрый запуск API через официальную документацию Google;
- добавление сервисного аккаунта в ресурс Google Analytics 4;
- загрузка приватного ключа в Google Диск и его подключение;
- подготовка программы;
- написание запроса для каждого отчета Google Analytics 4;
- сохранение данных в JSON.
Давайте приступим!
Создание проекта
Для работы с API Google Analytics 4 я предлагаю использовать Google Colab. Чтобы создать свой первый проект в нем, авторизуйтесь в своей учетной записи Gmail и перейдите по ссылке. Вам откроется приветственное окно и ваши проекты:
Если вы никогда раньше не работали с Colaboratory, то никаких проектов, кроме демонстрационного, в списке вы не увидите. Для создания первого проекта нажмите на Создать блокнот:
В новом окне вы увидите только что созданный блокнот, в котором вы будете писать код программы на Python. При желании вы можете переименовать свой проект, задав ему понятное название, например - API Google Analytics 4. Отчеты:
На этом первый шаг завершен. Оставьте вкладку с вашим проектом Colab открытой и переходите к следующему этапу.
Быстрый запуск API
Начинающим пользователям Google предоставляет возможность быстро начать работу с API Google Analytics, перейдя в официальную документацию разработчиков. Сделайте это, а затем на открывшейся вкладке нажмите на синюю кнопку Включите API данных Google Analytics v1.:
Это действие автоматически создаст вам новый проект в Google Cloud Platform (GCP), а также активирует Google Analytics Data API v1 и создаст учетную запись службы, необходимую для дальнейшего создания запросов. Для работы с Data API платежный аккаунт в Google Cloud не требуется, поэтому вы можете использовать любую учетную запись Gmail.
Нажав на кнопку, введите имя проекта (Enter new project name). Например, API GA4:
В завершение нажмите NEXT (Далее). Начнется автоматическое создание проекта. Через некоторое время Google выдаст вам уведомление об успешной настройке проекта и создании учетной записи службы:
Скачайте к себе на компьютер приватный ключ, нажав на кнопку DOWNLOAD PRIVATE KEY AS JSON. Его вы будете использовать для аутентификации своей учетной записи службы. Сохраните этот файл в надежном месте, так как любой, у кого есть этот ключ, может выступать в качестве сервисного аккаунта для доступа к вашим ресурсам Google Cloud Platform. В конце нажмите DONE.
Вы можете открыть сохраненный файл обычным блокнотом (формат .json), чтобы посмотреть, из чего он состоит:
Этот файл вам в дальнейшем понадобится для проекта в Colab.
Чтобы удостовериться в том, что Google сам автоматически создал нам новый проект и учетную запись службы (сервисный аккаунт) в GCP для работы с Data API, перейдите по ссылке console.cloud.google.com. Если в Google Cloud Platform у вас уже созданы и другие проекты, нажмите в верхней части панели на название:
В открывшемся окне сверху выберите вкладку ALL. Вы должны увидеть новый созданный проект с вашим названием:
Нажмите на него, чтобы открыть. Затем перейдите в APIs & Services:
Удостоверьтесь, что в разделе Enabled APIs & services включен Google Analytics Data API:
Нажмите на название. Если Status – Enabled, то Google Analytics Data API включен:
Теперь перейдите в раздел Credentials, чтобы увидеть данные сервисного аккаунта, созданного автоматически:
Данные по сервисному аккаунту уже присутствуют в выгруженном JSON файле с приватным ключом в строке client_email:
Добавление сервисного аккаунта в Google Analytics 4
Скопируйте адрес электронной почты сервисного аккаунта (или из сохраненного файла из поля client_email, или из интерфейса Google Cloud) и откройте свой ресурс Google Analytics 4, с которым планируете работать. Перейдите в раздел Администратор – Ресурс - Управление доступом к ресурсу:
Добавьте нового пользователя:
Для работы с Google Analytics Data API v1 необходимы только разрешения на чтение и анализ (он же Читатель). В поле адреса электронный почты добавьте скопированный на предыдущем шаге e-mail сервисного аккаунта:
В правом верхнем углу нажмите кнопку Добавить. На этом добавление сервисного аккаунта в Google Analytics 4 завершено.
Загрузка приватного ключа на Google Диск
Когда вы начнете писать свой первый запрос к Data API, вам понадобятся данные от сервисного аккаунта Google. А для этого необходимо загрузить ваш приватный JSON ключ на Google Диск. Это нужно сделать для того, чтобы после перезапуска среды выполнения (завершения сеанса и закрытия вкладки браузера/проекта) Google не удалял ваш файл с приватным ключом из Colab, и вам не приходилось загружать его каждый раз повторно. Для этого мы подключаемся к Диску и загружаем в него этот файл, а потом в проекте прописываем путь к этому файлу.
Сделать это очень просто. Перейдите в Google Drive по ссылке и загрузите в него ваш приватный ключ:
Перед загрузкой обязательно проверьте, чтобы в имени файла не было никаких пробелов. Если они присутствуют, замените их на нижнее подчеркивание _ или тире -
Подготовка программы
Вернитесь на вкладку с вашим проектом в Colab и в первой строке введите команду установки клиентской библиотеки Google Analytics:
1 |
pip install google-analytics-data |
Нажмите иконку запуска (значок play), чтобы код в ячейке сработал. В Colab это будет выглядеть так:
Напротив строки с кодом должна появится зеленая галочка, свидетельствующая об успешном выполнении кода:
В конце ячейки вы можете увидеть строчки примерно такого содержания:
1 2 3 4 5 |
Installing collected packages: google-analytics-data Successfully installed google-analytics-data-0.16.1 WARNING: The following packages were previously imported in this runtime: [google] You must restart the runtime in order to use newly installed versions. |
Произошла успешная установка пакета, но для использования новых версий вы должны перезапустить среду выполнения с помощью кнопки RESTART RUNTIME. Это делать необязательно, поскольку Google в Colab поддерживает актуальное состояние библиотек и их взаимную работу.
Чтобы продолжить писать программу, сверху вашего блокнота нажмите на + Код:
Под первой ячейкой у вас будет создана новая, пустая:
Теперь импортируйте клиентскую библиотеку Google Cloud с помощью нижеприведенной строчки кода, а затем запустите код в ячейке:
1 |
from google.cloud import storage |
В Colab это будет выглядеть так:
Добавьте новую ячейку с кодом и вставьте в него следующий код:
1 |
from google.colab import drive |
Он подключает пакет для работы Colab с Google Диском. В Colab это будет выглядеть так:
Вновь добавьте новую ячейку с кодом и вставьте в него следующий код:
1 |
drive.mount("/content/drive", force_remount=True) |
Данная строка позволяет импортировать ваши файлы из Google Drive в проект Colab, чтобы потом к ним можно было обращаться в программе. А поскольку на предыдущем шаге вы загрузили свой приватный JSON ключ на Диск, который нам понадобится в составлении запроса к Data API (GA4), запустите ячейку. Вам откроется новое окно, в котором Google попросит вам подключиться к Диску. Сделайте это:
Выбрав свою учетную запись Gmail, предоставьте приложению Google Drive все необходимые разрешения:
В завершение нажмите кнопку Разрешить. После этого код успешно будет выполнен, все всплывающие окна закроются, а в вашем проекте в Colab, если вы нажмете на иконку папки в левом углу страницы, отобразиться папка drive, в которой будут размещены все файлы с вашего Диска, в том числе и загруженный ранее приватный ключ:
Найдите в списке ваш приватный ключ и нажмите на него правой кнопкой мыши. Выберите пункт Скопировать путь:
Как и прежде, создайте новую ячейку с кодом с помощью + Код. Добавьте в нее две строчки кода:
1 2 |
import os os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="путь_к_приватному_файлу.json" |
, где вместо путь_к_приватному_файлу.json вы укажете тот путь, который скопировали с предыдущего шага. Затем запустите ячейку с кодом.
В Colab это будет выглядеть так:
Переменная, чье значение присваивается Python извне, называют переменной окружения. Как правило, ее устанавливают в командной строке перед тем, как обратиться к исполняемому файлу Python. После этого ОС позволяет программе Python получать доступ к такой переменной.
Переменные окружения в Python необходимы для гибкости программы. Благодаря им, пользователь получает возможность менять нужные параметры перед выполнением программы. Программа же, в свою очередь, может просматривать изменяемые параметры, динамически подстраивая свое поведение. Т.е. нет необходимости модифицировать код. Такое применение переменных окружения будет называться настройкой программы.
Алгоритм, по которому проходит установка переменных окружения, напрямую зависит от платформы. Поэтому следует использовать встроенный модуль OS компании Python для считывания переменных. Функции этого модуля позволяют взаимодействовать с операционной системой вне зависимости от ее платформы.
Для доступа к таким переменным в Python используется объект os.environ - это словарь, в котором хранятся все переменные окружения программы, а GOOGLE_APPLICATION_CREDENTIALS - это переменная среды, которую нужно задать, чтобы указать расположение вашего приватного ключа JSON. Перед использованием словаря, конечно же, требуется импортировать сам пакет os с помощью команды import os.
На странице быстрого запуска в самом низу представлен пример кода, позволяющий выгрузить статистику из вашего счетчика Google Analytics 4 за определенный диапазон дат. В качестве параметра задан Город (City), а показателя - Активные пользователи (Active Users). Переключившись на вкладку Python, вы можете увидеть весь запрос целиком:
Код, представленный в справке, можно открыть в Cloud Shell или посмотреть на GitHub:
Если вы в будущем захотите просто скопировать кусок кода и вставить его в свой проект Colab, я рекомендую это делать из гитхаба, поскольку очень важно соблюдать отступы и не использовать в коде лишние пробелы, табуляции и т.д. Скопировав в текущем виде код из официальной документации с помощью выделения и Ctrl+C/Ctrl+V, он может не сработать.
Поскольку мы будем выгружать несколько показателей, то нам потребуется несколько иной код. Найти его можно как из официальной документации Google, так и в репозитории GitHub по названию программы run_report.py.
Открыв проект на GitHub, прокрутите страницу вниз, пока не дойдете до строки # [START analyticsdata_quickstart]. Именно с этого момента и до конца вы должны скопировать приведенный код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# [START analyticsdata_run_report] from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import ( DateRange, Dimension, Metric, MetricType, RunReportRequest, ) def run_sample(): """Runs the sample.""" # TODO(developer): Replace this variable with your Google Analytics 4 # property ID before running the sample. property_id = "YOUR-GA4-PROPERTY-ID" run_report(property_id) def run_report(property_id="YOUR-GA4-PROPERTY-ID"): """Runs a report of active users grouped by country.""" client = BetaAnalyticsDataClient() request = RunReportRequest( property=f"properties/{property_id}", dimensions=[Dimension(name="country")], metrics=[Metric(name="activeUsers")], date_ranges=[DateRange(start_date="2020-09-01", end_date="2020-09-15")], ) response = client.run_report(request) print_run_report_response(response) def print_run_report_response(response): """Prints results of a runReport call.""" # [START analyticsdata_print_run_report_response_header] print(f"{response.row_count} rows received") for dimensionHeader in response.dimension_headers: print(f"Dimension header name: {dimensionHeader.name}") for metricHeader in response.metric_headers: metric_type = MetricType(metricHeader.type_).name print(f"Metric header name: {metricHeader.name} ({metric_type})") # [END analyticsdata_print_run_report_response_header] # [START analyticsdata_print_run_report_response_rows] print("Report result:") for rowIdx, row in enumerate(response.rows): print(f"\nRow {rowIdx}") for i, dimension_value in enumerate(row.dimension_values): dimension_name = response.dimension_headers[i].name print(f"{dimension_name}: {dimension_value.value}") for i, metric_value in enumerate(row.metric_values): metric_name = response.metric_headers[i].name print(f"{metric_name}: {metric_value.value}") # [END analyticsdata_print_run_report_response_rows] # [END analyticsdata_run_report] if __name__ == "__main__": run_sample() |
Вставьте этот код в новую ячейку своего проекта Colab, но не запускайте его:
Поскольку вы скопировали пример кода из документации, то в нем нужно изменить Идентификатор ресурса (GA4-PROPERTY-ID), а также задать нужные диапазоны дат, параметры и показатели.
Чтобы найти свой идентификатор ресурса, в интерфейсе GA4 перейдите в раздел Администратор – Настройки ресурса - Информация о ресурсе. В правом верхнем углу скопируйте значение идентификатора ресурса:
Его вы так же можете найти в поиске Google Analytics 4 по аккаунтам и ресурсам. Идентификатор ресурса будет отображаться под его названием:
Вставьте его в скопированном коде в поле property_id в двух местах:
В самом запросе поменяйте значения start_date (начальная дата) и end_date (конечная дата), за которые хотите выгрузить статистику по городам и активным пользователям. Например, за последние 30 дней:
- start_date="30daysAgo"
- end_date="yesterday"
Таким образом, мы с вами подготовили универсальную программу для выгрузки данных Google Analytics 4. Дальше остается только копировать вышеприведенный код и для каждого отчета изменять в запросе параметры и показатели.
Примечание: все приведенные ниже запросы будут относиться к стандартным отчетам, полученным с помощью Data API и метода runReport.
Выгрузка данных по отчетам
Поскольку мы с вами использовали клиентскую библиотеку на Python, размещенную в официальной документации, то и свои запросы к стандартным отчетам Google Analytics 4 будем составлять, ориентируясь на примеры из справки Google.
Для формирования запросов нам понадобится не только сам код программы, но и понимание того, какие параметры и показатели используются в каждом отчете и как они правильно пишутся в API. А для этого я рекомендую использовать несколько утилит:
В них подробны описана каждая метрика, включая возможность использования и имя API (API name). Например, параметр Источник/канал сеанса (Session source / medium) в API имеет имя sessionSourceMedium:
Точно таким же способом вы можете узнать дополнительную информацию по каждому параметру и показателю Google Analytics 4.
Выгружать статистику по каждому отчету я буду за последние 30 дней. Поэтому если вы желаете изменить свой диапазон дат, поставив другие значения, не забудьте скорректировать даты в запросах. А сами отчеты такие:
- Источники трафика (User acquisition)
- Привлечение трафика (Traffic acquisition)
- События (Events)
- Конверсии (Conversions)
- Страницы и экраны (Pages and screens)
- Целевая страница (Landing Page)
- Совершённые покупки (Ecommerce purchases)
- Демографические данные (Demographic details)
- Технические данные (Tech details)
Приступим к выгрузке!
1. Источники трафика (User acquisition)
Отчет Источники трафика (User acquisition) позволяет понять, как новые пользователи находят ваш сайт или приложение в первый раз. Он отличается от отчета Привлечение трафика (Traffic acquisition) тем, что содержит информацию об источнике, канале, кампании первого взаимодействии пользователя (когда было зарегистрировано событие first_visit и ga_session_number = 1), а не о его повторных заходах, сеансах и возвратах.
Именно поэтому в нем присутствуют параметры, в которых содержится слово первый:
- Группа каналов по умолчанию, связанная с первым взаимодействием пользователя (название в API - firstUserDefaultChannelGroup)
- Первый канал пользователя (название в API - firstUserMedium)
- Первый источник пользователя (название в API - firstUserSource)
- Первый источник/канал пользователя (название в API - firstUserSourceMedium)
- Первая исходная платформа пользователя (название в API - firstUserSourcePlatform)
- Первая кампания пользователя (название в API - firstUserCampaignName)
- Тип рекламной сети Google Рекламы для первого пользователя (название в API - firstUserGoogleAdsAdNetworkType)
- Название группы объявлений Google Рекламы для первого пользователя (название в API - firstUserGoogleAdsAdGroupName)
Показатели в отчете:
- Новые пользователи (название в API - newUsers)
- Сеансы с взаимодействием (название в API - engagedSessions)
- Доля взаимодействия (название в API - engagementRate)
- Сеансов с взаимодействием на пользователя (такой показатель в данный момент в API недоступен)
- Среднее время взаимодействия (такой показатель в данный момент в API недоступен)
- Количество событий (название в API - eventCount)
- Конверсии (название в API - conversions)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
Примечание: подробнее об отчетах категории Источники трафика читайте в этом материале.
Используя названия всех метрик в API, вы можете скорректировать свою программу таким образом, чтобы она была максимально похожа по набору параметров и показателей на стандартный отчет Google Analytics 4. Но поскольку в запросе используется несколько показателей, то код программы необходимо изменить. Для этого измените в шаблоне строку:
1 |
metrics=[Metric(name="activeUsers")] |
на:
1 |
metrics=[Metric(name="newUsers"), Metric(name="engagedSessions"), Metric(name="engagementRate"), Metric(name="eventCount"), Metric(name="conversions"), Metric(name="totalRevenue")] |
То есть вам нужно перечислить все показатели отчета через запятую в таком формате.
А в качестве параметра задайте firstUserDefaultChannelGroup (Группа каналов по умолчанию, связанная с первым взаимодействием пользователя) или любой другой из этого отчета, важный для вас:
После этого вы можете запустить код в данной ячейке. Программа будет выполнена, и в результате вы должны увидеть что-то подобное:
Сравните выгруженную статистику по API с интерфейсными данными вашего ресурса Google Analytics 4. Она должна сходиться, поскольку и Data API, и стандартные отчеты используют агрегированную статистику. Например, мои данные по органическому поиску (Organic Search) такие:
- Новые пользователя (newUsers) - 13804
- Сеансы с взаимодействием (engagedSessions) - 16813
- Доля взаимодействия (engagementRate) - 0.6099 или 60,99%
- Количество событий (eventCount) - 175577
- Конверсии (conversions) - 273
- Общий доход (totalRevenue) - 397099.99
Они совпадают с интерфейсными значениями:
И такое сопоставление можно провести по всем остальным каналам в таблице, связанным с первым взаимодействием пользователя. Данные должны сойтись.
Но, как вы понимаете, результат, который мы получили после выполнения запроса, не совсем читабельный. Аналитики данных очень часто работают с датафреймами (dataframe), используя библиотеку pandas и преобразования в Pandas DataFrame.
Pandas - это библиотека Python для обработки и анализа структурированных данных, ее название происходит от «panel data» («панельные данные»). Панельными данными называют информацию, полученную в результате исследований и структурированную в виде таблиц. Для работы с такими массивами данных и создан Pandas.
Pandas DataFrame - это двумерный массив, похожий на таблицу/лист. В нем можно проводить такие же манипуляции с данными: объединять в группы, сортировать по определенному признаку, производить вычисления. Как любая таблица, датафрейм состоит из столбцов и строк.
Для этого создайте новую ячейку и запустите импорт pandas с помощью команды:
1 |
import pandas as pd |
Теперь наш вышеприведенный код претерпит изменений, поскольку мы хотим получить результат в виде датафрейма. Для этого скопируйте нижеприведенный код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# [START analyticsdata_run_report] from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import ( DateRange, Dimension, Metric, MetricType, RunReportRequest, ) def run_sample(): """Runs the sample.""" # TODO(developer): Replace this variable with your Google Analytics 4 # property ID before running the sample. property_id = "YOUR-GA4-PROPERTY-ID" run_report(property_id) def run_report(property_id="YOUR-GA4-PROPERTY-ID"): client = BetaAnalyticsDataClient() request = RunReportRequest( property=f"properties/{property_id}", dimensions=[Dimension(name="firstUserDefaultChannelGroup")], metrics=[Metric(name="newUsers"), Metric(name="engagedSessions"), Metric(name="engagementRate"), Metric(name="eventCount"), Metric(name="conversions"), Metric(name="totalRevenue")], date_ranges=[DateRange(start_date="2023-11-02", end_date="2023-12-01")], ) response = client.run_report(request) data = [] for row in response.rows: dimension_values = [value.value for value in row.dimension_values] metric_values = [value.value for value in row.metric_values] data.append(dimension_values + metric_values) columns = [dimension.name for dimension in response.dimension_headers] + [metric.name for metric in response.metric_headers] return pd.DataFrame(data, columns=columns) df = run_report(property_id="YOUR-GA4-PROPERTY-ID") |
, где в поле YOUR-GA4-PROPERTY-ID вам необходимо добавить свой собственный идентификатор ресурса (см. выше).
Этот код имеет некоторые отличия по сравнению с тем, который мы использовали ранее. А именно здесь:
- удалена строка print_run_report_response(response)
- удалена функция def print_run_report_response(response). Вместо нее используется другой код (начиная с data = [], преобразующий результат выполнения программы в датафрейм)
- в конце переменной df присваивается значение функции run_report()
Чтобы увидеть итоговый результат в преобразованный датафрейм, создайте новую ячейку, введите в нее df и запустите:
Такое отображение статистики уже гораздо ближе к интерфейсному варианту Google Analytics 4 и понятно любому человеку. Мы можем сохранить таблицу, воспользовавшись функцией to_excel() (для .xlxs) или to_csv() (для .csv) в Pandas, чтобы потом открыть эти данные локально на компьютере в Microsoft Excel.
Делается это с помощью простой команды в отдельной ячейке:
1 |
df.to_csv("user-acquisition.csv", index=False) |
, где user-acquisition - название файла в формате .csv, которое вы можете задать произвольно.
Эта команда сохраняет полученный датафрейм с данными отчета Google Analytics 4 по источникам трафика в таблицу с названием user-acquisition в формате .csv. Но по умолчанию он сохраняется не на вашем компьютере, а в проекте Colab. Чтобы найти итоговой файл, в левом меню навигации нажмите на иконку с папкой. Там вы должны увидеть свой сохраненный файл:
Наведите на него курсор мыши, а затем нажмите на иконку с тремя точками и выберите Скачать:
Файл со статистикой будет сохранен на вашем компьютере. Открыв его в обычном Microsoft Excel, вы увидите все данные в первом столбце:
Выполнив стандартную функцию Текст по столбцам с разделителем запятая, вы получите удобочитаемую статистику в виде набора выгруженных столбцов (=полей), над которым можно будет проводить вычисления показателя отказов, глубины просмотра и времени на сайте:
Далее вы можете выполнять с данными нужные преобразования (изменять формат, рассчитывать значения на основе существующих метрик, скорректировать число десятичных знаков и т.д.).
А если вы захотите использовать другой параметр, просто замените firstUserDefaultChannelGroup в своем запросе.
2. Привлечение трафика (Traffic acquisition)
Отчет Привлечение трафика (Traffic acquisition) позволяет понять, откуда приходят посетители вашего сайта и приложения, в частности, новые и вернувшиеся пользователи. Он отличается от предыдущего отчета Источники трафика (User acquisition) тем, что содержит информацию об источнике, канале, кампании не первого взаимодействии пользователя, а каждого сеанса.
Именно поэтому в нем присутствуют параметры, в которых содержится слово сеанс:
- Группа каналов по умолчанию, связанная с сеансом (название в API - sessionDefaultChannelGroup)
- Источник/канал сеанса (название в API - sessionSourceMedium)
- Канал сеанса (название в API - sessionMedium)
- Источник сеанса (название в API - sessionSource)
- Исходная платформа сеанса (название в API - sessionSourcePlatform)
- Кампания, связанная с сеансом (название в API - sessionCampaignName)
Показатели в отчете:
- Пользователи (название в API - activeUsers)
- Сеансы (название в API - sessions)
- Сеансы с взаимодействием (название в API - engagedSessions)
- Среднее время взаимодействия на сеанс (такой показатель в данный момент в API недоступен)
- Среднее время взаимодействия (такой показатель в данный момент в API недоступен)
- Сеансов с взаимодействием на пользователя (такой показатель в данный момент в API недоступен)
- Количество событий за сеанс (название в API - eventsPerSession)
- Доля взаимодействия (название в API - engagementRate)
- Количество событий (название в API - eventCount)
- Конверсии (название в API - conversions)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
Примечание: подробнее об отчетах категории Источники трафика читайте в этом материале.
Поскольку у нас уже есть сформированный запрос для первого отчета, то вы можете просто скопировать ячейку в программе и изменить метрики на новые. Для этого в правом верхнем углу напротив ячейки с кодом нажмите на иконку с тремя точками и выберите пункт Скопировать ячейку:
С помощью сочетания клавиш Ctrl+V вставьте скопированную ячейку в конец вашей программы.
Не забудьте в dimensions и metrics заменить параметры и показателя на те, которые присутствуют в отчете Привлечение трафика. При желании вы можете изменить название переменной df на df2, поскольку это наш второй отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, а df2 - для Привлечение трафика.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df2 и запустите:
Сохраните полученную статистику с интерфейсными данными вашего счетчика Google Analytics 4. Если все данные совпадают, то вы можете сохранить таблицу, воспользовавшись функцией to_excel() (для .xlxs) или to_csv() (для .csv) в Pandas, чтобы потом открыть эти данные локально на компьютере в Microsoft Excel.
3. События (Evemts)
Отчет по событиям в GA4 содержит данные о том, сколько раз активировалось каждое событие и сколько пользователей активировали каждое событие на вашем сайте или в приложении. Анализируя эти данные, можно повышать удобство для пользователей и количество конверсий.
Параметры в отчете:
- Название события (название в API - eventName)
Показатели в отчете:
- Количество событий (название в API - eventCount)
- Всего пользователей (название в API - totalUsers)
- Событий на пользователя (название в API - eventCountPerUser)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
Скопировав вышеприведенный код для этого отчета, так же не забудьте в dimensions и metrics заменить параметры и показателя на те, которые присутствуют в отчете События. При желании вы можете изменить название переменной d2 на df3, поскольку это наш третий отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, df2 - для Привлечение трафика, а df3 - для отчета событиям Google Analytics 4.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df3 и запустите:
Сохраните полученную статистику с интерфейсными данными вашего счетчика Google Analytics 4. Если все данные совпадают, то вы можете сохранить таблицу, воспользовавшись функцией to_excel() (для .xlxs) или to_csv() (для .csv) в Pandas, чтобы потом открыть эти данные локально на компьютере в Microsoft Excel.
4. Конверсии (Conversions)
Отчет по конверсиям в GA4 содержит данные о том, сколько раз активировалось каждое событие-конверсия, которое вы отметили в интерфейсе именно как конверсию.
Параметры в отчете:
- Название события (название в API - eventName)
Показатели в отчете:
- Конверсии (название в API - conversions)
- Всего пользователей (название в API - totalUsers)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
Этот отчет очень похож на предыдущий по событиям, поэтому скопировав ячейку с кодом, просто измените несколько метрик. При желании вы можете изменить название переменной d3 на df4, поскольку это наш третий отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, df2 - для Привлечение трафика, df3 - для отчета событиям Google Analytics 4, а df4 - по конверсиям.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df4 и запустите:
Сохраните полученную статистику с интерфейсными данными вашего счетчика Google Analytics 4. Если все данные совпадают, то вы можете сохранить таблицу, воспользовавшись функцией to_excel() (для .xlxs) или to_csv() (для .csv) в Pandas, чтобы потом открыть эти данные локально на компьютере в Microsoft Excel.
5. Страницы и экраны (Pages and screens)
Страницы и экраны - это отчет с данными о посещаемости страниц сайта и экранов приложения. С его помощью вы можете понять, где на ваших ресурсах пользователи бывают чаще всего. Под термином "страницы" подразумеваются отдельные страницы сайта, а под термином "экраны" – отдельные экраны мобильного приложения.
Параметры в отчете:
- Заголовок страницы и класс экрана (название в API - unifiedScreenClass)
- Путь к странице и класс экрана (название в API - unifiedPagePathScreen)
- Заголовок страницы и название экрана (название в API - unifiedScreenName)
- Группа контента (название в API - contentGroup)
Показатели в отчете:
- Просмотры (название в API - screenPageViews)
- Пользователи (название в API - activeUsers)
- Просмотров на пользователя (название в API - screenPageViewsPerUser)
- Среднее время взаимодействия (такой показатель в данный момент в API недоступен)
- Количество событий (название в API - eventCount)
- Конверсии (название в API - conversions)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
В новой ячейке - скопированный код и новые значения параметров и показателей. При желании вы можете изменить название переменной d4 на df5, поскольку это наш четвертый отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, df2 - для Привлечение трафика, df3 - для отчета событиям Google Analytics 4, df4 - по конверсиям, а df5 - для Страницы и экраны.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df5 и запустите:
6. Целевая страница (Landing Page)
Отчет о целевых страницах поможет вам узнать, как посетители вашего сайта взаимодействуют с контентом. Вы увидите, с какой страницы начинает каждый пользователь и сколько пользователей в первую очередь попадает на каждую страницу. По сути, это страница входа, с которой пользователь начинает свою сессию на вашем сайте.
Параметры в отчете:
- Целевая страница (название в API - landingPage)
Показатели в отчете:
- Сеансы (название в API - sessions)
- Пользователи (название в API - activeUsers)
- Новые пользователи (название в API - newUsers)
- Среднее время взаимодействия на сеанс (такой показатель в данный момент в API недоступен)
- Конверсии (название в API - conversions)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
Примечание: в отчете для параметр Целевая страница может отображаться значение (not set). Это происходит тогда, когда у сеанса нет события page_view (просмотра страницы).
Скопируйте код от предыдущего запроса в новую ячейку и измените параметры и показатели в ней. При желании вы можете изменить название переменной d5 на df6, поскольку это уже пятый отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, df2 - для Привлечение трафика, df3 - для отчета событиям Google Analytics 4, df4 - по конверсиям, df5 - для Страницы и экраны, а df6 - для Целевая страница.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df6 и запустите:
7. Совершённые покупки (Ecommerce purchases)
Отчет Совершённые покупки (Ecommerce purchases) – это стандартный отчет, содержащий информацию о товарах или услугах, которые вы продаете в интернет-магазине. Он будет доступен после настройки электронной торговли.
Параметры в отчете:
- Название товара (название в API - itemName)
- Идентификатор товара (название в API - itemId)
- Категория товара (название в API - itemCategory)
- Категория товара 2 (название в API - itemCategory2)
- Категория товара 3 (название в API - itemCategory3)
- Категория товара 4 (название в API - itemCategory4)
- Категория товара 5 (название в API - itemCategory5)
- Разновидность товара(название в API - itemVariant)
- Бренд товара (название в API - itemBrand)
- Аффилированность товара (название в API - itemAffiliation)
Показатели в отчете:
- Просмотренные товары (название в API - itemsViewed)
- Товары, добавленные в корзину (название в API - itemsAddedToCart)
- Купленные товары (название в API - itemsPurchased)
- Доход от товара (название в API - itemRevenue)
Сам отчет выглядит следующим образом:
Скопируйте код от предыдущего запроса в новую ячейку и измените параметры и показатели в ней. При желании вы можете изменить название переменной d6 на df7, поскольку это уже пятый отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, df2 - для Привлечение трафика, df3 - для отчета событиям Google Analytics 4, df4 - по конверсиям, df5 - для Страницы и экраны, df6 - для Целевая страница, а df7 - для отчета по совершённым покупкам.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df7 и запустите:
8. Демографические данные (Demographic details)
Отчет Демографические данные (Demographic details) предоставляет основные данные о пользователях сайта или приложения: используемый язык, интересы, местоположение, возраст и пол. В этот отчет включаются данные только о тех пользователях, которые предоставили на это согласие. Также для защиты конфиденциальности могут применяться пороговые объемы данных. Это означает, что сегменты с очень низким числом участников отбрасываются.
Параметры в отчете:
- Страна (название в API - country)
- Регион (название в API - region)
- Город (название в API - city)
- Язык (название в API - language)
- Возраст (название в API - userAgeBracket)
- Пол (название в API - userGender)
- Интересы (название в API - brandingInterest)
Показатели в отчете:
- Пользователи (название в API - activeUsers)
- Новые пользователи (название в API - newUsers)
- Сеансы с взаимодействием (название в API - engagedSessions)
- Доля взаимодействия (название в API - engagementRate)
- Сеансов с взаимодействием на пользователя (такой показатель в данный момент в API недоступен)
- Среднее время взаимодействия (такой показатель в данный момент в API недоступен)
- Количество событий (название в API - eventCount)
- Конверсии (название в API - conversions)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
Скопируйте код от предыдущего запроса в новую ячейку и измените параметры и показатели в ней. При желании вы можете изменить название переменной d7 на df8, поскольку это уже пятый отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, df2 - для Привлечение трафика, df3 - для отчета событиям Google Analytics 4, df4 - по конверсиям, df5 - для Страницы и экраны, df6 - для Целевая страница, df7 - для отчета по совершённым покупкам, а df8 - для демографических данных.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df8 и запустите:
9. Технические данные (Tech details)
Отчет Технические данные (Tech details) позволяет узнать, какими технологиями пользуются посетители вашего сайта и пользователи приложения (например, каковы разрешения их экранов, версии браузеров, приложений и операционных систем).
Параметры в отчете:
- Браузер (название в API - browser)
- Тип устройства (название в API - deviceCategory)
- Модель устройства (название в API - deviceModel)
- Разрешение экрана (название в API - screenResolution)
- Версия приложения (название в API - appVersion)
- Платформа (название в API - platform)
- Версия ОС (название в API - operatingSystemVersion)
- Платформа/тип устройства (название в API - platformDeviceCategory)
- Операционная система (название в API - operatingSystem)
- ОС и ее версия (название в API - operatingSystemWithVersion)
Показатели в отчете:
- Пользователи (название в API - activeUsers)
- Новые пользователи (название в API - newUsers)
- Сеансы с взаимодействием (название в API - engagedSessions)
- Доля взаимодействия (название в API - engagementRate)
- Сеансов с взаимодействием на пользователя (такой показатель в данный момент в API недоступен)
- Среднее время взаимодействия (такой показатель в данный момент в API недоступен)
- Количество событий (название в API - eventCount)
- Конверсии (название в API - conversions)
- Общий доход (название в API - totalRevenue)
Сам отчет выглядит следующим образом:
Скопируйте код от предыдущего запроса в новую ячейку и измените параметры и показатели в ней. При желании вы можете изменить название переменной d8 на df9, поскольку это уже пятый отчет в текущей программе. Если вы оставите предыдущее значение, то данные в датафрейме перезапишутся на новые. Если переименуется, то df будет возвращать результат для отчета Источники трафика, df2 - для Привлечение трафика, df3 - для отчета событиям Google Analytics 4, df4 - по конверсиям, df5 - для Страницы и экраны, df6 - для Целевая страница, df7 - для отчета по совершённым покупкам, df8 - для демографических данных, а df9 - для технических данных пользователей.
После всех изменений так же запустите ячейку. Код должен сработать без ошибок. А для получения итогового результата в новом датафрейме просто создайте новую ячейку, введите в нее df9 и запустите:
Исходник программы
Как и обещал, в конце руководства прикладываю ссылку на проект в Colab. Эту программу вы можете взять за основу при написании своих собственных запросов к ресурсу Google Analytics 4.
ПОСМОТРЕТЬ ПРОГРАММУ