---
title: "Klaviyo コネクター"
description: "Tajo 経由で Klaviyo のプロファイル、イベント、リスト、セグメント、キャンペーンデータを Brevo と同期するための完全統合ガイド。"
url: https://tajo.io/jp/docs/connectors/marketing/klaviyo/
markdown: https://tajo.io/jp/docs/connectors/marketing/klaviyo.md
lang: ja-JP
robots: noindex
---

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

# Klaviyo コネクター

コネクターのステータス: 開発中 構築中です。まだ検証されていません。

| 送信元フィールド | 送信先フィールド | サンプル値 |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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` ヘッダーにキーを設定します。

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

### API キースコープ

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

| スコープ | アクセス | 説明 |
| --- | --- | --- |
| `profiles` | Read/Full | コンタクトプロファイルへのアクセス |
| `events` | Read/Full | 追跡済みイベントへのアクセス |
| `lists` | Read/Full | コンタクトリストへのアクセス |
| `segments` | Read | セグメントへのアクセス |
| `campaigns` | Read | キャンペーンデータへのアクセス |
| `metrics` | Read | メトリクス定義へのアクセス |
| `flows` | Read | フロー設定へのアクセス |
| `catalogs` | Read | 商品カタログへのアクセス |

### パブリック API キー

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

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

### OAuth (パートナー統合)

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

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

## 設定

### 基本セットアップ

```yaml
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 コンタクト属性にマッピングします。

```yaml
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 イベントにマッピングします。

```yaml
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 コネクターの初期化

```javascript
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 に同期

```javascript
// 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": "jane@example.com",
//     "first_name": "Jane",
//     "last_name": "Kim",
//     "phone_number": "+15551234567",
//     "properties": { "lifetime_value": 450.00 }
//   }
// }
```

### イベントの作成

```javascript
// 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: 'jane@example.com' } }
        },
        properties: {
          OrderId: 'ORD-1234',
          Value: 89.99,
          Items: [
            { ProductName: 'Widget Pro', Price: 89.99, Quantity: 1 }
          ]
        },
        value: 89.99
      }
    }
  })
});
```

### メトリクス集計のクエリ

```javascript
// 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 リクエスト/分 |
| **OAuth** | 150 リクエスト/秒 | 1,500 リクエスト/分 |
| **Client API** | 100 リクエスト/秒 | 該当なし |
| **バルク操作** | 10 リクエスト/秒 | 100 リクエスト/分 |

API リビジョン必須

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

## トラブルシューティング

| 問題 | 原因 | 解決策 |
| --- | --- | --- |
| `400 Bad Request` | API キー無効または欠落 | プライベート 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

## 関連リソース

- [Brevo コネクター](https://tajo.io/jp/docs/connectors/marketing/brevo)
- [Google Ads コネクター](https://tajo.io/jp/docs/connectors/marketing/google-ads)
- [Meta Ads コネクター](https://tajo.io/jp/docs/connectors/marketing/meta-ads)
- [顧客同期スキル](https://tajo.io/jp/docs/skills/data-sync/customer-sync)
