У цій статті описуються формат і схема даних ресурсу 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
, повторюються. Стовпці таблиці описано нижче.
Ці поля містять інформацію, унікальну для події. | ||
Назва поля | Тип даних | Опис |
---|---|---|
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 | Якщо параметр об’єкта представлено числом із рухомою комою, він заповнюється в цьому полі. |
Ці поля містять інформацію, унікальну для користувача, пов’язаного з подією. | ||
Назва поля | Тип даних | Опис |
---|---|---|
is_active_user | ЛОГІЧНЕ ЗНАЧЕННЯ |
Показник того, чи був користувач активним (True) або неактивним (False) у будь-який час протягом календарного дня. Включено лише в щоденні таблиці ( |
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.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.id | STRING | Назва або ідентифікатор пакета додатка. |
app_info.firebase_app_id | STRING | Ідентифікатор додатка Firebase, зв’язаний із додатком. |
app_info.install_source | STRING | Магазин, з якого встановлено додаток. |
app_info.version | STRING | Параметр versionName (Android) для додатка або коротка версія пакета. |
ЗАПИС "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, отриманий із події. |
Цей ЗАПИС містить дані про джерело трафіку сеансу з атрибуцією за останнім кліком – в оголошеннях 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.name | STRING | Назва маркетингової кампанії, через яку вперше залучено користувача. Це поле не заповнюється в проміжних таблицях за день. |
traffic_source.medium | STRING | Назва засобу (пошукова реклама, звичайний пошук, електронна пошта тощо), через який уперше залучено користувача. Це поле не заповнюється в проміжних таблицях за день. |
traffic_source.source | STRING | Назва мережі, через яку вперше залучено користувача. Це поле не заповнюється в проміжних таблицях за день. |
Ці поля містять інформацію про потік і платформу додатка. | ||
Назва поля | Тип даних | Опис |
---|---|---|
stream_id | STRING | Числовий ідентифікатор потоку даних, з якого надійшла подія. |
platform | STRING | Платформа потоку даних (веб, iOS або Android), на якій відбулася подія. |
Цей ЗАПИС містить інформацію про події електронної комерції, налаштовані на веб-сайті або в додатку. | ||
Назва поля | Тип даних | Опис |
---|---|---|
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.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 містить інформацію про події, отриману з інтеграцій для видавців, пов’язаних із показом реклами, наприклад 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 | ||||
page_referrer | https://www.google.com | |||
<параметри…> | <значення…> |
Нижче описано, які дані про подію відображаються в інтерфейсі користувача GA4.
Якщо ви користувалися попередніми версіями SDK і плануєте перейти на версію 17.2.5 чи новішу (для Android) і/або 16.20.0 чи новішу (для iOS), врахуйте наведене нижче.
- Щоб використовувати поточну схему BigQuery Export, оновіть SDK до версії 17.2.5 чи новішої (для Android) та/або 16.20.0 чи новішої (для iOS). Якщо застосовувати раніші версії SDK, експортовані дані показуватимуться відповідно до старої схеми.
- Після оновлення ви зможете отримувати доступ до даних про товар лише в масиві повторних товарів. Дані про товар більше не будуть доступні в стандартних параметрах подій, як було в раніших версіях SDK.
- Цю зміну було внесено, щоб забезпечити підтримку аналізу кількох товарів.
- Тому вам, можливо, доведеться відкоригувати посилання на дані про товар або позицію.
- Увійдіть у консоль Cloud Platform і відкрийте сторінку Керування ресурсами.
- Виберіть потрібний проект і вгорі сторінки натисніть Відкрити Google Cloud Shell.
- Коли відкриється командна оболонка, скопіюйте наведений нижче сценарій і вставте його у файл
migration_script.sql
.- Виконайте команду
cat > migration_script.sql
. - Скопіюйте й вставте наведений нижче сценарій у командну оболонку.
- Натисніть Ctrl+D, щоб зберегти зміни й вийти.
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
- Виконайте команду
- Відкрийте нову командну оболонку, скопіюйте наведений нижче bash-сценарій і вставте його у файл
migration.sh
.- Виконайте команду
cat > migration.sh
. - Скопіюйте й вставте наведений нижче сценарій у командну оболонку.
- Натисніть 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 # КІНЕЦЬ СЦЕНАРІЮ
- Виконайте команду
- Відкрийте нову командну оболонку й виконайте команду
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), коли цю подію було раніше зареєстровано в журналі клієнта. |