[GA4] Схема BigQuery Export

У цій статті описуються формат і схема даних ресурсу Google Analytics 4 та Google Analytics для Firebase, які експортуються в BigQuery.

Набори даних

У проект BigQuery для кожного зв’язаного ресурсу Google Analytics 4 і проекту Firebase додається єдиний набір даних під назвою analytics_<property_id>. Property_id позначає ідентифікатор ресурсу Analytics, який указано в налаштуваннях ресурсу Google Analytics 4 і в налаштуваннях аналітики додатків у Firebase. Дані з кожного ресурсу Google Analytics 4 і кожного додатка, для яких увімкнено експорт BigQuery, експортуватимуться в цей єдиний набір даних.

Таблиці

Якщо ви ввімкнете щоденний експорт даних, для кожного набору даних щодня створюватиметься таблиця events_РРРРММДД.

Для потокового експорту створюється таблиця events_intraday_РРРРММДД. Вона заповнюється автоматично протягом дня під час реєстрації нових подій. Ця таблиця видаляється наприкінці кожного дня після заповнення таблиці events_РРРРММДД.

Дані з деяких пристроїв надсилаються в Analytics не в той самий день, коли активуються події. Через цю затримку дані про події в щоденних таблицях Analytics (events_РРРРММДД) оновлюються протягом трьох днів після таких подій. Події отримують правильні позначки часу незалежно від того, коли було відправлено дані. Якщо дані надходять пізніше, ніж через три дні, події не реєструються.

Якщо ви використовуєте "пісочницю" BigQuery, імпорт подій протягом дня не відбувається, а також застосовуються додаткові обмеження.

Якщо ви хочете імпортувати добові дані, перейдіть із "пісочниці" на повноцінну версію.

Стовпці

Кожен стовпець у таблиці events_РРРРММДД представляє параметр події. Зверніть увагу, що деякі параметри включені в ЗАПИСИ, а деякі ЗАПИСИ, зокрема items і event_params, повторюються. Стовпці таблиці описано нижче.

event
Ці поля містять інформацію, унікальну для події.
Назва поля Тип даних Опис
batch_event_index INTEGER Число, яке вказує на послідовність кожної події в групі відповідно до порядку їх появи на пристрої.
batch_ordering_id INTEGER Число, яке монотонно зростає щоразу, коли з певної сторінки надсилається запит мережі.
batch_page_id INTEGER Послідовне число, яке призначається сторінці й збільшується для кожної наступної сторінки під час взаємодії.
event_date STRING Дата реєстрації події в журналі (формат РРРРММДД в зареєстрованому часовому поясі вашого додатка).
event_timestamp INTEGER Час у мікросекундах (UTC), коли подію було зареєстровано в журналі клієнта.
event_previous_timestamp INTEGER Час у мікросекундах (UTC), коли подію було раніше зареєстровано в журналі клієнта.
event_name STRING Назва події.
event_value_in_usd FLOAT Значення параметра value події, виражене у валютному еквіваленті (у доларах США).
event_bundle_sequence_id INTEGER Послідовний ідентифікатор пакета, у якому завантажено ці події.
event_server_timestamp_offset INTEGER Зміщення позначки часу отримання й завантаження в мікросекундах.

ЗАПИС event_params

Цей ЗАПИС може зберігати параметри подій на рівні кампанії і за контекстом, а також параметри подій, визначені користувачем. ЗАПИС event_params повторюється для кожного ключа, пов’язаного з подією.

Набір параметрів, що зберігаються в ЗАПИСІ event_params, унікальний для кожного застосування. Щоб переглянути повний список параметрів події для застосування, можна надіслати запит на список параметрів події.

Назва поля Тип даних Опис
event_params.key STRING Назва параметра події.
event_params.value RECORD Запис зі значенням параметра події.
event_params.value.string_value STRING Якщо параметр події представлено у вигляді рядка, наприклад URL-адреси чи назви кампанії, він заповнюється в цьому полі.
event_params.value.int_value INTEGER Якщо параметр події представлено цілим числом, він заповнюється в цьому полі.
event_params.value.double_value FLOAT Якщо параметр події представлено подвійним значенням, він заповнюється в цьому полі.
event_params.value.float_value FLOAT Якщо параметр події представлено числом із рухомою комою, він заповнюється в цьому полі (зараз воно не використовується).

ЗАПИС item_params

Цей ЗАПИС може зберігати параметри об’єкта, а також будь-які користувацькі параметри об’єктів. Набір параметрів, що зберігаються в ЗАПИСІ item_params, унікальний для кожного застосування.

Назва поля Тип даних Опис
item_params.key STRING Назва параметра об’єкта.
item_params.value RECORD Запис зі значенням параметра об’єкта.
item_params.value.string_value STRING Якщо параметр об’єкта представлено у вигляді рядка, він заповнюється в цьому полі.
item_params.value.int_value INTEGER Якщо параметр об’єкта представлено цілим числом, він заповнюється в цьому полі.
item_params.value.double_value FLOAT Якщо параметр об’єкта представлено числом подвійної точності, він заповнюється в цьому полі.
item_params.value.float_value FLOAT Якщо параметр об’єкта представлено числом із рухомою комою, він заповнюється в цьому полі.
user
Ці поля містять інформацію, унікальну для користувача, пов’язаного з подією.
Назва поля Тип даних Опис
is_active_user ЛОГІЧНЕ ЗНАЧЕННЯ

Показник того, чи був користувач активним (True) або неактивним (False) у будь-який час протягом календарного дня.

Включено лише в щоденні таблиці (events_YYYYMMDD).

user_id STRING Унікальний ідентифікатор, призначений користувачу.
user_pseudo_id STRING Псевдонімізований ідентифікатор (наприклад, ідентифікатор екземпляра додатка) користувача.
user_first_touch_timestamp INTEGER Час у мікросекундах, коли користувач уперше відкрив додаток чи відвідав сайт.

Поля privacy_info

Ці поля містять інформацію про статус згоди користувача, коли ввімкнено відповідний режим.
Назва поля Тип даних Опис
privacy_info.ads_storage STRING

Указує, чи для користувача ввімкнено націлювання оголошень.

Можливі значення: "Так", "Ні", "Не налаштовано"

privacy_info.analytics_storage STRING

Указує, чи користувачу надано право на зберігання даних Analytics.

Можливі значення: "Так", "Ні", "Не налаштовано"

privacy_info.uses_transient_token STRING

Указує, що користувач веб-сайту відмовився зберігати дані Analytics, а розробник увімкнув відстеження без файлів cookie на основі тимчасових маркерів із даних сервера.

Можливі значення: "Так", "Ні", "Не налаштовано"

ЗАПИС user_properties

Цей ЗАПИС містить усі налаштовані властивості користувача. Він повторюється для кожного ключа, зв’язаного з користувачем.
Назва поля Тип даних Опис
user_properties.key STRING Назва властивості користувача.
user_properties.value RECORD Запис зі значенням властивості користувача.
user_properties.value.string_value STRING Значення властивості користувача, виражене сегментом.
user_properties.value.int_value INTEGER Значення властивості користувача, виражене цілим числом.
user_properties.value.double_value FLOAT Значення властивості користувача, виражене числом подвійної точності.
user_properties.value.float_value FLOAT Це поле наразі не використовується.
user_properties.value.set_timestamp_micros INTEGER Час у мікросекундах, коли властивість користувача було востаннє налаштовано.

ЗАПИС user_ltv

Цей ЗАПИС містить інформацію про загальну цінність користувача й не заповнюється в проміжних таблицях за день.
Назва поля Тип даних Опис
user_ltv.revenue FLOAT Загальний дохід від користувача. Це поле не заповнюється в проміжних таблицях за день.
user_ltv.currency STRING Дані про валюту користувача за весь період відстеження. Це поле не заповнюється в проміжних таблицях за день.
device
Цей ЗАПИС містить інформацію про пристрій, з якого відбулася подія.
Назва поля Тип даних Опис
device.category STRING Категорія пристрою (мобільний телефон, планшет, настільний комп’ютер).
device.mobile_brand_name STRING Назва бренду пристрою.
device.mobile_model_name STRING Назва моделі пристрою.
device.mobile_marketing_name STRING Маркетингова назва пристрою.
device.mobile_os_hardware_model STRING Інформація про модель пристрою, отримана безпосередньо з операційної системи.
device.operating_system STRING Операційна система пристрою.
device.operating_system_version STRING Версія ОС.
device.vendor_id STRING Ідентифікатор IDFV (лише якщо не отримано ідентифікатор IDFA).
device.advertising_id STRING Рекламний ідентифікатор або IDFA.
device.language STRING Мова ОС.
device.time_zone_offset_seconds INTEGER Відхилення часу в секундах відносно середнього часу за Гринвічем (GMT).
device.is_limited_ad_tracking ЛОГІЧНЕ ЗНАЧЕННЯ

Налаштування "Обмежити відстеження оголошень" на пристрої.

В iOS 14 і новіших версіях, якщо ідентифікатор IDFA не є нульовим, повертається значення false.

device.web_info.browser STRING Веб-переглядач, у якому користувач переглядав контент.
device.web_info.browser_version STRING Версія веб-переглядача, у якому користувач переглядав контент.
device.web_info.hostname STRING Ім’я хосту, зв’язаного із зареєстрованою подією.

geo

Цей ЗАПИС містить інформацію про географічне місцеположення, де відбулася подія.
Назва поля Тип даних Опис
geo.continent STRING Континент, на якому зареєстровано події (на основі IP-адреси).
geo.sub_continent STRING Субконтинент, на якому зареєстровано події (на основі IP-адреси).
geo.country STRING Країна, у якій зареєстровано події (на основі IP-адреси).
geo.region STRING Регіон, у якому зареєстровано події (на основі IP-адреси).
geo.metro STRING Муніципальний район, у якому зареєстровано події (на основі IP-адреси).
geo.city STRING Місто, у якому зареєстровано події (на основі IP-адреси).
app_info
Цей ЗАПИС містить інформацію про додаток, у якому було ініційовано подію.
Назва поля Тип даних Опис
app_info.id STRING Назва або ідентифікатор пакета додатка.
app_info.firebase_app_id STRING Ідентифікатор додатка Firebase, зв’язаний із додатком.
app_info.install_source STRING Магазин, з якого встановлено додаток.
app_info.version STRING Параметр versionName (Android) для додатка або коротка версія пакета.
collected_traffic_source

ЗАПИС "collected_traffic_source" містить дані про джерело трафіку, отримані з події.

Назва поля Тип даних Опис
manual_campaign_id STRING Ідентифікатор кампанії (utm_id), яка налаштовується вручну, отриманий із події.
manual_campaign_name STRING Назва кампанії (utm_campaign), яка налаштовується вручну, отримана з події.
manual_source STRING Джерело кампанії (utm_source), яка налаштовується вручну, отримане з події. Також містить параметри, отримані з параметрів переходу, а не лише значення UTM.
manual_medium STRING Тим кампанії (utm_medium), яка налаштовується вручну, отриманий із події. Також містить параметри, отримані з параметрів переходу, а не лише значення UTM.
manual_term STRING Ключове слово або термін кампанії (utm_term), яка налаштовується вручну, отримані з події.
manual_content STRING Додаткові метадані кампанії (utm_content), яка налаштовується вручну, отримані з події.
manual_creative_format STRING Формат креативу кампанії (utm_creative_format), яка налаштовується вручну, отриманий із події.
manual_marketing_tactic STRING Маркетингова тактика кампанії (utm_marketing_tactic), яка налаштовується вручну, отримана з події.
manual_source_platform STRING Вихідна платформа кампанії (utm_source_platform), яка налаштовується вручну, отримана з події.
gclid STRING Ідентифікатор кліку Google, отриманий із події.
dclid STRING Ідентифікатор кліку DoubleClick для Display & Video 360 і Campaign Manager 360, отриманий із події.
srsltid STRING Ідентифікатор Google Merchant Center, отриманий із події.
session_traffic_source_last_click

Цей ЗАПИС містить дані про джерело трафіку сеансу з атрибуцією за останнім кліком – в оголошеннях Google і кампаніях, налаштованих вручну (якщо доступно).

Назва поля Тип даних Опис
session_traffic_source_last_click. manual_campaign.campaign_id STRING Ідентифікатор кампанії, налаштованої вручну, у якій було здійснено останній клік
session_traffic_source_last_click. manual_campaign.campaign_name STRING Назва кампанії, налаштованої вручну, у якій було здійснено останній клік
session_traffic_source_last_click. manual_campaign.medium STRING Тип кампанії, налаштованої вручну, у якій було здійснено останній клік (наприклад, у пошуковій рекламі, звичайному пошуку або електронною поштою)
session_traffic_source_last_click. manual_campaign.term STRING Ключове слово або пошуковий термін із кампанії, налаштованої вручну, у якій було здійснено останній клік
session_traffic_source_last_click. manual_campaign.content STRING Додаткові метадані компанії, налаштованої вручну, у якій було здійснено останній клік
session_traffic_source_last_click. manual_campaign.source_platform STRING Платформа кампанії, налаштованої вручну, у якій було здійснено останній клік (наприклад, пошукова система, соціальна мережа)
session_traffic_source_last_click. manual_campaign.source STRING Конкретне джерело на платформі кампанії, налаштованої вручну, у якій було здійснено останній клік
session_traffic_source_last_click. manual_campaign.creative_format STRING Формат креативу в кампанії, налаштованій вручну, у якій було здійснено останній клік
session_traffic_source_last_click. manual_campaign.marketing_tactic STRING Маркетингова тактика для кампанії, налаштованої вручну, у якій було здійснено останній клік
session_traffic_source_last_click. google_ads_campaign.customer_id STRING Ідентифікатор клієнта, зв’язаний з обліковим записом Google Ads
session_traffic_source_last_click. google_ads_campaign.account_name STRING Назва облікового запису Google Ads
session_traffic_source_last_click. google_ads_campaign.campaign_id STRING Ідентифікатор кампанії Google Ads
session_traffic_source_last_click. google_ads_campaign.campaign_name STRING Назва кампанії Google Ads
session_traffic_source_last_click. google_ads_campaign.ad_group_id STRING Ідентифікатор групи оголошень у кампанії Google Ads
session_traffic_source_last_click. google_ads_campaign.ad_group_name STRING Назва групи оголошень у кампанії Google Ads
traffic_source

Цей ЗАПИС містить інформацію про джерело трафіку, через яке було вперше залучено користувача, і не заповнюється в проміжних таблицях за день.

Примітка. Значення traffic_source не змінюються, якщо після встановлення користувач взаємодіє з подальшими кампаніями.

Назва поля Тип даних Опис
traffic_source.name STRING Назва маркетингової кампанії, через яку вперше залучено користувача. Це поле не заповнюється в проміжних таблицях за день.
traffic_source.medium STRING Назва засобу (пошукова реклама, звичайний пошук, електронна пошта тощо), через який уперше залучено користувача. Це поле не заповнюється в проміжних таблицях за день.
traffic_source.source STRING Назва мережі, через яку вперше залучено користувача. Це поле не заповнюється в проміжних таблицях за день.
stream і platform
Ці поля містять інформацію про потік і платформу додатка.
Назва поля Тип даних Опис
stream_id STRING Числовий ідентифікатор потоку даних, з якого надійшла подія.
platform STRING Платформа потоку даних (веб, iOS або Android), на якій відбулася подія.
ecommerce
Цей ЗАПИС містить інформацію про події електронної комерції, налаштовані на веб-сайті або в додатку.
Назва поля Тип даних Опис
ecommerce.total_item_quantity INTEGER Загальна кількість товарів у цій події, яка розраховується як сума кількості товарів.
ecommerce.purchase_revenue_in_usd FLOAT Дохід від покупок цієї події, показаний у доларах США як стандартних умовних одиницях. Заповнюється лише для події purchase.
ecommerce.purchase_revenue FLOAT Дохід від покупок цієї події, показаний у місцевій валюті як стандартній умовній одиниці. Заповнюється лише для події purchase.
ecommerce.refund_value_in_usd FLOAT Сума відшкодування в цій події, показана в доларах США як стандартних умовних одиницях. Заповнюється лише для події refund.
ecommerce.refund_value FLOAT Сума відшкодування в цій події, показана в місцевій валюті як стандартній умовній одиниці. Заповнюється лише для події refund.
ecommerce.shipping_value_in_usd FLOAT Вартість доставки в цій події, показана в доларах США як стандартних умовних одиницях.
ecommerce.shipping_value FLOAT Вартість доставки в цій події, показана в місцевій валюті як стандартній умовній одиниці.
ecommerce.tax_value_in_usd FLOAT Податок у цій події, показаний у доларах США як стандартних умовних одиницях.
ecommerce.tax_value FLOAT Податок у цій події, показаний у місцевій валюті як стандартній умовній одиниці.
ecommerce.transaction_id STRING Ідентифікатор трансакції електронної комерції.
ecommerce.unique_items INTEGER Кількість унікальних товарів у цій події на основі значень item_id, item_name і item_brand.
items
Цей ЗАПИС містить інформацію про товари, включені в подію. Він повторюється для кожного товару.
Назва поля Тип даних Опис
items.item_id STRING Ідентифікатор товару.
items.item_name STRING Назва товару.
items.item_brand STRING Бренд товару.
items.item_variant STRING Варіант товару.
items.item_category STRING Категорія товару.
items.item_category2 STRING Підкатегорія товару.
items.item_category3 STRING Підкатегорія товару.
items.item_category4 STRING Підкатегорія товару.
items.item_category5 STRING Підкатегорія товару.
items.price_in_usd FLOAT Ціна товару в доларах США як стандартних умовних одиницях.
items.price FLOAT Ціна товару в місцевій валюті.
items.quantity INTEGER Кількість одиниць товару. За умовчанням вибрано значення 1.
items.item_revenue_in_usd FLOAT Дохід від цього товару, розрахований як добуток "price_in_usd * кількість". Заповнюється лише для подій purchase у доларах США як стандартних умовних одиницях.
items.item_revenue FLOAT Дохід від цього товару, розрахований як добуток "ціна * кількість". Заповнюється лише для подій purchase у місцевій валюті як стандартній умовній одиниці.
items.item_refund_in_usd FLOAT Відшкодування за цей товар, розраховане як добуток "price_in_usd * кількість". Заповнюється лише для подій refund у доларах США як стандартних умовних одиницях.
items.item_refund FLOAT Відшкодування за цей товар, розраховане як добуток "ціна * кількість". Заповнюється лише для подій refund у місцевій валюті як стандартній умовній одиниці.
items.coupon STRING Код купона, що застосовується до цього товару.
items.affiliation STRING Компанія-партнер із постачання товару чи місцеположення звичайного магазину.
items.location_id STRING Місцеположення, зв’язане з товаром.
items.item_list_id STRING Ідентифікатор списку, у якому товар представлено користувачу.
items.item_list_name STRING Назва списку, у якому товар представлено користувачу.
Items.item_list_index STRING Позиція товару в списку.
items.promotion_id STRING Ідентифікатор рекламної кампанії товару.
items.promotion_name STRING Назва рекламної кампанії товару.
items.creative_name STRING Назва файлу креатива, використаного в рекламному місці.
items.creative_slot STRING Назва рекламного місця для файлу оголошення.

ЗАПИС item_params

ЗАПИС item_params зберігає визначені вами спеціальні параметри об’єкта. Сюди не входять стандартні параметри об’єкта, зокрема item_id, item_name тощо. Натомість вони експортуються як точні поля.

Набір параметрів, що зберігаються в ЗАПИСІ item_params, унікальний для кожного застосування. Щоб дізнатися більше про електронну комерцію і масив товарів у Google Analytics 4, перегляньте статтю Як відстежувати події електронної комерції.

Назва поля Тип даних Опис
items.item_params.key STRING Назва параметра об’єкта.
items.item_params.value RECORD Запис зі значенням параметра об’єкта.
items.item_params.value.string_value STRING Якщо параметр об’єкта представлено у вигляді рядка, він заповнюється в цьому полі.
items.item_params.value.int_value INTEGER Якщо параметр об’єкта представлено цілим числом, він заповнюється в цьому полі.
items.item_params.value.double_value FLOAT Якщо параметр об’єкта представлено числом подвійної точності, він заповнюється в цьому полі.
items.item_params.value.float_value FLOAT Якщо параметр об’єкта представлено числом із рухомою комою, він заповнюється в цьому полі.
Запис publisher (лише ранній доступ) 
ЗАПИС publisher містить інформацію про події, отриману з інтеграцій для видавців, пов’язаних із показом реклами, наприклад AdMob.
Назва поля Тип даних Опис
publisher RECORD Запис даних видавця, отриманих з AdMob.
publisher.ad_revenue_in_usd FLOAT Прогнозований дохід від реклами, отриманий від події (у доларах США). Заповнюється лише для подій показу оголошень.
publisher.ad_format STRING Описує спосіб і місце показу оголошень. Найпоширеніші формати: "Міжсторінкове оголошення", "Банер", "Оголошення з винагородою" і "Розширене нативне оголошення".
publisher.ad_source_name STRING Вихідна мережа, у якій показувалось оголошення. Найпоширеніші джерела: "Мережа AdMob", "Meta Audience Network" і "Власні оголошення посередників".
publisher.ad_unit_id STRING Назва, яку ви вибрали для опису цього рекламного блоку. Рекламні блоки – це контейнери, які ви розміщуєте у своїх додатках, щоб показувати користувачам оголошення.

Рядки

Дані про одну подію можуть відображатися в одному або кількох рядках залежно від того, чи містять вони повторювані ЗАПИСИ. Наприклад, подія page_view з кількома параметрами event_params виглядатиме так, як указано в таблиці нижче. Перший рядок містить назву події, дату, позначку часу й інші об’єкти даних, які не повторюються. ЗАПИС event_params повторюється для кожного параметра, зв’язаного з подією. Ці повторювані ЗАПИСИ заповнюються в наступних рядках під рядком вихідної події.

event_date event_timestamp event_name event_params.key event_params_value.string_value
20220222 1643673600483790 page_view page_location https://example.com
      page_title Головна сторінка
      medium referral
      source google
      page_referrer https://www.google.com
      <параметри…> <значення…>

Нижче описано, які дані про подію відображаються в інтерфейсі користувача GA4.

Поради щодо оновлення пакетів SDK до версії Android 17.2.5 (чи новішої) та/або iOS 16.20.0 (чи новішої)

Якщо ви користувалися попередніми версіями SDK і плануєте перейти на версію 17.2.5 чи новішу (для Android) і/або 16.20.0 чи новішу (для iOS), врахуйте наведене нижче.

  • Щоб використовувати поточну схему BigQuery Export, оновіть SDK до версії 17.2.5 чи новішої (для Android) та/або 16.20.0 чи новішої (для iOS). Якщо застосовувати раніші версії SDK, експортовані дані показуватимуться відповідно до старої схеми.
  • Після оновлення ви зможете отримувати доступ до даних про товар лише в масиві повторних товарів. Дані про товар більше не будуть доступні в стандартних параметрах подій, як було в раніших версіях SDK.
  • Цю зміну було внесено, щоб забезпечити підтримку аналізу кількох товарів.
  • Тому вам, можливо, доведеться відкоригувати посилання на дані про товар або позицію.
Скористайтеся наведеним нижче сценарієм, щоб застосовувати до наявних наборів даних BigQuery нову схему експорту замість старої.
  1. Увійдіть у консоль Cloud Platform і відкрийте сторінку Керування ресурсами.
  2. Виберіть потрібний проект і вгорі сторінки натисніть Відкрити Google Cloud Shell.
  3. Коли відкриється командна оболонка, скопіюйте наведений нижче сценарій і вставте його у файл migration_script.sql.
    1. Виконайте команду cat > migration_script.sql.
    2. Скопіюйте й вставте наведений нижче сценарій у командну оболонку.
    3. Натисніть Ctrl+D, щоб зберегти зміни й вийти.
    Сценарій (migration_script.sql):
      SELECT
      @date AS event_date,
      event.timestamp_micros AS event_timestamp,
      event.previous_timestamp_micros AS event_previous_timestamp,
      event.name AS event_name,
      event.value_in_usd  AS event_value_in_usd,
       user_dim.bundle_info.bundle_sequence_id AS event_bundle_sequence_id,
      user_dim.bundle_info.server_timestamp_offset_micros as event_server_timestamp_offset,
      (
      SELECT
        ARRAY_AGG(STRUCT(event_param.key AS key,
            STRUCT(event_param.value.string_value AS string_value,
              event_param.value.int_value AS int_value,
              event_param.value.double_value AS double_value, 
              event_param.value.float_value AS float_value) AS value))
      FROM
        UNNEST(event.params) AS event_param) AS event_params,
      user_dim.first_open_timestamp_micros AS user_first_touch_timestamp,
      user_dim.user_id AS user_id,
      user_dim.app_info.app_instance_id AS user_pseudo_id,
      "" AS stream_id,
      user_dim.app_info.app_platform AS platform,
      STRUCT( user_dim.ltv_info.revenue AS revenue,
        user_dim.ltv_info.currency AS currency ) AS user_ltv,
      STRUCT( user_dim.traffic_source.user_acquired_campaign AS name,
          user_dim.traffic_source.user_acquired_medium AS medium,
          user_dim.traffic_source.user_acquired_source AS source ) AS traffic_source,
      STRUCT( user_dim.geo_info.continent AS continent,
        user_dim.geo_info.country AS country,
        user_dim.geo_info.region AS region,
        user_dim.geo_info.city AS city ) AS geo,
      STRUCT( user_dim.device_info.device_category AS category,
        user_dim.device_info.mobile_brand_name,
        user_dim.device_info.mobile_model_name,
        user_dim.device_info.mobile_marketing_name,
        user_dim.device_info.device_model AS mobile_os_hardware_model,
        @platform AS operating_system,
        user_dim.device_info.platform_version AS operating_system_version,
        user_dim.device_info.device_id AS vendor_id,
        user_dim.device_info.resettable_device_id AS advertising_id,
        user_dim.device_info.user_default_language AS language,
        user_dim.device_info.device_time_zone_offset_seconds AS time_zone_offset_seconds,
        IF(user_dim.device_info.limited_ad_tracking, "Yes", "No") AS is_limited_ad_tracking ) AS device,
      STRUCT( user_dim.app_info.app_id AS id,
        @firebase_app_id  AS firebase_app_id,
        user_dim.app_info.app_version AS version,
        user_dim.app_info.app_store AS install_source ) AS app_info,
      (
      SELECT
        ARRAY_AGG(STRUCT(user_property.key AS key,
            STRUCT(user_property.value.value.string_value AS string_value,
              user_property.value.value.int_value AS int_value,
              user_property.value.value.double_value AS double_value,
              user_property.value.value.float_value AS float_value,
              user_property.value.set_timestamp_usec AS set_timestamp_micros ) AS value))
      FROM
        UNNEST(user_dim.user_properties) AS user_property) AS user_properties
    FROM
      `SCRIPT_GENERATED_TABLE_NAME`,
      UNNEST(event_dim) AS event
      
  4. Відкрийте нову командну оболонку, скопіюйте наведений нижче bash-сценарій і вставте його у файл migration.sh.
    1. Виконайте команду cat > migration.sh.
    2. Скопіюйте й вставте наведений нижче сценарій у командну оболонку.
    3. Натисніть Ctrl+D, щоб зберегти зміни й вийти.
    У наведеному нижче сценарії вкажіть свої ідентифікатори ресурсу Analytics, проекту BigQuery й додатка Firebase, назву набору даних BigQuery, а також дати початку та завершення періоду, дані за який вас цікавлять.
    Сценарій (migration.sh):
    # Ідентифікатор ресурсу Analytics для проекту, який указано в налаштуваннях Analytics у Firebase.
    PROPERTY_ID=ідентифікатор вашого ресурсу Analytics
    
    # Проект BigQuery Export.
    BQ_PROJECT_ID="ідентифікатор вашого проекту BigQuery" (наприклад, "firebase-public-project")
    
    # Ідентифікатор додатка Firebase, призначений певному додатку.
    FIREBASE_APP_ID="ідентифікатор вашого додатка у Firebase" (наприклад, "1:300830567303:ios:09b1ab1d3ca29bda")
    
    # Набір даних, з якого слід імпортувати дані.
    BQ_DATASET="назва набору даних BigQuery, з якого потрібно імпортувати дані" (наприклад, "com_firebase_demo_IOS")
    
    # Платформа
    PLATFORM="платформа додатка (ANDROID або iOS)"
    
    # Діапазон дат, для яких потрібно запустити перенесення даних, зокрема [START_DATE,END_DATE] (включно).
    START_DATE=20180324
    END_DATE=20180327
    
    # Не змінюйте наведений нижче сценарій, якщо не знаєте, як це правильно робити :)
    startdate=$(date -d"$START_DATE"  +%Y%m%d) || exit -1
    enddate=$(date -d"$END_DATE"  +%Y%m%d) || exit -1
    
    # Виконайте ітерацію дат.
    DATE="$startdate"
    while [ "$DATE" -le "$enddate" ]; do
    
            # Таблиця BigQuery з наведеними вище параметрами
            BQ_TABLE="$BQ_PROJECT_ID.$BQ_DATASET.app_events_$DATE"
    
            echo "Migrating $BQ_TABLE"
    
            cat migration_script.sql | sed -e "s/SCRIPT_GENERATED_TABLE_NAME/$BQ_TABLE/g" | bq query \
            --debug_mode \
            --allow_large_results \
            --noflatten_results \
            --use_legacy_sql=False \
            --destination_table analytics_$PROPERTY_ID.events_$DATE \
            --batch \
            --append_table \
            --parameter=firebase_app_id::$FIREBASE_APP_ID \
            --parameter=date::$DATE \
            --parameter=platform::$PLATFORM \
            --project_id=$BQ_PROJECT_ID
    
    
            temp=$(date -I -d "$DATE + 1 day")
            DATE=$(date -d "$temp" +%Y%m%d)
    
    done
    exit
    
    # КІНЕЦЬ СЦЕНАРІЮ
    
    
  5. Відкрийте нову командну оболонку й виконайте команду bash migration.sh.
Стара схема експорту

user_dim

Назва поля Тип даних Опис
user_dim RECORD Запис із параметрами користувача.
user_dim.user_id STRING Ідентифікатор користувача, налаштований за допомогою setUserId API.
user_dim.first_open_timestamp_micros INTEGER Час у мікросекундах, коли користувач уперше відкрив додаток.
user_dim.user_properties RECORD Повторюваний запис із властивостями користувача, налаштований за допомогою setUserProperty API.
user_dim.user_properties.key STRING Назва властивості користувача.
user_dim.user_properties.value RECORD Запис з інформацією про властивість користувача.
user_dim.user_properties.value.value RECORD Запис зі значенням властивості користувача.
user_dim.user_properties.value.value.string_value STRING Значення властивості користувача, виражене сегментом.
user_dim.user_properties.value.value.int_value INTEGER Значення властивості користувача, виражене цілим числом.
user_dim.user_properties.value.value.double_value FLOAT Значення властивості користувача, виражене числом подвійної точності.
user_dim.user_properties.value.set_timestamp_usec INTEGER Час у мікросекундах, коли властивість користувача було востаннє налаштовано.
user_dim.user_properties.value.index INTEGER Індекс властивості користувача (від 0 до 24).
user_dim.device_info RECORD Запис з інформацією про пристрій.
user_dim.device_info.device_category STRING Категорія пристрою (мобільний телефон, планшет, настільний комп’ютер).
user_dim.device_info.mobile_brand_name STRING Назва бренду пристрою.
user_dim.device_info.mobile_model_name STRING Назва моделі пристрою.
user_dim.device_info.mobile_marketing_name STRING Маркетингова назва пристрою.
user_dim.device_info.device_model STRING Модель пристрою.
user_dim.device_info.platform_version STRING Версія ОС.
user_dim.device_info.device_id STRING Ідентифікатор IDFV (лише якщо немає ідентифікатора IDFA).
user_dim.device_info.resettable_device_id STRING Рекламний ідентифікатор або IDFA.
user_dim.device_info.user_default_language STRING Мова ОС.
user_dim.device_info.device_time_zone_offset_seconds INTEGER Відхилення часу в секундах відносно середнього часу за Гринвічем (GMT).
user_dim.device_info.limited_ad_tracking ЛОГІЧНЕ ЗНАЧЕННЯ Налаштування "Обмежити відстеження оголошень" на пристрої.
user_dim.geo_info RECORD Запис із геоданими користувача.
user_dim.geo_info.continent STRING Континент, на якому зареєстровано події (на основі IP-адреси).
user_dim.geo_info.country STRING Країна, у якій зареєстровано події (на основі IP-адреси).
user_dim.geo_info.region STRING Регіон, у якому зареєстровано події (на основі IP-адреси).
user_dim.geo_info.city STRING Місто, у якому зареєстровано події (на основі IP-адреси).
user_dim.app_info RECORD Запис з інформацією про додаток.
user_dim.app_info.app_version STRING Параметр versionName (Android) для додатка або коротка версія пакета.
user_dim.app_info.app_instance_id STRING Унікальний ідентифікатор цього екземпляра додатка.
user_dim.app_info.app_store STRING Магазин, з якого встановлено цей додаток.
user_dim.app_info.app_platform STRING Платформа, на якій працює цей додаток.
user_dim.traffic_source RECORD Назва джерела трафіку, що використовувалося для залучення користувача. Це поле не заповнюється в таблицях за день.
user_dim.traffic_source.user_acquired_campaign STRING Назва маркетингової кампанії, через яку залучено користувача. Це поле не заповнюється в таблицях за день.
user_dim.traffic_source.user_acquired_medium STRING Назва типу трафіку (пошукова реклама, звичайний пошук, електронна пошта тощо), через який залучено користувача. Це поле не заповнюється в проміжних таблицях за день.
user_dim.traffic_source.user_acquired_source STRING Назва мережі, через яку залучено користувача. Це поле не заповнюється в таблицях за день.
user_dim.bundle_info RECORD Запис з інформацією про пакет, у якому завантажено ці події.
user_dim.bundle_info.bundle_sequence_id INTEGER Послідовний ідентифікатор пакета, у якому завантажено ці події.
user_dim.ltv_info RECORD Запис з інформацією про загальну цінність цього користувача. Це поле не заповнюється в таблицях за день.
user_dim.ltv_info.revenue FLOAT Загальна цінність (дохід) для цього користувача. Це поле не заповнюється в таблицях за день.
user_dim.ltv_info.currency STRING Загальна цінність (валюта) для цього користувача. Це поле не заповнюється в таблицях за день.

event_dim

Назва поля Тип даних Опис
event_dim RECORD Повторюваний запис з інформацією, що стосується подій у цьому пакеті.
event_dim.date STRING Дата реєстрації події в журналі (формат РРРРММДД у зареєстрованому часовому поясі вашого додатка).
event_dim.name STRING Назва події.
event_dim.params RECORD Повторюваний запис із параметрами, зв’язаними з цією подією.
event_dim.params.key STRING Ключ параметра події.
event_dim.params.value RECORD Запис зі значенням параметра події.
event_dim.params.value.string_value STRING Значення параметра події, виражене сегментом.
event_dim.params.value.int_value INTEGER Значення параметра події, виражене цілим числом.
event_dim.params.value.double_value FLOAT Значення параметра події, виражене числом подвійної точності.
event_dim.timestamp_micros INTEGER Час у мікросекундах (UTC), коли цю подію зареєстровано в журналі клієнта.
event_dim.previous_timestamp_micros INTEGER Час у мікросекундах (UTC), коли цю подію було раніше зареєстровано в журналі клієнта.

Чи корисна ця інформація?

Як можна її покращити?
Пошук
Очистити пошук
Закрити пошук
Головне меню
5338246004299520980
true
Пошук у довідковому центрі
true
true
true
true
true
69256
false
false