Klaviyoは、eコマースビジネス向けのメールマーケティング自動化に特化したデジタルマーケティングプラットフォームです。Klaviyoは、eコマース向けのSMSおよびメールマーケティング自動化プラットフォームを提供しており、無料アカウントでは250件の連絡先と500通のメール送信が可能です。
このTDインポートを使用すると、KlaviyoアカウントからTreasure Dataにデータを転送できます。
- TD Toolbeltを含む、Treasure Dataの基本知識
- Klaviyoのアカウント
- Klaviyoアカウントのプライベート APIキー
- CLIからのインポートには、Ruby Gem for TD Toolbeltが必要です。
Treasure Dataの静的IPアドレスは、このインテグレーションのアクセスポイントおよび連携元です。静的IPアドレスを確認するには、カスタマーサクセス担当者またはテクニカルサポートにお問い合わせください。
Klaviyoからインポートするには、Klaviyoアカウントに関連付けられたAPIキーが必要です。
- Klaviyoの認証情報を使用して、https://www.klaviyo.com/loginにログインします。
- Settingsを選択します。

- Accountタブを選択し、次にCreate Private API Keyを選択します。

- APIキー名を入力し、APIキーのアクセススコープを選択します。

- Createを選択します。
最初のステップは、認証情報セットを使用して新しい認証を作成することです。
- Integrations Hub > Catalogを選択します。

- カタログでKlaviyoを検索し、アイコンにマウスを合わせてCreate Authenticationを選択します。

- Credentialsタブが選択されていることを確認し、KlaviyoのプライベートAPIキーを入力します。
- Continueを選択します。
- 認証の名前を入力し、Doneを選択します。
- TD Consoleを開きます。
- Integrations Hub > Authenticationsに移動します。
- Klaviyo認証を見つけて、New Sourceを選択します。

| Parameter | Description |
|---|---|
| Data Transfer Name | 転送の名前を定義できます。 |
| Authentication | 転送に使用される認証名。 |
- Data Transfer Nameフィールドにソース名を入力します。
- Nextを選択します。
Source Tableタブが選択された状態で、ソースの作成ページが表示されます。

次の表は、ソーステーブルを構成するためのパラメータについて説明しています:
| Parameter | Mandatory | Description |
|---|---|---|
| Data Source | Yes | 取り込む必要のあるデータを指定します。サポートされる値:
|
| Revision | No | APIエンドポイントのリビジョン(形式: YYYY-MM-DD)。詳細については、Appendix Aセクションを参照してください。推奨される安定したリビジョン値:
|
| Skip Related Object | No | このチェックボックスは、Data SourceがEventsの場合にのみ表示されます。メトリクスおよびプロファイルオブジェクトの詳細の取得をスキップするには、ユーザーは個別の構成でそれらを取得し、後でそれらのテーブルを結合できます。 |
Incremental | No | このチェックボックスは、Data Sourceが次のいずれかの値の場合にのみ表示されます:
チェックボックスを選択すると、カスタムの開始時刻-終了時刻を使用した増分データ読み込みが有効になります。 |
Filter By | No | 開始時刻と終了時刻を使用した時間ベースのフィルタで使用されるオブジェクト属性を選択します:
このオプションの利用可能性は、データソースによって異なります。 |
| Start Time - End Time | No | この期間のKlaviyoからデータをリクエストします。形式: ISO 8601形式(yyyy-MM-dd'T'HH:mm:ss) |
Revision: 空白のままにすると、インテグレーションによって管理されるデフォルトバージョンが使用されます。
Skip Related Object: パフォーマンスを向上させるには、これを有効にします。
Incremental: 増分モードを実行する場合、開始時刻および/または終了時刻が欠落している場合、コネクタは前回の実行の終了時刻を新しい開始時刻として使用し、現在のシステム時刻を終了時刻として使用します。
- Nextを選択します。

| Parameter | Type | Mandatory | Default Value | Description |
|---|---|---|---|---|
| Retry Limit | Number | No | 5 | API呼び出しごとの最大リトライ回数。 最小: 1、最大: 7 |
| Initial retry time wait | Number | No | 1 | API呼び出しごとの初期リトライ間隔(秒)。 最小: 1、最大: 10 |
| Max retry wait | Number | No | 300 | API呼び出しごとの最大リトライ間隔(秒)。 最小: 30、最大: 1800 |
| HTTP Connection Timeout | Number | No | 300 | HTTP接続タイムアウト(秒)。 最小: 30、最大: 1800 |
| HTTP read timeout | Number | No | 300 | HTTP読み取りタイムアウト(秒)。 最小: 30、最大: 1800 |
| HTTP write timeout | Number | No | 300 | HTTP書き込みタイムアウト(秒)。 最小: 30、最大: 1800 |
- Nextを選択します。

データプレビューに表示されるデータは、ソースから概算されたものです。実際にインポートされるデータではありません。
- データをプレビューするには、Generate Preview を選択します。オプションで、Next を選択して次のセクションにスキップできます。
- データが期待どおりに表示されていることを確認します。
- Next を選択します。

Storage セクションで、Treasure Data 内でデータを保存する場所の詳細を指定します:
- Database — データを保存するデータベースを選択します。
- Table — インポートしたデータを保存する宛先テーブル
- Method
- Append — 既存のテーブルにレコードを追加します。(データが重複する可能性があることに注意してください。)
- Always Replace — レコードを追加する前に、常に宛先テーブルをクリアします。
- Replace on new data — 新しいデータが見つかった場合、古いデータは新しいデータで上書きされます。
- Timestamp-based Partition Key — パーティションキーとして使用するカスタムタイムスタンプカラムを選択します。
- Data Storage Timezone — データベースに想定されるタイムゾーン。
Schedule セクションでは、このクエリを実行するタイミングと頻度を選択できます。
- Repeat — On または Off を選択します。
- Schedule — ドロップダウンリストには次のオプションがあります: @daily (midnight)、@hourly,(:00)、または Custom cron。
- Delay Transfer — 実行時間に遅延を指定できます。
- Scheduling Timezone
Create & Run Now を選択します。
転送が実行された後、Data Workbench > Databases で転送の結果を確認できます。
TD Toolbeltを使用してKlaviyoからデータをインポートします。
Ruby Gemを使用して最新の TD Tool をインストールします。
$ gem install td
$ td --version
0.16.10他のインストール方法もあります。詳細については、Treasure Data Toolbelt を参照してください。
config.yml 設定ファイルを作成します:
in:
type: klaviyo
data_source: lists
api_token: xxx
revision_time: "2022-12-17"
incremental: true
start_time: "2023-06-01T17:06:39.698883"
incremental_field: updated
out:
mode: append設定ファイルが取り込むデータをプレビューできます:
$ td connector:preview config.yml
+-----------+-----------------------+-------------------------+-------------------------+
| id:string | name:string | created:string | updated:string |
+-----------+-----------------------+-------------------------+-------------------------+
| SPg3aL | chrome_line_name | 2021-08-30 05:35:46 UTC | 2021-08-30 05:35:46 UTC |
| QPg3zL | 100_w_phone_line_name | 2021-08-27 23:49:56 UTC | 2021-08-27 23:49:56 UTC |
+-----------+-----------------------+-------------------------+-------------------------+定期的なKlaviyoインポートのために、定期的なデータコネクタ実行をスケジュールできます。この機能を使用することで、ローカルデータセンターで cron デーモンを使用する必要がなくなります。
新しいスケジュールは td connector:create コマンドを使用して作成できます。次のデータを指定する必要があります:
- スケジュールの名前
- cron形式のスケジュール
- データが保存されるデータベースとテーブル
- データコネクタ設定ファイルが必要です。
$ td connector:create \
daily_klaviyo_import \
"10 0 * * *" \
sample_db \
sample_table \
config.ymlcronパラメータは、@hourly、@daily、@monthly の3つの特別なオプションも受け入れます。詳細については、Scheduled Jobs を参照してください。
デフォルトでは、スケジュールは UTC タイムゾーンで設定されます。-t または --timezone オプションを使用して、タイムゾーンでスケジュールを設定できます。--timezone オプションは、'Asia/Tokyo'、'America/Los_Angeles' などの拡張タイムゾーン形式のみをサポートします。PST や CST などのタイムゾーンの略語はサポートされていません。予期しないスケジュールになる可能性があります。
td connector:list を入力すると、現在スケジュールされているエントリのリストを確認できます。
$ td connector:list
+----------------------+------------+----------+-------+-----------------+--------------+
| Name | Cron | Timezone | Delay | Database | Table |
+----------------------+------------+----------+-------+-----------------+--------------+
| daily_klaviyo_import | 10 0 * * * | UTC | 0 | sample_database | sample_table |
+----------------------+------------+----------+-------+-----------------+--------------+td connector:show は、スケジュールエントリの実行設定を表示します。
$ td connector:show daily_klaviyo_import Name : daily_klaviyo_import Cron : 10 0 * * * Timezone : UTC Delay : 0 Database : sample_db Table : sample_tabletd connector:history は、スケジュールエントリの実行履歴を表示します。個々の実行結果を調査するには、td job:show jobid を使用します。
| 577914 | success | 20000 | sample_db | sample_table | 0 | 2015-04-16 00:10:03 +0000 | 152 | | 577872 | success | 20000 | sample_db | sample_table | 0 | 2015-04-15 00:10:04 +0000 | 163 | | 577810 | success | 20000 | sample_db | sample_table | 0 | 2015-04-14 00:10:04 +0000 | 164 | | 577766 | success | 20000 | sample_db | sample_table | 0 | 2015-04-13 00:10:04 +0000 | 155 | | 577710 | success | 20000 | sample_db | sample_table | 0 | 2015-04-12 00:10:05 +0000 | 156 | | 577610 | success | 20000 | sample_db | sample_table | 0 | 2015-04-11 00:10:04 +0000 | 157 | +--------+---------+---------+-----------+--------------+----------+---------------------------+----------+td connector:delete は、スケジュールを削除します。
$ td connector:delete daily_klaviyo_importTreasure Data Klaviyoコネクタは、"Stable" Klaviyo APIのみをサポートします。"v1-2" レガシーAPIや非推奨のAPIはサポートしていません。"v1-2" レガシーAPIは、2024年1月1日に終了する予定です。

Klaviyo APIは、後方互換性のない変更を含む正確なAPIリリースをより明示的に指定できるバージョニングシステムに従っています:
新しいKlaviyo API(/apiエンドポイント)のパスにはバージョン番号が含まれていません。
バージョンは現在、YYYY-MM-DDのパターンでフォーマットされます。例えば、リビジョン2022-04-15です。Klaviyoコネクタでは、TD ConsoleまたはTD Toolbeltを使用して新しいソースを作成する際に、リビジョンは必須パラメータです。
Klaviyoは次のリビジョンの使用を推奨しています
Revision Deprecated? Planned retirement date Retired? 2022-10-17Yes ~January 24th, 2024 No 2023-01-24Yes ~February 23rd, 2024 No 2023-02-22No TBD No
- API versioning and deprecation policy: https://developers.klaviyo.com/en/docs/api_versioning_and_deprecation_policy
- API Overview: https://developers.klaviyo.com/en/reference/api_overview