Google Analytics Data API を使用すると、Google Analytics 4(GA4)のレポートデータにプログラムからアクセスできます。Google Analytics 4 は、Web、iOS、または Android アプリの利用状況を把握するのに役立ちます。
- Treasure Data の基礎知識
- Google Analytics 4(GA4)の基礎知識
- Google Analytics 4 アカウント
Google Analytics 4 アカウントまたはサービスアカウント JSON キー
OAuth の使用が最も一般的な方法です。この方法では、セットアップ手順が少なくて済みます。このセクションの残りの部分をスキップして、TD Console に直接移動できます。
実装によっては、JSON キーの使用が必要になる場合があります。この方法では、Google API コンソールからのセットアップ手順が必要です。
Google API Console を開きます: https://console.developers.google.com
API 経由でアクセスしたい Google アカウントにサインインします。
NEW PROJECT を選択します。

- プロジェクトに名前を付けます。

Create を選択します。
Google Analytics Data API v1 を有効にします。プロジェクトの APIs & Services に移動し、+ ENABLE APIS & SERVICES を選択します。

- Library ページから、Google Analytics Data API を検索して入力し、Enter キーを押します。

- Google Analytics Data API を選択します。

- Enable を選択します。

新しいサービスアカウントを作成するために、Service account にアクセスします。
APIs & Services から、Credentials を選択し、次に Service account を選択します。
ステップ 1 のフィールドに入力して、サービスアカウントを作成します。2 つのオプションパラメータはスキップできます。

Done を選択します。
Actions タブを選択します。

- keys を選択します。

- Add key プルダウンから、Create new key を選択します。

- ローカルマシンにダウンロードする JSON キータイプを選択し、Create を選択します。

- 秘密鍵がコンピュータに保存されたという通知が表示されます。ファイルは安全な場所に保管してください。

- 秘密鍵情報を使用して、インテグレーションの設定ファイルを編集します。ファイルは次のようになります。
{
"type": "service_account",
"project_id": "central-stream-314923",
"private_key_id": "94d03bf7dd9c05bc122c695d1aa13f2a8a28f88e",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w**********************AoIBAQCNhAICLr/dozCQ\nTW9ZNMNJ6RF+fVqhd0FUbw0VBIwy6BWu/LuaocJrzl2DHChAl0PNvGCDUAObBTRz\nbUT/HOu47q**********7ENGK\nOir9VChG+Qubq25bAtOq/yTVEPJgnj*******AGVjojVnK4f\n2YtW6ti7xBPwFBF1RPY56yTDeVQVko+KK3x+LFS+lTj1+jBBjvedWHrpQQfRHqV/\nVtXyKyDybQlnfAOucMHzMxjQVLN4f9D7JVxCe52Wp7RaALCIdkKDqN/ffkNMF9QT\nCjffudeTAgMBAAECggEAFMQnS0yy6QI2cSZ7zXpZofHqmEYq04DdfFdjcw8cx6eY\n7vm1Seas0gcRX9j06y2HTJx1CS/np4rm/H0vX8RNrvCPYXrOJzUG2DOnW9pwi9Hl\nKb1Z0VErenzy/em78BI958fXIJ4vv5pjNUZ94njEBE4tbuWEJyTODMyuCfoXpye4\nkCDY6DJFxDKUA7tZOTcK3t0YiVV0O2MwcUhJdr107kw4F1HXY/mlh87ki5z3tMy0\nISBKjvau2aWf0SVLZHtlo88JZGUak7tkuxnWaXQN+dUo1rZWKj867pBT4KWXzAbJ\nUVQ7pBrDFri90fNQ5XFsQdS//dO2pFEn+1Aum86Q0QKBgQDB4RHjBWdJ3eMyvWWi\nipdCx4gC6G5Hqjt+icKv9yddyV/WvuMH82xDAHUJJBzaj9I45O5D+07O6TZO8CkZ\n6Tqq92N3HEkHZWiUTo91C4qbO4ai5SXxpnWn5gsYc+JYPqNp1b+T1gZjA4Pj8l+t\neJ7VDGxu0tjK17Vj13turImXCQKBgQC629KRpvq9FAIWuA8NAXBSeqNyzktPVdOZ\n5GJvwCevVzIapvwZPoZTaJ6xehta1hrR859ZReZx/j7ntoOjAjGw1rS//T5N98Hf\nt+JpCemAa5ApcoUBAXmlb80jIHysRBgMUTLcTKnZuFT3RwsD1xtXjRct0doIF8EC\nd8RLE7FkuwKBgQCJSuGIuwXWqBtAjiBPxwawUm29aWzWsPTqeZF1XHbzEiwc/RX2\nRmmu1L8MFxebqmb6xRr45xh6q2k64xSn9aIG+aLk8RHB/AzfoPYzs1WW8cM4zT5e\nbjs5B01qJn3tcYX051l/zfq92Ppny/X2+Mi5I9ARdpvwoGoh5rDQwbu5SQKBgHx8\naGtKsC75Pm7+TmCevcLlGzEoCHohNqiGw6GphYbF84ZYCwmSYxD8WQTp0YGRtCp9\nQILME7uL40KhkE8v7gTe9WoWf8SXs5ykt/y8cshwYImMVtmVrwItWp/1S7nEX7UM\n/3JOzLVUnZ5jwQ3c58VLJM8MyFGt6ZMIUUinJP5zAoGAICmOlDqPWR2RXPo+9SkN\nok82AjvsjeUMDsiCkEVsAQMBZkYbND0047BAg7STqVjIaJg0zYFvQ5oow5zgu1lk\n46nxtfQm3U58lILErGsmClxcOZR2nO7kvm0PJMUgENADGhP5pqE+8w+e4JC45Ojw\nX7X+hhL/a7pu2Un9O/rXZVM=\n-----END PRIVATE KEY-----\n",
"client_email": "meg-td-service-account@central-stream-314923.iam.gserviceaccount.com",
"client_id": "117460147437348814027",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/meg-td-service-account%40central-stream-314923.iam.gserviceaccount.com"
}Google Analytics 4にサービスアカウントを追加するには、前のステップで取得したJSONキーファイルが必要です。Google Analytics Data API v1を介してアクセスするGA4プロパティにユーザーを追加するには、Analyst権限が必要です。
テキストエディタで
json keyファイルを開き、client_emailフィールドを検索してサービスアカウントのメールアドレスを取得します。次のようなアドレスになります:"client_email": "meg-td-service-account@central-stream-314923.iam.gserviceaccount.com"Google Analytics https://analytics.google.comにサインインします。
Adminを選択し、目的のアカウント/プロパティに移動します。

AccountまたはPropertyペイン(アカウントレベルまたはプロパティレベルのどちらでユーザーを追加するかによって異なります)で、Access Managementを選択します。
Account permissionsリストから+を選択し、Add usersを選択します。

- jsonキーから控えておいたメールアドレスを入力します。Viewerロール以上(Analyst、Editor、Administrator)を選択します。Addを選択します。これで、サービスアカウントがGoogle Analytics Data APIを介してGoogle Analytics 4を使用できるようになりました。

Treasure Dataにデータをインポートするには、Property IDが必要です。
Google Analytics https://analytics.google.com/にサインインします
Adminを選択し、目的のアカウント/プロパティに移動します

- Property IDを取得またはコピーします。これはTreasure Data Import Dataの作成に必要です。
カスタムディメンションやカスタム指標を作成して、データをカスタマイズすることができます。
Google Analytics https://analytics.google.comにサインインします。
Adminを選択し、目的のアカウントに移動してConfigureを選択します。

- Custom definitionsを選択します。


カスタムディメンションまたは指標名は、次のように連結して取得できます: custom{Scope}:{dimension or metric name}
例えば、前の画像ではカスタムディメンション名にcustomUser:test_cs_dimensionを使用し、カスタム指標名にcustomEvent:test_cs_metricを使用しています。
Treasure Dataでは、クエリを実行する前にデータ接続を作成して構成する必要があります。データ接続の一部として、統合にアクセスするための認証情報を提供します。
TD Consoleを開きます。
Integrations Hub > Catalogに移動します。
Google Analytics Data APIを検索して選択します。

Create Authenticationを選択します。
次のいずれかの認証方法を選択します:
JSON key情報を入力します。 サービスアカウントのprivate keyを含めるようにしてください。JSON key情報全体が中括弧{…}で囲まれていることを確認してください。
Google Cloud PlatformからダウンロードしたJSONファイルをお好みのテキストエディタで開きます。例:

json keyをテキストボックスにコピーして貼り付けます。
Continueを選択します。

認証方法を選択したら、接続の名前を入力します。
Doneを選択します。
認証接続を作成すると、自動的に Authentications に移動します。
Google Analytics 4 からディメンション、メトリクス、またはカスタムディメンション、カスタムメトリクスの情報を入力する必要があります。ディメンションとメトリクスのリストについては、https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema を参照してください。
作成した接続を検索します。
New Source を選択します。
Data Transfer フィールドに Source の名前を入力します。Next を選択します。
Source Table ダイアログが開きます。ディメンションまたはカスタムディメンション、およびメトリクスまたはカスタムメトリクスの情報を提供する必要があります。


- 以下のパラメータを編集します:
| Parameters | Description |
|---|---|
| Property ID | GA4 プロパティ ID。Google Analytics からプロパティ ID を取得する セクションを参照してください |
| Report Mode | Basic または Advanced レポート。Advanced レポートを作成する場合は、https://developers.google.com/analytics/devguides/reporting/data/v1/advanced を参照してください |
| Dimensions | ディメンションまたはカスタムディメンション名。ディメンションのリストについては https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema を参照し、カスタムディメンションのリストを取得するには Google Analytics からカスタムディメンションまたはカスタムメトリクス名を取得する を参照してください。例: - audienceId - customUser:test_cs_dimension |
| Metrics | メトリクスまたはカスタムメトリクス名。メトリクスのリストについては https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema を参照し、カスタムメトリクスのリストを取得するには Google Analytics からカスタムディメンションまたはカスタムメトリクス名を取得する を参照してください。例: - promotionViews - promotionClicks - customEvent:test_cs_metric |
| Start Date | レポートデータのクエリを開始する日付。サポートされる形式:YYYY-MM-DD、today、yesterday、NdaysAgo。パラメータ値は大文字と小文字を区別します。例: - 2022-03-12 - today - yesterday - 4daysAgo |
| End Date | レポートデータのクエリを終了する日付。サポートされる形式:YYYY-MM-DD、today、yesterday、NdaysAgo。パラメータ値は大文字と小文字を区別します。例: - 2022-03-12 - today - yesterday - 4daysAgo |
| Advanced Payload | JSON 形式の Advanced レポート定義。詳細については https://developers.google.com/analytics/devguides/reporting/data/v1/advanced を参照してください。例:{"metrics":[{"name":"cohortActiveUsers"}],"dimensions":[{"name":"cohort"},{"name":"cohortNthWeek"},{"name":"country"}],"cohortSpec":{"cohorts":[{"dimension":"firstSessionDate","dateRange":{"startDate":"2022-10-04","endDate":"2022-10-10"}}]}} |
例:


- Next を選択します。

- Next を選択します。
データプレビューはオプションであり、必要に応じてダイアログの次のページに進むために Next をクリックしても問題ありません。
インポートを実行する前にデータのプレビューを表示するには、Generate Preview を選択します。
データプレビューに表示されるデータは、ソースから近似されたものです。実際にインポートされるデータではありません。
データがおおよそ期待通りに見えることを確認します。

Next を選択します。
データ配置では、データを配置するターゲットのデータベースとテーブルを選択し、インポートを実行する頻度を指定します。
- Next を選択します。 Storage で、インポートしたデータを配置する新しいデータベースを作成するか既存のデータベースを選択し、新しいテーブルを作成するか既存のテーブルを選択します。
2. Database を選択 > Select an existing または Create New Database を選択します。 3. オプションでデータベース名を入力します。 4. Table を選択 > Select an existing または Create New Table を選択します。 5. オプションでテーブル名を入力します。 6. データをインポートする方法を選択します。
- Append(デフォルト)- データインポート結果がテーブルに追加されます。 テーブルが存在しない場合は、作成されます。
- Always Replace - 既存のテーブルのコンテンツ全体をクエリの結果出力で置き換えます。テーブルが存在しない場合は、新しいテーブルが作成されます。
- Replace on New Data - 新しいデータがある場合にのみ、既存のテーブルのコンテンツ全体を結果出力で置き換えます。
- Timestamp-based Partition Key カラムを選択します。 デフォルトキー以外のパーティションキーシードを設定したい場合は、long または timestamp カラムをパーティショニング時間として指定できます。デフォルトのタイムカラムとして、add_time フィルターを使用した upload_time が使用されます。
- データストレージの Timezone を選択します。
- Schedule で、このクエリを実行するタイミングと頻度を選択できます。
- Select Off.
- Select Scheduling Timezone.
- Select Create & Run Now.
- Select On.
- Select the Schedule. The UI provides these four options: @hourly, @daily and @monthly or custom cron.
- You can also select Delay Transfer and add a delay of execution time.
- Select Scheduling Timezone.
- Select Create & Run Now.
After your transfer has run, you can see the results of your transfer in Data Workbench > Databases.
SOURCE を既に作成している場合、ワークフローの td_load>: オペレーターを使用して Google Analytics 4 からデータをインポートできます。
- TD Console で、Integrations Hub > Sources に移動します。

- コネクターを選択し、その他メニュー(…)を選択します。Copy Unique ID を選択します。
td_load> オペレーターを使用してワークフロータスクを定義します
+load:
td_load>: unique_id_of_your_source
database: your_database
table: your_table- ワークフローを実行します。