この記事では、BigQuery にエクスポートされる Google アナリティクス 4 プロパティのデータおよび Firebase 向け Google アナリティクスのデータの形式とスキーマについて説明します。
データセット
BigQuery にリンクしている Google アナリティクス 4 プロパティおよび Firebase プロジェクトごとに、「analytics_<property_id>」という名前の 1 つのデータセットが BigQuery プロジェクトに追加されます。プロパティ ID は、アナリティクスのプロパティ ID を指します。これは、Google アナリティクス 4 プロパティのプロパティ設定、および Firebase のアプリ分析の設定で確認できます。BigQuery へのエクスポートが有効になっている Google アナリティクス 4 プロパティとアプリごとに 1 つのデータセットにデータがエクスポートされます。
テーブル
毎日のエクスポート オプションが有効になっている場合、各データセット内に events_YYYYMMDD
という名前のテーブルが毎日作成されます。
ストリーミング エクスポート オプションが有効になっている場合、events_intraday_YYYYMMDD
という名前のテーブルが作成されます。イベントは 1 日中記録されるため、このテーブルには継続的にデータが入力されます。このテーブルは、events_YYYYMMDD
の作成が完了すると 1 日の終わりに削除されます。
一部のデバイスでは、イベントがトリガーされたその日にアナリティクスへデータが送信されない場合があります。この遅延を考慮するため、アナリティクスでは日次テーブル(events_YYYYMMDD
)を更新する際に、イベントの日付から最長 3 日間のイベントを使用します。データ到着の遅延に関係なく、イベントには正しいタイムスタンプが設定されます。その 3 日の期間以降に到着するイベントは記録されません。
BigQuery サンドボックスの場合、1 日の途中にはイベントはインポートされず、追加で適用される上限設定があります。
当日にインポートする場合は、サンドボックスからアップグレードしてください。
列
events_YYYYMMDD
テーブルの各列は、イベント固有のパラメータを表します。一部のパラメータは RECORDS 内にネストされ、items
や event_params
などの一部の RECORDS は繰り返し可能です。テーブルの列について以下で説明します。
event フィールドには、イベントを一意に識別する情報が格納されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
batch_event_index | INTEGER | デバイス上で発生した順序に基づいて、バッチ内の各イベントの順序を示す数値。 |
batch_ordering_id | INTEGER | 特定のページからネットワーク リクエストが送信されるたびにインクリメントされる単調増加の数値。 |
batch_page_id | INTEGER | エンゲージメント内の後続のページごとに増加する、ページに割り当てられる連続した数値。 |
event_date | STRING | イベントが記録された日付(アプリの登録タイムゾーンにおける日付を YYYYMMDD 形式で示したもの)。 |
event_timestamp | INTEGER | 該当クライアントでイベントが記録された時刻(マイクロ秒単位、UTC)。 |
event_previous_timestamp | INTEGER | 該当クライアントで前回イベントが記録された時刻(マイクロ秒単位、UTC)。 |
event_name | STRING | イベントの名前。 |
event_value_in_usd | FLOAT | イベントの「値」パラメータの通貨換算値(米ドル単位)。 |
event_bundle_sequence_id | INTEGER | これらのイベントをアップロードしたバンドルのシーケンシャル ID。 |
event_server_timestamp_offset | INTEGER | データの収集時とアップロード時のタイムスタンプの間隔(マイクロ秒単位)。 |
event_params RECORD
event_params RECORD には、キャンペーン単位のイベント パラメータとコンテキストのイベント パラメータ、およびユーザー定義のイベント パラメータを格納できます。event_params RECORD は、イベントに関連付けられているキーごとに繰り返されます。 event_params RECORD に格納されているパラメータのセットは、実装ごとに一意です。実装するすべてのイベント パラメータを確認するには、イベント パラメータ リストに対するクエリを実行します。 |
||
フィールド名 | データ型 | 説明 |
---|---|---|
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 RECORD
item_params RECORD には、ユーザー定義のアイテム パラメータに加えて、アイテム パラメータを格納できます。item_params RECORD に格納されているパラメータのセットは、実装ごとに一意です。 |
||
フィールド名 | データ型 | 説明 |
---|---|---|
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 | BOOLEAN |
暦日の任意の時点でユーザーがアクティブ(True)または非アクティブ(False)であったかどうか。 日次テーブル( |
user_id | STRING | ユーザーに割り当てられた一意の ID。 |
user_pseudo_id | STRING | ユーザーの仮の ID(アプリ インスタンス ID など)。 |
user_first_touch_timestamp | INTEGER | ユーザーが初めてアプリを起動したか、サイトに訪れた時刻(マイクロ秒単位)。 |
privacy_info フィールド
privacy_info フィールドには、同意モードが有効な場合のユーザーの同意ステータスに基づく情報が格納されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
privacy_info.ads_storage | STRING |
ユーザーに対して広告ターゲティングが有効になっているかどうか。 有効な値: Yes、No、Unset |
privacy_info.analytics_storage | STRING |
ユーザーに対してアナリティクスのデータ保存が有効になっているかどうか。 有効な値: Yes、No、Unset |
privacy_info.uses_transient_token | STRING |
ウェブユーザーがアナリティクスでのデータ保存を拒否し、デベロッパーがサーバーデータの一時的なトークンに基づいて Cookie を使用しない測定を有効にしているかどうか。 有効な値: Yes、No、Unset |
user_properties RECORD
user_properties RECORD には、設定したユーザー プロパティが格納されます。ユーザーに関連付けられているキーごとに繰り返されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
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 RECORD
user_ltv RECORD には、ユーザーのライフタイム バリューに関する情報が格納されます。この RECORD は当日表では使用されません。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
user_ltv.revenue | FLOAT | ユーザーのライフタイム バリュー(収益)。このフィールドは当日表では使用されません。 |
user_ltv.currency | STRING | ユーザーのライフタイム バリュー(通貨)。このフィールドは当日表では使用されません。 |
device RECORD には、イベントが発生したデバイスに関する情報が格納されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
device.category | STRING | デバイスのカテゴリ(モバイル、タブレット、PC)。 |
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 | OS のバージョン。 |
device.vendor_id | STRING | IDFV(IDFA を収集していない場合にのみ使用)。 |
device.advertising_id | STRING | 広告 ID または IDFA。 |
device.language | STRING | OS の言語。 |
device.time_zone_offset_seconds | INTEGER | GMT との時差(秒単位)。 |
device.is_limited_ad_tracking | BOOLEAN |
デバイスの広告トラッキング制限の設定。 iOS14 以降では、IDFA がゼロ以外の場合、false が返されます。 |
device.web_info.browser | STRING | ユーザーがコンテンツを閲覧したブラウザ。 |
device.web_info.browser_version | STRING | ユーザーがコンテンツを閲覧したブラウザのバージョン。 |
device.web_info.hostname | STRING | ログに記録されたイベントに関連付けられたホスト名。 |
geo
geo RECORD には、イベントが発生した地理的位置に関する情報が格納されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
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 RECORD には、イベントが開始されたアプリに関する情報が格納されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
app_info.id | STRING | アプリのパッケージ名またはバンドル ID。 |
app_info.firebase_app_id | STRING | アプリに関連付けられている Firebase アプリ ID。 |
app_info.install_source | STRING | アプリをインストールしたストア。 |
app_info.version | STRING | アプリの versionName(Android の場合)または short bundle version。 |
collected_traffic_source RECORD にはイベントと同時に収集されたトラフィック ソース データが含まれます。 |
||
フィールド名 | データ型 | 説明 |
---|---|---|
manual_campaign_id | STRING | イベントと同時に収集された手動キャンペーン ID(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 クリック ID。 |
dclid | STRING | イベントと同時に収集された、ディスプレイ&ビデオ 360 とキャンペーン マネージャー 360 の DoubleClick クリック ID。 |
srsltid | STRING | イベントと同時に収集された Google Merchant Center ID。 |
traffic_source RECORD には、ユーザーを最初に獲得したトラフィック ソースに関する情報が格納されます。この RECORD は当日表では使用されません。 注: traffic_source の値は、ユーザーがインストール後に次のキャンペーンを操作しても変更されません。 |
||
フィールド名 | データ型 | 説明 |
---|---|---|
traffic_source.name | STRING | ユーザーを最初に獲得したマーケティング キャンペーンの名前。このフィールドは当日表では使用されません。 |
traffic_source.medium | STRING | ユーザーを最初に獲得したメディアの名前(有料検索、オーガニック検索、メールなど)。このフィールドは当日表では使用されません。 |
traffic_source.source | STRING | ユーザーを最初に獲得したネットワークの名前。このフィールドは当日表では使用されません。 |
stream フィールドと platform フィールドには、ストリームとアプリ プラットフォームに関する情報が格納されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
stream_id | STRING | イベントの発生元であるデータ ストリームの数値 ID。 |
platform | STRING | イベントの発生元であるデータ ストリーム プラットフォーム(ウェブ、iOS、Android)。 |
ecommerce RECORD には、ウェブサイトまたはアプリに設定されている e コマース イベントに関する情報が格納されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
ecommerce.total_item_quantity | INTEGER | このイベントにおけるアイテムの合計数。items.quantity の合計です。 |
ecommerce.purchase_revenue_in_usd | FLOAT | このイベントでの購入による収益。米ドル(標準単位)で表記されます。購入イベントに対してのみ入力されます。 |
ecommerce.purchase_revenue | FLOAT | このイベントでの購入による収益。現地通貨(標準単位)で表記されます。購入イベントに対してのみ入力されます。 |
ecommerce.refund_value_in_usd | FLOAT | このイベントにおける払い戻しの金額。米ドル(標準単位)で表記されます。払い戻しイベントに対してのみ入力されます。 |
ecommerce.refund_value | FLOAT | このイベントにおける払い戻しの金額。現地通貨(標準単位)で表記されます。払い戻しイベントに対してのみ入力されます。 |
ecommerce.shipping_value_in_usd | FLOAT | このイベントにおける送料。米ドル(標準単位)で表記されます。 |
ecommerce.shipping_value | FLOAT | このイベントにおける送料。現地通貨で表記されます。 |
ecommerce.tax_value_in_usd | FLOAT | このイベントにおける税額。米ドル(標準単位)で表記されます。 |
ecommerce.tax_value | FLOAT | このイベントにおける税額。現地通貨(標準単位)で表記されます。 |
ecommerce.transaction_id | STRING | e コマース トランザクションのトランザクション ID。 |
ecommerce.unique_items | INTEGER | このイベントにおける固有のアイテム数。item_id、item_name、item_brand に基づきます。 |
items RECORD には、イベントに含まれる商品アイテムに関する情報が格納されます。商品アイテムごとに繰り返されます。 | ||
フィールド名 | データ型 | 説明 |
---|---|---|
items.item_id | STRING | 商品アイテムの ID。 |
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 x 数量によって計算されます。購入イベントに対してのみ入力され、米ドル(標準単位)で表記されます。 |
items.item_revenue | FLOAT | この商品アイテムの収益。価格 x 数量によって計算されます。購入イベントに対してのみ入力され、現地通貨(標準単位)で表記されます。 |
items.item_refund_in_usd | FLOAT | この商品アイテムの払い戻し額。price_in_usd x 数量によって計算されます。払い戻しイベントに対してのみ入力され、米ドル(標準単位)で表記されます。 |
items.item_refund | FLOAT | この商品アイテムの払い戻し額。価格 x 数量によって計算されます。払い戻しイベントに対してのみ入力され、現地通貨(標準単位)で表記されます。 |
items.coupon | STRING | この商品アイテムに適用されるクーポンコード。 |
items.affiliation | STRING | 仕入れ先業者や実店舗を指定する商品アフィリエーション。 |
items.location_id | STRING | 商品アイテムに関連付けられている場所。 |
items.item_list_id | STRING | ユーザーに商品アイテムが表示されたリストの ID。 |
items.item_list_name | STRING | ユーザーに商品アイテムが表示されたリストの名前。 |
Items.item_list_index | STRING | リスト内の商品アイテムの位置。 |
items.promotion_id | STRING | 商品プロモーションの ID。 |
items.promotion_name | STRING | 商品プロモーションの名前。 |
items.creative_name | STRING | プロモーション スポットで使用されたクリエイティブの名前。 |
items.creative_slot | STRING | クリエイティブ スロットの名前。 |
item_params RECORD
item_params RECORD には、定義したカスタム アイテム パラメータが格納されます。なお、item_id、item_name などの事前定義済みアイテム パラメータはここには含まれず、明示的なフィールドとしてエクスポートされます。 item_params RECORD に格納されているパラメータのセットは、実装ごとに一意です。e コマースの実装と Google アナリティクス 4 のアイテム配列について詳しくは、e コマースを測定するをご覧ください。 |
||
フィールド名 | データ型 | 説明 |
---|---|---|
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 | アイテム パラメータが浮動小数点値で表されている場合は、このフィールドに格納されます。 |
行
1 つのイベントのデータは、繰り返しの RECORDS が含まれているかどうかに応じて、1 行または複数行で表されます。たとえば、複数の event_params
が含まれている page_view
イベントは、下の表のようになります。最初の行には、イベント名、日付、タイムスタンプ、繰り返しでないその他のデータ項目が含まれます。event_params
RECORD は、イベントに関連付けられたパラメータごとに繰り返されます。この繰り返しの RECORDS は、最初のイベント行の直下にある後続の行に入力されます。
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 | Home | |||
medium | referral | |||
source | ||||
page_referrer | https://www.google.com | |||
<parameters...> | <values...> |
GA4 の管理画面では、このイベントデータが次のように表示されます。
いずれかの OS で以前のバージョンの SDK を使用していて、Android 17.2.5 以降または iOS 16.20.0 以降にアップグレードする場合は、次の点を考慮してください。
- 現在の BigQuery Export スキーマを使用するには、SDK を Android 17.2.5 以降または iOS 16.20.0 以降にアップグレードする必要があります。以前のバージョンの SDK を使用している場合は、エクスポートされるデータに古いスキーマが反映されます。
- アップグレードすると、それ以降にアクセスできるのは繰り返し項目配列内の商品データのみです。これらの SDK バージョンより前の商品データには、標準イベント パラメータを使用できなくなります。
- この変更は、複数商品の分析に対応できるようにするために行われました。
- そのため、商品データへの参照を調整することが必要になる場合があります。
- Cloud Platform Console にログインし、[リソースの管理] ページに移動します。
- データを移行するプロジェクトを開き、ページの上部にある [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
- 新しいシェルを開き、
migration.sh
という名前のファイルに以下の bash スクリプトをコピーします。cat > migration.sh
の順にコマンドを発行します。- 以下のスクリプトをコピーしてシェルに貼り付けます。
- Ctrl+D キーを押して保存し、終了します。
アナリティクス プロパティ ID、BigQuery プロジェクト ID、Firebase アプリ ID、BigQuery データセット名、および必要なデータの開始日と終了日を含めるように、次のスクリプトを変更します。スクリプト(migration.sh):# プロジェクトのアナリティクス プロパティ ID。Firebase のアナリティクス設定で確認できます。 PROPERTY_ID=your Analytics property ID # BigQuery Export プロジェクト。 BQ_PROJECT_ID="your BigQuery Project ID"(例: "firebase-public-project") # アプリの Firebase アプリ ID。 FIREBASE_APP_ID="your Firebase App ID"(例: "1:300830567303:ios:09b1ab1d3ca29bda") # インポート元のデータセット。 BQ_DATASET="name of BigQuery dataset you want to import from"(例: "com_firebase_demo_IOS") # プラットフォーム PLATFORM="platform of the app. ANDROID or 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 # 上記のパラメータで構成される BQ 表。 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 によって設定されるユーザー ID。 |
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 | デバイスのカテゴリ(モバイル、タブレット、PC)。 |
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 | OS のバージョン。 |
user_dim.device_info.device_id | STRING | IDFV(IDFA を利用できない場合にのみ使用)。 |
user_dim.device_info.resettable_device_id | STRING | 広告 ID / IDFA。 |
user_dim.device_info.user_default_language | STRING | OS の言語。 |
user_dim.device_info.device_time_zone_offset_seconds | INTEGER | GMT との時差(秒単位)。 |
user_dim.device_info.limited_ad_tracking | BOOLEAN | デバイスの「広告トラッキング抑制」が有効になっているかどうか。 |
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 の場合)または short bundle version。 |
user_dim.app_info.app_instance_id | STRING | アプリのこのインスタンスを識別する固有 ID。 |
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 | これらのイベントをアップロードしたバンドルのシーケンシャル ID。 |
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 | このイベントが記録された日付(アプリの登録タイムゾーンにおける日付を YYYYMMDD 形式で示したもの)。 |
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)。 |