Klaviyo のデータを BigQuery に読み込む
Klaviyo から BigQuery にデータを読み込むには、Klaviyo 用 BigQuery Data Transfer Service コネクタを使用します。BigQuery Data Transfer Service を使用すると、Klaviyo から BigQuery に最新のデータを追加する定期的な転送ジョブのスケジュールを設定できます。
始める前に
以降のセクションでは、Klaviyo のデータ移転を作成する前に必要な前提条件について説明します。
Klaviyo の前提条件
Klaviyo コネクタが BigQuery にデータを転送できるようにするには、読み取り専用の非公開 API キーが必要です。詳細については、秘密鍵を作成するをご覧ください。
BigQuery の前提条件
- BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
- データを保存する BigQuery データセットを作成します。
必要な 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 のアクセス権を付与するをご覧ください。
Pub/Sub の転送実行通知を設定する場合は、pubsub.topics.setIamPolicy IAM 権限があることを確認します。メール通知のみを設定する場合は、Pub/Sub の権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。
Klaviyo のデータ転送を設定する
次のいずれかのオプションを使用して転送構成を設定し、Klaviyo データを BigQuery に追加します。
コンソール
Google Cloud コンソールの [データ転送] ページに移動します。
[転送を作成] をクリックします。
[ソースタイプ] セクションで、[ソース] として [Klaviyo - プレビュー] を選択します。
[データソースの詳細] セクションで、次のようにします。
- [Private API Key] に、非公開 API キーを入力します。詳細については、Klaviyo の前提条件をご覧ください。
- 省略可: [開始日] で、データ移転に含める新しいレコードの開始日を指定します。この日付以降に作成されたレコードのみがデータ移転に含まれます。デフォルト値は、転送実行日の 3 か月前です。
- [Klaviyo objects to transfer] で、[参照] をクリックして、BigQuery 宛先データセットに転送するオブジェクトを選択します。このフィールドには、データ移転に含めるオブジェクトを手動で入力することもできます。
[転送先の設定] セクションの [データセット] で、データを保存するために作成したデータセットを選択します。
[転送構成名] セクションの [表示名] に、データ転送の名前を入力します。
[スケジュール オプション] セクションで:
- [繰り返しの頻度] リストで、この転送の実行頻度を指定するオプションを選択します。カスタムの繰り返しの頻度を指定するには、[カスタム] を選択します。[オンデマンド] を選択した場合、手動で転送をトリガーすると、この転送が実行されます。
- 必要に応じて、[すぐに開始] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。
省略可: [通知オプション] セクションで、次のようにします。
- メール通知を有効にするには、[メール通知] をクリックします。このオプションを有効にした場合、転送の実行が失敗すると転送管理者にメール通知が送信されます。
- この転送の Pub/Sub 転送実行通知を有効にするには、[Pub/Sub 通知] をクリックします。トピック名を選択するか、[トピックを作成] をクリックしてトピックを作成します。
[保存] をクリックします。
bq
bq mk コマンドを入力して、転送作成フラグ --transfer_config を指定します。
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=NAME --target_dataset=DATASET --params='PARAMETERS'
次のように置き換えます。
PROJECT_ID(省略可): Google Cloud プロジェクト ID。--project_idで特定のプロジェクトを指定しない場合は、デフォルトのプロジェクトが使用されます。DATA_SOURCE: データソース -klaviyo。NAME: データ転送構成の表示名。転送名には、後で修正が必要になった場合に識別できる任意の名前を使用できます。DATASET: 転送構成のターゲット データセット。PARAMETERS: 作成される転送構成のパラメータを JSON 形式で指定します。例:--params='{"param":"param_value"}'。Klaviyo データ転送のパラメータは次のとおりです。assets: BigQuery に転送する Klaviyo オブジェクトのパス。connector.authentication.privateApiKey: Klaviyo アカウントの非公開 API キー。connector.startDate:(省略可)データ移転に含める新しいレコードの開始日(YYYY-MM-DD形式)。この日付以降に作成されたレコードのみがデータ移転に含まれます。デフォルト値は、転送実行日の 3 か月前です。
次のコマンドは、デフォルト プロジェクトに Klaviyo データ転送を作成します。
bq mk --transfer_config --target_dataset=mydataset --data_source=klaviyo --display_name='My Transfer' --params= ' { "assets": [ "Events" , "Flows"] , "connector.authentication.privateApiKey" : "pk_123456789123", "connector.startDate": "2025-10-20" }'
定期的なスケジュール外でデータ転送を手動で実行するには、バックフィル実行を開始します。
Klaviyo のデータ移転に含まれるデータのリストについては、Klaviyo データモデルのリファレンスをご覧ください。
データ型マッピング
次の表に、Klaviyo のデータ型と対応する BigQuery データ型のマッピングを示します。
| Klaviyo のデータ型 | BigQuery のデータ型 |
|---|---|
String |
STRING |
Text |
STRING |
Integer |
INTEGER |
Boolean |
BOOLEAN |
Date (YYYY-MM-DD HH:MM:SS) |
TIMESTAMP |
List |
ARRAY |
料金
この機能のプレビュー版では、Klaviyo データを BigQuery に転送する際に費用は発生しません。
転送の設定に関するトラブルシューティング
データ転送の設定で問題が発生した場合は、Klaviyo の転送に関する問題をご覧ください。
次のステップ
- BigQuery Data Transfer Service の概要については、BigQuery Data Transfer Service とはをご覧ください。
- 転送構成に関する情報の取得、転送構成の一覧表示、転送の実行履歴の表示など、転送の使用方法については、転送の管理をご覧ください。