Firebase analyticsをBigQueryに連携することで、すべての行動ログデータを解析できるようになりますが、2018年7月上旬ぐらいから(正確な日時は不明)BigQueryに保存されるデータのSchemaが変更されました。新規のものも、既存のものも新しいデータは、新しいSchemaで保存されるようになっています。また、過去のデータの自動変換は行われていません。
現時点(2018/07/11)では、英語のドキュメントのみの変更となっており、日本語サイトの方はまだ更新されていません。
英語ドキュメント
日本語ドキュメント(魚拓)
データセット名、テーブル名、フィールド名がすべて刷新されており、既存のクエリは全滅します。ただし、なくなっている情報はほぼ無いので、フィールド名等を置き換えるだけで大体移行が可能です。
データセット名
旧 |
新 |
補足 |
{organization}{appName}{platform} |
analytics_{random number?} |
旧はプラットフォーム毎(iOS,Android等)にデータセットが分けられていたが、新では統合。新の名前の末尾につく謎の数値の情報求む。 |
テーブル名
旧 |
新 |
補足 |
app_events_{yyyyMMdd} |
events_{yyyyMMdd} |
|
Table Schema
ユーザー情報
基本的にuser_dimの階層がなくなり、user_のプレフィクスがつくようになっています
旧 |
新 |
補足 |
user_dim |
none |
消滅 |
user_dim.user_id |
user_id |
|
user_dim.first_open_timestamp_micros |
user_first_touch_timestamp |
micro秒のまま |
user_dim.user_properties |
user_properties |
Record |
user_dim.user_properties.key |
user_properties.key |
|
user_dim.user_properties.value.value |
user_properties.value |
中間のvalueが省略されるようになった |
user_dim.user_properties.value.value.{type}_value |
user_properties.value.{type}_value |
同上 |
user_dim.user_properties.value.set_timestamp_usec |
user_properties.value.set_timestamp_micros |
|
デバイス情報
resettable_device_idがadvertising_idに変わっているのが一番の注意点になるかと思います。
旧 |
新 |
補足 |
user_dim.device_info |
device |
|
user_dim.device_info.device_category |
device.category |
|
user_dim.device_info.mobile_brand_name |
device.mobile_brand_name |
|
user_dim.device_info.mobile_model_name |
device.mobile_model_name |
|
user_dim.device_info.mobile_marketing_name |
device.mobile_marketing_name |
|
user_dim.device_info.device_model |
device.mobile_os_hardware_model |
|
(user_dim.app_info.app_platform) |
device.operating_system |
元はapp_infoにあった |
user_dim.device_info.platform_version |
device.operating_system_version |
|
user_dim.device_info.device_id |
device.vendor_id |
|
user_dim.device_info.resettable_device_id |
device.advertising_id |
|
user_dim.device_info.user_default_language |
device.language |
|
user_dim.device_info.device_time_zone_offset_seconds |
device.time_zone_offset_seconds |
|
user_dim.device_info.limited_ad_tracking |
device.is_limited_ad_tracking |
|
Geo情報
旧 |
新 |
補足 |
user_dim.geo_info |
geo |
|
user_dim.geo_info.{prop} |
geo.{prop} |
|
App情報
結構変わっています。特に旧app_instance_idを使っている場合は、フォーマットが変わっているので注意が必要です。
旧 |
新 |
補足 |
user_dim.app_info |
app_info |
|
user_dim.app_info.app_version |
app_info.version |
|
user_dim.app_info.app_instance_id |
none |
|
none |
app_info.fireabase_app_id |
旧app_instance_idに近いがフォーマットが全く違う |
user_dim.app_info.app_id |
app_info.id |
|
user_dim.app_info.app_store |
app_info.install_source |
|
user_dim.app_info.app_platform |
platform or device.operating_system |
どちらかで取得可能 |
Trafic情報
旧 |
新 |
補足 |
user_dim.traffic_source |
trafic_source |
|
user_dim.traffic_source.user_acquired_campaign |
traffic_source.name |
|
user_dim.traffic_source.user_acquired_medium |
traffic_source.medium |
|
user_dim.traffic_source.user_acquired_source |
traffic_source.source |
|
Bundle info
旧 |
新 |
補足 |
user_dim.bundle_info.bundle_sequence_id |
event_bundle_sequence_id |
|
user_dim.bundle_info.server_timestamp_offset_micros |
event_server_timestamp_offset |
|
LTV 情報
旧 |
新 |
補足 |
user_dim.ltv_info |
user_ltv |
|
user_dim.ltv_info.{prop} |
user_ltv.{prop} |
|
イベント情報
event_dimがRecord(配列みたいなもの)だったのがFlatな構造になったので、フィールドアクセスにUNNESTする必要がなくなりました。
旧 |
新 |
補足 |
event_dim |
none |
event_プレフィクスになっています |
event_dim.date |
event_date |
|
event_dim.name |
event_name |
|
event_dim.params |
event_params |
Record |
event_dim.params.{props} |
event_params.{props} |
|
event_dim.timestamp_micros |
event_timestamp |
時間の単位はmicroで変わらず |
event_dim.previous_timestamp_micros |
event_previous_timestamp |
時間の単位はmicroで変わらず |
event_dim.value_in_usd |
event_value_in_usd |
|
新しく追加された情報
旧 |
新 |
補足 |
none |
stream_id |
|
none |
platform |
"IOS"などが取れる |