1. Введение
Последнее обновление: 8 июня 2021 г.
Что ты построишь
В этой лаборатории вы узнаете, как отправлять внешние события в GA4 с помощью протокола измерений .
В этой лаборатории кода предполагается, что у вас уже есть приложение с реализованным Google Analytics для Firebase. Если вы хотите узнать, как интегрироваться с Google Analytics для Firebase, сначала обратитесь к этой лаборатории кода . Если вы хотите узнать, как создать приложение с помощью Firebase, обратитесь к дружественному чату Firebase Android Codelab-Build .
Что вы узнаете
- Как сделать первый звонок в MP
- Понять параметры, необходимые для вызова
- Отправьте и подтвердите свой тестовый звонок
- Создайте пример сценария на Python для совершения вызова.
Что вам понадобится
- Ваше приложение для Android или iOS
- Любая IDE для внесения изменений
- Аккаунт GA4
- Необязательно — среда разработки Python (или Colab ).
2. Соберите обязательные поля
Создать секрет API в GA4
Перейдите к GA4 и создайте новый секрет API, перейдя в «Администратор» > «Потоки данных» > выберите поток > «Протокол измерения» > «Создать».
Вы можете указать любой псевдоним, и будет отображено секретное значение, которое вы сможете использовать при звонке.
Если вы не уверены, как получить доступ к GA4, вы можете посетить свой проект Firebase, проверить «Настройки проекта» > «Интеграции» > «Google Analytics» и нажать «Управление». Соединение с Google Analytics должно быть видимым, и вы также можете перейти непосредственно оттуда.
Соберите app_instance_id
Вы можете использовать любой из приведенных ниже методов для сбора вашего app_instance_id.
- Использование экспорта BigQuery
- Извлечение исходного кода вашего приложения в исходном коде
Оба из них подробно объяснены ниже.
- Использование экспорта BigQuery
Если у вас включен экспорт BigQuery , вы можете выполнить следующие шаги.
- Войдите в Firebase
- Перейдите в «Настройки проекта» > «Интеграции» > BigQuery.
- Нажмите «Просмотреть в BigQuery» рядом с набором данных.
Примечание. Набор данных будет доступен только после включения переключателя в течение примерно 24–48 часов.
- В BigQuery вы можете проверить user_pseudo_id в таблице. Это app_instance_id, который вы можете использовать в своем вызове.
- Извлечение исходного кода вашего приложения в исходном коде
Если ваше приложение создано с использованием Java, вы можете использовать что-то вроде этого, чтобы получить app_instance_id
FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
String user_pseudo_id = task.getResult();
}
}
});
Для Kotlin вы можете попробовать следующее
Thread {
Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
/*
Store the value to your server or do something with the retrieved id
*/
}
}.start()
Если у вас есть приложение для iOS, вы можете использовать в Swift следующее:
let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/
Ниже приведены дополнительные ссылки в зависимости от вашей инфраструктуры.
3. Построение звонка
Вы можете создать образец звонка с помощью Event Builder в GA4. (Для этого вам необходимо войти в систему и включить файлы cookie). Убедитесь, что переключатель установлен на «firebase».
Вам необходимо заполнить следующие поля
- api_secret — уже создан ранее в GA4.
- firebase_app_id — чтобы получить это, вы можете перейти в «Администратор» > «Потоки данных» > выбрать свой поток . Оно должно отображаться, как показано ниже.
- app_instance_id — вы уже получили это значение.
- user_id не является обязательным. Вы можете пока оставить это поле пустым
- Категория — измените значение на «Пользовательское» в раскрывающемся списке и введите любое имя события по вашему выбору (не используйте автоматически собираемые события ). Здесь мы используем «test_from_codelab»
При желании вы также можете указать параметры события и/или свойства пользователя, нажав кнопки ниже.
После того, как вы все заполнили, вы должны увидеть что-то вроде этого с кнопкой «Проверить событие».
Как только вы достигнете этого, нажмите «ПОДТВЕРДИТЬ СОБЫТИЕ», кнопка, выделенная оранжевым цветом. Должно отобразиться сообщение ниже, указывающее, что событие действительно, и вы увидите кнопку «ОТПРАВИТЬ В GA». На этом этапе, если событие окажется недействительным, инструмент сообщит вам точное поле, в котором возникла проблема, и вы сможете исправить это и повторить попытку.
Теперь вы можете нажать на кнопку, и она должна отправить тестовое событие в GA4.
4. Проверка событий в GA4
Отправив событие, вы можете перейти в свою учетную запись GA4 и проверить его в режиме реального времени. Вы должны увидеть, как событие происходит
Распространение событий из представления в реальном времени на вкладку отчетов о реальных событиях может занять около 24 часов, поэтому не беспокойтесь, если вы не увидите это в обычных отчетах о событиях немедленно!
Если вы столкнулись с проблемами или несоответствиями, возможно, будет полезно ознакомиться с известными ограничениями протокола измерений здесь.
5. Создание скрипта Python
Теперь, когда вы это протестировали, вы можете изучить вызов API и полезную нагрузку события, чтобы создать аналогичную архитектуру на Python (или на любом другом языке по вашему выбору), которая сможет выполнить этот вызов. Затем вы можете запланировать это с желаемой частотой и ввести в эксплуатацию. Для этой части вы можете использовать любую IDE по вашему выбору, поддерживающую Python, или просто использовать блокнот Google Colab , который не требует установки на ваше устройство.
Возвращаясь к Конструктору событий GA4, вы увидите, что конечная точка показана ниже.
POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX
HTTP/1.1
Host: www.google-analytics.com
Полезная нагрузка события была такой, как показано ниже.
{
"app_instance_id": XXXX,
"non_personalized_ads": false,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
Вы можете перевести это на Python, используя что-то вроде этого
import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
"app_instance_id": XXXX,
"non_personalized_ads": False,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)
Как только вы выполните это с правильными значениями, вы также должны увидеть, как событие отражается в реальном времени в GA4.
6. Поздравления
Поздравляем, вы успешно использовали протокол измерений в GA4. Теперь вы можете создавать мощные архитектуры решений для отправки более значимых данных в Google Analytics и улучшения маркетинговой и бизнес-аналитики. Чтобы максимально эффективно использовать это, мы также предлагаем подключиться к Google Ads и импортировать эти события как конверсии. Вы можете обратиться к шагу 6 в этой кодовой лаборатории для получения подробных инструкций по этому вопросу. В целях отслеживания конверсий Google Реклама будет показывать только данные, связанные с IDFA или идентификаторами устройств, полученные из Firebase SDK за последние 60 дней. Имейте в виду, что это все еще альфа-версия API, и обязательно ознакомьтесь с перечисленными здесь ограничениями, которые следует устранить перед полным запуском.
Вы узнали
- Как собрать правильные переменные для выполнения вызовов MP
- Как отправлять и проверять тестовые события
- Как создать скрипт для отправки MP-звонков