Klaviyo コネクター

Klaviyo を Tajo 経由で Brevo に接続して、プラットフォーム間でマーケティングデータを移行または同期します。プロファイル、イベント、リスト、セグメント、フロー、キャンペーンデータを同期し、マルチチャネルマーケティング戦略を統一できます。

概要

項目
プラットフォームKlaviyo
カテゴリーマーケティング
セットアップ難易度
公式統合なし
同期データプロファイル、イベント、リスト、セグメント、キャンペーン
利用可能なスキル10
API 標準JSON:API

機能

  • プロファイル同期 - Klaviyo と Brevo 間で顧客プロファイルを双方向同期
  • イベント転送 - Klaviyo の追跡イベントを Brevo へ転送して自動化トリガーに利用
  • リスト移行 - Klaviyo のリストを Brevo コンタクトリストに同期
  • セグメント同期 - Klaviyo セグメントを Brevo のリストまたはセグメントとしてエクスポート
  • フローデータエクスポート - プラットフォーム横断分析のためにフローパフォーマンスデータを取得
  • キャンペーン同期 - Klaviyo と Brevo の両チャネルでキャンペーンを協調
  • カタログ同期 - プラットフォーム間で商品カタログをミラーリング
  • クーポン管理 - クーポンコードと利用データを同期

前提条件

開始する前に、以下をご用意ください。

  1. API アクセス付きの Klaviyo アカウント
  2. 適切なスコープを持つプライベート API キー
  3. Klaviyo パブリック API キー (6 文字の会社 ID)
  4. API アクセス付きの Brevo アカウント
  5. API 認証情報を持つ Tajo アカウント

認証

プライベート API キー

Klaviyo はサーバーサイド認証にスコープ付きアクセスのプライベート API キーを使用します。Authorization ヘッダーにキーを設定します。

Terminal window
curl https://a.klaviyo.com/api/profiles/ \
-H "Authorization: Klaviyo-API-Key your-private-api-key" \
-H "revision: 2026-01-15"

API キースコープ

プライベートキー作成時にスコープを設定します。

スコープアクセス説明
profilesRead/Fullコンタクトプロファイルへのアクセス
eventsRead/Full追跡済みイベントへのアクセス
listsRead/Fullコンタクトリストへのアクセス
segmentsReadセグメントへのアクセス
campaignsReadキャンペーンデータへのアクセス
metricsReadメトリクス定義へのアクセス
flowsReadフロー設定へのアクセス
catalogsRead商品カタログへのアクセス

パブリック API キー

クライアントサイドのトラッキングには 6 文字の会社 ID を使用します。

Terminal window
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \
-H "Content-Type: application/json" \
-d '{"data": {...}}'

OAuth (パートナー統合)

Klaviyo はテックパートナー向けに OAuth をサポートしており、セキュリティとレート制限が向上します。

Terminal window
curl https://a.klaviyo.com/api/profiles/ \
-H "Authorization: Bearer YOUR_OAUTH_TOKEN" \
-H "revision: 2026-01-15"

設定

基本セットアップ

connectors:
klaviyo:
enabled: true
private_api_key: "your-klaviyo-private-key"
public_api_key: "XXXXXX"
api_revision: "2026-01-15"
# Data sync options
sync:
profiles: true
events: true
lists: true
segments: true
catalogs: false
# Brevo list assignment
lists:
all_contacts: 20
subscribers: 21
high_value: 22

プロファイルマッピング

Klaviyo プロファイルプロパティを Brevo コンタクト属性にマッピングします。

profile_mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone_number: SMS
city: CITY
region: REGION
country: COUNTRY
zip: ZIP
organization: COMPANY
title: JOB_TITLE
# Custom properties
lifetime_value: LTV
total_orders: ORDER_COUNT
last_order_date: LAST_ORDER_DATE
preferred_channel: CHANNEL_PREF

イベントマッピング

Klaviyo のメトリクスを Brevo イベントにマッピングします。

event_mapping:
"Placed Order": "order_completed"
"Ordered Product": "product_purchased"
"Started Checkout": "checkout_started"
"Added to Cart": "cart_updated"
"Viewed Product": "product_viewed"
"Subscribed to List": "customer_subscribed"
"Received Email": "email_received"
"Opened Email": "email_opened"
"Clicked Email": "email_clicked"

API エンドポイント

メソッドエンドポイント説明
GET/api/profiles/プロファイル一覧
POST/api/profiles/プロファイルを作成
PATCH/api/profiles/{id}/プロファイルを更新
POST/api/profile-merge/重複プロファイルをマージ
GET/api/events/イベント一覧
POST/api/events/イベントを作成
GET/api/lists/全リスト一覧
POST/api/lists/{id}/relationships/profiles/リストにプロファイルを追加
GET/api/segments/セグメント一覧
GET/api/campaigns/キャンペーン一覧
GET/api/flows/フロー一覧
GET/api/metrics/メトリクス一覧
POST/api/metric-aggregates/メトリクス集計をクエリ
GET/api/catalog-items/カタログアイテム一覧

コード例

Klaviyo コネクターの初期化

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Klaviyo account
await tajo.connectors.connect('klaviyo', {
privateApiKey: process.env.KLAVIYO_PRIVATE_KEY,
publicApiKey: process.env.KLAVIYO_PUBLIC_KEY
});

プロファイルを Brevo に同期

// Fetch Klaviyo profiles and sync to Brevo
const response = await fetch('https://a.klaviyo.com/api/profiles/', {
headers: {
'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`,
'revision': '2026-01-15',
'Accept': 'application/vnd.api+json'
}
});
const { data } = await response.json();
// Each profile follows JSON:API format
// {
// "type": "profile",
// "id": "01ABCDEF",
// "attributes": {
// "email": "[email protected]",
// "first_name": "Jane",
// "last_name": "Kim",
// "phone_number": "+15551234567",
// "properties": { "lifetime_value": 450.00 }
// }
// }

イベントの作成

// Track an event in Klaviyo (forwarded to Brevo via Tajo)
await fetch('https://a.klaviyo.com/api/events/', {
method: 'POST',
headers: {
'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`,
'revision': '2026-01-15',
'Content-Type': 'application/vnd.api+json',
'Accept': 'application/vnd.api+json'
},
body: JSON.stringify({
data: {
type: 'event',
attributes: {
metric: {
data: { type: 'metric', attributes: { name: 'Placed Order' } }
},
profile: {
data: { type: 'profile', attributes: { email: '[email protected]' } }
},
properties: {
OrderId: 'ORD-1234',
Value: 89.99,
Items: [
{ ProductName: 'Widget Pro', Price: 89.99, Quantity: 1 }
]
},
value: 89.99
}
}
})
});

メトリクス集計のクエリ

// Get aggregate metric data for reporting
await fetch('https://a.klaviyo.com/api/metric-aggregates/', {
method: 'POST',
headers: {
'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`,
'revision': '2026-01-15',
'Content-Type': 'application/vnd.api+json'
},
body: JSON.stringify({
data: {
type: 'metric-aggregate',
attributes: {
metric_id: 'METRIC_ID',
measurements: ['count', 'sum_value'],
interval: 'day',
filter: ['greater-or-equal(datetime,2024-01-01)',
'less-than(datetime,2024-02-01)']
}
}
})
});

レート制限

認証方式バースト制限安定時制限
プライベート API キー75 リクエスト/秒700 リクエスト/分
OAuth150 リクエスト/秒1,500 リクエスト/分
Client API100 リクエスト/秒該当なし
バルク操作10 リクエスト/秒100 リクエスト/分

API リビジョン必須

すべての Klaviyo API リクエストには有効な API バージョン日付 (例: 2026-01-15) を設定した revision ヘッダーが必要です。このヘッダーがないリクエストは拒否されます。

トラブルシューティング

問題原因解決策
400 Bad RequestAPI キー無効または欠落プライベート API キーを確認
403 Forbiddenスコープ不足API キーのスコープと必要権限を確認
revision ヘッダー欠落ヘッダー未設定全リクエストに revision: 2026-01-15 を追加
プロファイルが見つからない識別子が誤り検索にはメールではなく Klaviyo プロファイル ID を使用
イベントが同期されないメトリクス名の不一致Klaviyo で定義された正確なメトリクス名と一致させる
429 Too Many Requestsレート制限超過指数バックオフを実装、より高い上限には OAuth を検討
JSON:API フォーマットエラーContent-Type が誤りContent-Type と Accept に application/vnd.api+json を使用

ベストプラクティス

  1. JSON:API フォーマットを使用 - すべてのリクエスト・レスポンスで JSON:API 仕様に従う
  2. revision ヘッダーを設定 - 常に最新 API バージョン日付の revision ヘッダーを含める
  3. スパースフィールドセットを使用 - ?fields[profile]=email,first_name で必要なフィールドのみ要求し、ペイロードサイズを削減
  4. リレーションシップを活用 - JSON:API の include パラメータで関連リソースを 1 リクエストで取得
  5. カーソルページネーションを使用 - page[cursor] パラメータで大規模結果を走査
  6. バルク操作を実装 - プロファイル一括インポートとイベント作成にバルクエンドポイントを使用
  7. より高い制限には OAuth を利用 - OAuth 認証はプライベートキーの 2 倍のレート制限を提供

セキュリティ

  • プライベート API キースコープ - リソース種別ごとに Read/Full のきめ細かいアクセス制御
  • OAuth 対応 - パートナー統合向け安全なトークンベース認証
  • パブリックキー分離 - クライアントサイドキーは作成専用操作に限定
  • TLS 1.2+ - すべての API 通信は転送時に暗号化
  • SOC 2 Type II - Klaviyo は SOC 2 Type II 認証取得済み
  • GDPR 準拠 - プロファイル削除リクエスト用 Data Privacy API

関連リソース

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。