ステップ 1: Google API console プロジェクトを作成し、BigQuery を有効にする
- Google Cloud Console にログインします。
- 新しい Google Cloud コンソール プロジェクトを作成するか、既存のプロジェクトを選択します。
- API ライブラリへ移動します。
左上のナビゲーション メニューを開き、[API とサービス]、[ライブラリ] の順にクリックします。 - BigQuery を有効にします。
[Google Cloud API] で [BigQuery API] を開き、表示されたページで [有効化] をクリックします。 - 表示される利用規約を読み、同意します。
ステップ 2: BigQuery Export で使用するプロジェクトを作成する
Google アナリティクスのデータは、BigQuery サンドボックスに無料でエクスポートできます(サンドボックスの制限が適用されます)。
詳しくは、サンドボックスからのアップグレードと BigQuery の料金をご覧ください。
ステップ 3: Google アナリティクス 4 プロパティを BigQuery にリンクする
上述の 2 つのステップを完了したら、アナリティクスの [管理] タブから BigQuery Export を有効にできます。
BigQuery Export には、Google アナリティクスと同じ収集と設定の制限が適用されます。制限を引き上げる必要がある場合は、プロパティを 360 にアップグレードしてください。
- [管理] の [サービス間のリンク設定] で、[BigQuery のリンク] をクリックします。
- [リンク] をクリックします。
- [BigQuery プロジェクトを選択] をクリックして、アクセス可能なプロジェクトのリストを表示します。
アナリティクスと Firebase をリンクしている(またはリンクを計画している)場合は、同じ Cloud プロジェクトにエクスポートすることを検討してください。これにより、他の Firebase データとの結合が容易になります。 - リストからプロジェクトを選択し、[確認] をクリックします。
- データのロケーションを選択します(該当プロジェクトに、同じアナリティクス プロパティのデータセットがすでに存在する場合、この設定は変更できません)。
- [次へ] をクリックします。
- エクスポートに含めるデータ ストリーム、およびエクスポートから除外する特定のイベントを選択するには、[データ ストリームとイベントを設定] を選択します。イベントを除外するには、[追加] をクリックして既存のイベントのリストから選択します。または [名前でイベントを指定] をクリックして名前で既存のイベントを選択するか、プロパティで収集していないイベント名を指定します。
- [完了] をクリックします。
- 広告識別子を含める場合は、[モバイルアプリ ストリーム用の広告識別子の追加] を選択します。
- データのエクスポートの頻度として [毎日](1 日 1 回)または [ストリーミング](継続的)、あるいは両方を選択します。アナリティクス 360 プロパティの場合は、[毎日(高頻度)] を選択することもできます。
- [次へ] をクリックします。
- 設定を確認して、[送信] をクリックします。
権限
プロジェクトの getIamPolicy / setIamPolicy 権限、サービスの get / enable 権限
OWNER
はこれらの権限のスーパーセットです。BigQuery リンクの作成に最低限必要な権限は次のとおりです。
resourcemanager.projects.get
- プロジェクトを取得する
resourcemanager.projects.getIamPolicy
- 権限のリストを取得する
resourcemanager.projects.setIamPolicy
- ユーザーがこのプロジェクトでリンクを作成する権限を持っているかどうかを確認する
serviceusage.services.enable
- BigQuery API を有効にする
serviceusage.services.get
- BigQuery API が有効かどうかを確認する
サービス アカウントを確認する
アナリティクスと BigQuery をリンクすると、次のサービス アカウントが作成されます。
firebase-measurement@system.gserviceaccount.com
アカウントがプロジェクトのメンバーとして追加されており、BigQuery ユーザー(roles/bigquery.user)のロールが割り当てられていることを確認します。
以前 BigQuery Export の設定で、サービス アカウントに Google Cloud プロジェクトの編集者のロールを割り当てていた場合、そのロールを BigQuery ユーザーに限定できます。サービス アカウントのロールを変更するには、リンクを解除してからアナリティクスを BigQuery プロジェクトに再リンクする必要があります。はじめに、アナリティクスと BigQuery のリンクを解除し、編集者のロールを持つサービス アカウントを削除します。次に、上述の手順に沿ってアナリティクスと BigQuery を再リンクし、プロジェクトに適した権限を付与した新しいサービス アカウントを作成します。
リンクを再設定したら、サービス アカウントに既存のエクスポート データセットに対するオーナー(bigquery.dataOwner)ロールがあることを確認します。これを行うには、データセットのアクセス ポリシーを表示します。
リージョンを変更する
選択したリージョンが間違っていて、リンクの作成後に変更する必要がある場合:
- BigQuery へのリンクを削除します(後述)。
- データを BigQuery の別のデータセットにバックアップ(移動またはコピー)します。
- 元のデータセットを削除します。次のステップで必要になるため、名前を控えておきます。
- 削除したデータセットと同じ名前で新しいデータセットを作成し、データのロケーションを選択します。
- 新しいデータセットを firebase-measurement@system.gserviceaccount.com と共有し、サービス アカウントに BigQuery データオーナーのロールを割り当てます。
- バックアップしておいたデータを、新しいデータセットにコピーします。
- 上の手順を繰り返して、BigQuery へのリンクを新たに作成します。
ロケーションを変更すると、データに空白期間が生じる点に注意しましょう。元のリンクを削除してから新しいリンクを作成するまでの間、データのエクスポートは(頻度が「ストリーミング」でも「毎日」でも)処理されません。
BigQuery へのリンクを削除する
- [管理] の [サービス間のリンク設定] で、[BigQuery のリンク] をクリックします。
- 目的のリンクの行をクリックします。
- 画面右上の > [削除] の順にクリックします。
BigQuery Export に関する制限
標準の GA4 プロパティでは、BigQuery Export で 1 日(バッチ)にエクスポートできるイベント数の上限は 100 万件です。ストリーミング エクスポートのイベント数に上限はありません。プロパティがエクスポートの上限を継続的に超えると、BigQuery の日次エクスポートは一時停止され、それ以前の数日間のエクスポートは再処理されません。
アナリティクス 360 プロパティの場合、毎日(高頻度)エクスポートには、観測されたユーザー アトリビューション データや広告インプレッション データなど、日次エクスポートに含まれるすべてのデータフィールドと列が含まれます。詳しくは、毎日(高頻度)エクスポートをご覧ください。
プロパティの編集者と管理者には、自らが管理しているプロパティが 1 日の上限を超えるたびにメール通知が届きます。この通知には、何も対応しなかった場合にエクスポートが一時停止される時期が記載されます。また、標準プロパティが 1 日の上限である 100 万イベントを大幅に超えると、アナリティクスでは日次エクスポートが直ちに一時停止されることがあります。通知が届いた場合は、データ フィルタリング機能(データ ストリーム エクスポートとイベント除外)を利用して、毎日エクスポートするイベント数を減らし、日次エクスポートの作業を継続できるようにしてください。
詳しくは、360 プロパティの機能に適用される制限についての記事をご覧ください。
データのフィルタリング
特定のデータ ストリームとイベントをエクスポートから除外することで、エクスポートのサイズを制限するか、BigQuery で必要なイベントのみをエクスポートできます。
リンク処理中にデータ ストリームとイベントを除外する
リンク処理中に、エクスポートするデータ ストリームを選択する際に、エクスポートから除外するイベントを選択することもできます。リンク処理のステップ 9 をご覧ください。
リンクの設定後にデータ ストリームまたはイベントを追加または削除する
BigQuery のリンクを設定すると、データ ストリームを追加または削除したり、除外リストに対してイベントを追加または削除したりできます。
- [管理] の [サービス間のリンク設定] で、[BigQuery のリンク] をクリックします。
- リンクを変更するプロジェクトの行をクリックします。
- [データ ストリームとイベント] で、[データ ストリームとイベントを表示] をクリックします。
- [エクスポートするデータ ストリーム] で、エクスポートする追加のデータ ストリームを選択するか、リストから既存のデータ ストリームを削除することができます。
- [除外するイベント] リストで、[追加] をクリックして、既存のイベントのリストから選択します。または [名前でイベントを指定] をクリックして名前で既存のイベントを選択するか、プロパティで収集していないイベント名を指定します。
- リストからイベントを削除するには、その行の最後にあるマイナス記号をクリックします。
料金とお支払い
BigQuery の料金はストレージとクエリ処理に基づいて請求されます。料金表をご覧になり、インタラクティブ クエリとバッチクエリの違いを確認してください。
エクスポートを処理するには、Cloud 請求先アカウントで利用できるお支払い方法の登録が必要です。サポートされていないお支払い方法が原因でエクスポートが中断された場合、その期間のデータをエクスポートし直すことはできませんのでご注意ください。
アナリティクスのデータは BigQuery サンドボックスに無料でエクスポートすることもできますが、サンドボックスの制限が適用されることにご注意ください。
データのエクスポートが開始されるタイミング
リンク完了後 24 時間以内に、データが BigQuery プロジェクトにエクスポートされるようになります。毎日のエクスポートを有効にすると、前日のデータが格納された 1 ファイルが毎日(通常は、レポート作成用に設定したタイムゾーンの午後の早い時間帯に)エクスポートされます。
リンクに失敗する理由
BigQuery へのリンクを作成できない理由は、次の 2 つのどちらかです。
- 組織のポリシーによって、米国へのエクスポートが禁止されている: データのロケーションに米国を選択している場合は、別のロケーションを選択します。
- 組織のポリシーによって、データのエクスポート元となるドメインのサービス アカウントの利用が禁止されている: この場合は、組織のポリシーを変更する必要があります。
エクスポートに失敗する理由
失敗 | 原因 | 結果 |
---|---|---|
サービス アカウントがない | Cloud プロジェクトにアクティブ ユーザーのロールを持つサービス アカウントがありません。 | アナリティクスではテーブルを作成できません。エクスポートに失敗しました。 |
インストール後にロボット アカウントが削除された | Cloud アカウントのユーザーが、Google アナリティクスによってインストールされたロボット サービス アカウントを削除しました。 | アナリティクスでテーブルを作成することができなくなり、すべてのエクスポートが停止されます。 |
組織のポリシーが BigQuery Export と競合している | Cloud プロジェクトのユーザーが作成した組織のポリシーにより、アナリティクスでデータのエクスポートができなくなっています。ポリシーは、BigQuery テーブルの作成やテーブルへの書き込みの妨げとなることがあります。また、データ ストレージのリージョンに干渉する場合もあります。 | テーブルは作成されないか、作成されてからすぐ(30 分未満)に削除されます。 |
ユーザーが [課金設定] を変更する | Cloud プロジェクトのユーザーが、BigQuery の課金設定を無料から有料に切り替えました。これは通常であれば問題なく動作しますが、プロジェクトのサイズがすでに 10 GB(サンドボックスの制限値)を超えている場合、エラーが発生することがあります。実際には、エクスポートが失敗することがあります。 | テーブルにデータが入力されません。 |
Cloud プロジェクトが割り当て量を超えている | Cloud では、ほとんどのプロジェクトでリソースに限りがあり、BigQuery ストレージの割り当て量を超過すると、それ以上のデータの書き込みができなくなる場合があります。この割り当て量は、無料のプロジェクトでは小規模(10 GB)となるため、ご注意ください。 | テーブルにデータが入力されません。 |
ユーザーがプロパティのタイムゾーンを変更する | エクスポートでは、プロパティのタイムゾーンに基づいて、プロパティの 24 時間分のスナップショットが取得されます。タイムゾーンが変更された場合、特定の日のエクスポート ウィンドウが短くなったり、長くなったりすることがあります(例: タイムゾーンを米国東部標準時間から米国太平洋時間に変更した場合は、3 時間短くなります)。いずれの場合も、通常とは異なるイベント数がカウントされます。 | 1 日に通常とは異なるイベント数がカウントされ、全般的な混乱が生じます。 |
サポート
料金のご請求など、BigQuery の問題については、Google Cloud サポートにお問い合わせください。
関連資料
BigQuery Export
エクスポートおよびサンプル データセットの利用方法については、BigQuery Export の記事をご覧ください。