Google アナリティクス 4 のデータを BigQuery に読み込む
Google アナリティクス 4 から BigQuery にデータを読み込むには、Google アナリティクス 4 用 BigQuery Data Transfer Service コネクタを使用します。BigQuery Data Transfer Service を使用すると、Google アナリティクス 4 から BigQuery に最新のデータを追加する定期的な転送ジョブをスケジュール設定できます。
コネクタの概要
Google アナリティクス コネクタ用の BigQuery Data Transfer Service は、データ転送で次のオプションをサポートしています。
データ転送オプション | サポート |
---|---|
サポートされるレポート | Google アナリティクス コネクタは、Google Analytics Data API v1 からのレポートデータの転送をサポートしています。 Google アナリティクス レポートが BigQuery のテーブルやビューに変換される仕組みについては、Google アナリティクス レポートの変換をご覧ください。 |
繰り返しの頻度 | Google アナリティクス コネクタは、毎日のデータ転送をサポートしています。 デフォルトでは、データ転送はデータ転送の作成時にスケジュールされます。データ転送の時間は、データ転送を設定するときに構成できます。 |
更新ウィンドウ | データ転送をスケジュール設定して、データ転送の実行時に最大 30 日分の Google アナリティクス データを取得できます。更新期間は、データ転送を設定するときに構成できます。 デフォルトでは、Google アナリティクス コネクタの更新間隔は 4 日です。 詳細については、更新ウィンドウをご覧ください。 |
バックフィル データの可用性 | データ バックフィルを実行して、スケジュールされたデータ転送以外のデータを取得します。データソースのデータ保持ポリシーで許可されている限り、データを取得できます。 Google アナリティクスのデータ保持に関するポリシーについては、Google アナリティクスのデータ保持に関するポリシーをご覧ください。 |
Google アナリティクス 4 の転送からのデータの取り込み
Google アナリティクス 4 から BigQuery にデータを転送すると、データは日付でパーティション分割された BigQuery テーブルに読み込まれます。データが読み込まれるテーブル パーティションは、データソースの日付に対応します。同じ日付の複数の転送をスケジュールすると、BigQuery Data Transfer Service により、対象の日付のパーティションが最新のデータで上書きされます。同じ日に複数回の転送やバックフィルを実行しても、データは重複せず、他の日付のパーティションに対する影響はありません。更新ウィンドウ
更新ウィンドウとは、データ転送が行われたときにデータ転送でデータが取得される日数です。たとえば、更新ウィンドウが 3 日であり、毎日転送が行われる場合、BigQuery Data Transfer Service は過去 3 日間のソーステーブルからすべてのデータを取得します。この例では、毎日転送が発生すると、BigQuery Data Transfer Service は、当日のソーステーブルのデータのコピーを含む新しい BigQuery 宛先テーブル パーティションを作成し、バックフィル実行を自動的にトリガーして、過去 2 日間のソーステーブルのデータで BigQuery 宛先テーブル パーティションを更新します。自動トリガーされたバックフィル実行は、BigQuery Data Transfer Service コネクタで増分更新がサポートされているかどうかに応じて、BigQuery の宛先テーブルを上書きするか、増分更新します。
データ転送を初めて実行する際に、更新ウィンドウ内で利用可能なすべてのソースデータを取得します。たとえば、更新ウィンドウが 3 日で、データ転送を初めて実行する際は、BigQuery Data Transfer Service によって 3 日以内のすべてのソースデータが取得されます。
更新ウィンドウの期間外のデータ(過去のデータなど)を取得する場合や、転送の停止やギャップからデータを復元する場合は、バックフィル実行を開始またはスケジュールできます。
始める前に
Google アナリティクス 4 のデータ転送を作成する前に、次の前提条件と情報を確認してください。
前提条件
- Google アナリティクス 4 のユーザー アカウントまたはサービス アカウントに、転送構成で使用されるプロパティ ID への閲覧者権限が付与されている必要があります。
- BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
- Google アナリティクス 4 のデータを保存する BigQuery データセットを作成します。
- Pub/Sub の転送実行通知を設定する場合は、
pubsub.topics.setIamPolicy
Identity and Access Management(IAM)権限があることを確認します。メール通知のみを設定する場合は、Pub/Sub 権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。
必要な BigQuery のロール
BigQuery Data Transfer Service データ転送の作成に必要な権限を取得するには、プロジェクトに対する BigQuery 管理者 (roles/bigquery.admin
)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、BigQuery Data Transfer Service のデータ転送の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
BigQuery Data Transfer Service データ転送を作成するには、次の権限が必要です。
-
BigQuery Data Transfer Service の権限:
-
bigquery.transfers.update
-
bigquery.transfers.get
-
-
BigQuery の権限:
-
bigquery.datasets.get
-
bigquery.datasets.getIamPolicy
-
bigquery.datasets.update
-
bigquery.datasets.setIamPolicy
-
bigquery.jobs.create
-
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
詳細については、bigquery.admin
へのアクセス権を付与するをご覧ください。
カスタム レポート
Google アナリティクス用の BigQuery Data Transfer Service コネクタは、Google アナリティクスの転送構成でディメンションと指標を指定することで、カスタム レポートの使用をサポートしています。これらのカスタム レポートは、BigQuery Data Transfer Service でサポートされている Google Analytics Data API バージョンからデータを取り込みます。
カスタム レポートは、Google アナリティクスの転送を作成するときに指定できます。
カスタム レポートの制限事項
- 転送構成ごとにサポートされるカスタム レポートは 1 つのみです。
- カスタム レポートごとに最大 9 個のディメンションと 10 個の指標を使用できます。
- すべてのディメンションと指標を自由に組み合わせられるわけではありません。GA4 のディメンションと指標のリファレンス ツールを使用して、移行を作成する前にカスタム レポートのディメンションと指標を検証します。
Google アナリティクス 4 のデータ転送を設定する
次のオプションのいずれかを選択します。
コンソール
Google Cloud コンソールの [データ転送] ページに移動します。
[
転送を作成] をクリックします。[転送を作成] ページで、次の操作を行います。
- [ソースタイプ] セクションで、[ソース] として [Google アナリティクス 4] を選択します。
[データソースの詳細] セクションで、次の操作を行います。
- [プロパティ ID] フィールドにプロパティ ID を入力します。
- 省略可: [テーブルのフィルタ] フィールドに、含めるテーブルのカンマ区切りのリストを入力します(例:
Audiences, Events
)。特定のテーブルを除外するには、このリストの先頭に-
文字を配置します(例:-Audiences, Events
)。デフォルトでは、すべてのテーブルが含まれています。 - 省略可: 標準レポートではなくカスタム レポートを取り込むには、次の操作を行います。
- 省略可: [更新ウィンドウ] フィールドに、更新ウィンドウの期間を日数で入力します。更新ウィンドウのデフォルト値は 4 日間ですが、最大で 30 日間に設定できます。
[転送先の設定] セクションの [宛先データセット] メニューで、データを保存するために作成したデータセットを選択します。
[転送構成名] セクションの [表示名] に、データ転送の名前を入力します。転送名には、後で修正が必要になった場合に識別できる任意の名前を使用できます。
[スケジュール オプション] セクションで:
- [すぐに開始可能] または [設定した時刻に開始] を選択して、開始日と実行時間を指定します。
- [繰り返しの頻度] で、データ転送を実行する頻度のオプションを選択します。[日数] を選択した場合は、有効な時刻を UTC で入力します。
省略可: [サービス アカウント] メニューで、 Google Cloud プロジェクトに関連付けられているサービス アカウントからサービス アカウントを選択します。選択したサービス アカウントには、このデータ転送の実行に必要なロールが付与されている必要があります。
フェデレーション ID でログインした場合、データ転送を作成するにはサービス アカウントが必要です。Google アカウントでログインした場合、データ転送用のサービス アカウントは省略可能です。データ転送でサービス アカウントを使用する方法の詳細については、サービス アカウントの使用をご覧ください。
省略可: [通知オプション] セクションで、次の操作を行います。
省略可: CMEK を使用する場合は、[詳細オプション] セクションで [顧客管理の暗号鍵] を選択します。使用可能な CMEK のリストが表示され、ここから選択できます。CMEK が BigQuery Data Transfer Service と連携する仕組みについては、転送で暗号鍵を指定するをご覧ください。
[保存] をクリックします。
bq
bq mk
コマンドを入力して、転送作成フラグ --transfer_config
を指定します。次のフラグは必須です。
--data_source
--target_dataset
--display_name
--params
bq mk --transfer_config \ --project_id=PROJECT_ID \ --target_dataset=DATASET \ --display_name=NAME \ --params='PARAMETERS' \ --data_source=DATA_SOURCE
ここで
- PROJECT_ID: プロジェクト ID。
--project_id
を指定しない場合は、デフォルトのプロジェクトが使用されます。 - DATASET: データ転送構成のターゲット データセット。
- NAME: データ転送構成の表示名。転送名には、後で修正が必要になった場合に識別できる任意の名前を使用できます。
- PARAMETERS: 作成されるデータ転送構成のパラメータを JSON 形式で指定します(例:
--params='{"param":"param_value"}'
)。Google アナリティクス 4 の転送では、property_id
パラメータが必要です。 - DATA_SOURCE: データソース -
ga4
。
たとえば、次のコマンドは、プロパティ ID 468039345
とターゲット データセット mydataset
を使用して、My Transfer
という名前の Google アナリティクス 4 データ転送を作成します。
このデータ転送はデフォルトのプロジェクトで作成されます。
bq mk --transfer_config --project_id=your_project --target_dataset=mydataset --display_name=My Transfer --params='{"property_id":"468039345"}' --data_source=ga4
API
projects.locations.transferConfigs.create
メソッドを使用して、TransferConfig
リソースのインスタンスを指定します。
制限事項
- 個々のユーザーの合計数やセッション指標は正確でない可能性があり、Google アナリティクスの値と一致しない可能性があります。
転送に使用する暗号鍵を指定する
転送実行のデータを暗号化する顧客管理の暗号鍵(CMEK)を指定できます。CMEK を使用して、Google アナリティクス 4 からの転送をサポートできます。転送で CMEK を指定すると、BigQuery Data Transfer Service は取り込まれたデータの中間ディスク上キャッシュに CMEK を適用して、データ転送ワークフロー全体が CMEK 準拠になるようにします。
最初に CMEK で作成されていなかった既存の転送は、更新して CMEK を追加することはできません。たとえば、最初にデフォルトの方法で暗号化されていた宛先テーブルを CMEK で暗号化されるように変更することはできません。逆に、CMEK で暗号化された宛先テーブルを別のタイプの暗号化に変更することはできません。
転送構成が CMEK 暗号化を使用して最初に作成された場合は、転送の CMEK を更新できます。転送構成の CMEK を更新すると、BigQuery Data Transfer Service は転送の次回実行時に CMEK を宛先テーブルに伝播します。BigQuery Data Transfer Service は、古い CMEK を転送中に新しい CMEK に置き換えます。詳細については、転送の更新をご覧ください。
プロジェクトのデフォルト鍵を使用することもできます。転送でプロジェクトのデフォルト鍵を指定すると、BigQuery Data Transfer Service は、新しい転送構成のデフォルト鍵としてプロジェクトのデフォルト鍵を使用します。
料金
Google アナリティクス 4 の転送には料金はかかりません。
データが BigQuery に転送されると、BigQuery のストレージとクエリの標準料金が適用されます。
割り当て
Google アナリティクス 4 の転送には、Google アナリティクス 4 で指定されているアナリティクス プロパティの割り当てが適用されます。プロパティあたりの割り当てを増やすには、Google アナリティクス 360 にアップグレードしてください。