> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Klaviyo Cohorts

> KlaviyoのセグメントをKameleoonにインポートし、行動コホートに基づいて訪問者をターゲティングして、精密なA/Bテストとパーソナライゼーションを実施できます。

<Note>
  この機能はオープンベータ版であり、現在も活発に開発が進められています。この連携のサポートが必要な場合は、[Kameleoonサポートチーム](https://www.kameleoon.com/en/contact)までお問い合わせください。
</Note>

[Klaviyo](https://www.klaviyo.com/) は、ECやB2Cブランドがリアルタイムの顧客データとAI駆動のインサイトを使用して、メール、SMS、モバイル、および顧客エンゲージメントキャンペーンをパーソナライズするのに役立つマーケティングオートメーションおよび顧客関係管理プラットフォームです。企業はそれを使ってマーケティングを自動化し、オーディエンスをセグメント化し、顧客行動を分析し、デジタルチャネル全体で維持、コンバージョン、収益成長を促進します。

<Frame>
  ![Integration information](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-source/analytics/klaviyo-cohorts/klaviyo-flow.png)
</Frame>

Kameleoon Klaviyo Cohorts連携は、KlaviyoのセグメントをKameleoonに自動的に同期します。

## 主なメリット

* **シームレスなコホート同期：** Klaviyoのユーザーセグメントを手間なくKameleoonにインポートできます。
* **パーソナライズドターゲティング：** ユーザー行動に基づいたカスタマイズされた体験を提供します。
* **実験の精度向上：** 特定のオーディエンスグループに対して精密なA/Bテストを実行できます。
* **リアルタイム更新：** ユーザーセグメントを自動的に最新の状態に保ちます。

## ユースケース

### 行動ターゲティングで実験を最適化する

KlaviyoセグメントをKameleoonと同期し、ユーザーのリアルタイムな行動に基づいてバリアントをテストできます。

例えば、製品ページを複数回閲覧したがカートに何も追加していないユーザーに対してA/Bテストを実施します。期間限定のオファーやソーシャルプルーフメッセージなど、異なるインセンティブをテストして、最もコンバージョンに寄与する戦略を判断できます。

### 行動セグメンテーションで結果を分析する

Klaviyoコホートを利用してKameleoonキャンペーンをブレークダウンし、より深い洞察を得られます。

例えば、テストやパーソナライゼーションキャンペーンでコンバージョン低下が見られた場合、Klaviyoの主要セグメント（ハイバリュー顧客や解約しやすいユーザーなど）を分析してパターンを把握できます。Klaviyoセグメントにより、どのような体験が異なるユーザーグループに最も響くかを理解し、戦略を改善できます。

### Klaviyoの豊富なユーザーインサイトを使って体験をパーソナライズする

行動、ライフサイクルステージ、購入履歴など、Klaviyoの深いユーザーデータを活用して、Kameleoonで極めて関連性の高い体験を作成できます。

例えば、頻繁な購入者、最近サブスクリプションをダウングレードしたユーザー、特定のコンテンツに関与するユーザーを特定します。その後、Kameleoonでメッセージング、プロモーション、機能のおすすめをカスタマイズし、エンゲージメントとコンバージョンを最大化できます。

## はじめに

### KameleoonのVisitor CodeをKlaviyo識別子として保存する

Klaviyo JavaScript APIを使用して、KameleoonのVisitor Codeを割り当てます：

```javascript theme={null}
// Ensure Klaviyo and Kameleoon are loaded before identifying the user
klaviyo.identify({
  // 'email' : 'george.washington@example.com',
  // 'first_name' : 'George',
  // 'last_name' : 'Washington',
  'kameleoon_visitor_code': Kameleoon.API.Visitor.code,
});
```

### Kameleoonで連携を有効化する

<Frame>
  ![Integration pop-in](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-source/analytics/klaviyo-cohorts/klaviyo-cohorts.png)
</Frame>

連携を有効化するには：

1. **Kameleoon Admin** > **Integrations** へ移動します。
2. **Klaviyo Cohorts** をクリックし、**Install** を選択します。
3. プロジェクトを選択して **Validate** をクリックします。Kameleoonとのデータ共有を承認するため、Klaviyoにリダイレクトされます。
4. KlaviyoにKameleoonとのデータ共有許可を付与します。

<Frame>
  ![Klaviyo permissions](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-source/analytics/klaviyo-cohorts/klaviyo-permissions.png)
</Frame>

Klaviyoセグメントは、初回接続時にKameleoonと自動的に同期され、その後は4時間ごとに更新されます。

## KameleoonキャンペーンでKlaviyoコホートを活用する

### 実験でKlaviyoセグメントをターゲティングするためのカスタムデータを作成する

Klaviyoコホートに基づくセグメントを作成するには、**Kameleoon** > **Configure** > **Custom data** でカスタムデータをセットアップします。

#### クライアントサイド実験のためにKlaviyoセグメントを取得する

1. **New custom data** をクリックします。
2. カスタムデータを構成します：
   * **Name：** Klaviyo Cohorts。
   * プロジェクトを選択します。
   * **Retrieval method：** カスタムJavaScriptコード。

<Frame>
  ![Klaviyo custom data](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-source/analytics/klaviyo-cohorts/klaviyo-custom-data.png)
</Frame>

3. このスニペットを専用フィールドに挿入します：

```javascript theme={null}
Kameleoon.API.Data.retrieveDataFromRemoteSource("KLAVIYO_COHORTS_" + Kameleoon.API.Visitor.code, function(data) {
  if (data?.cohorts) {
    data.cohorts.map(function(segment) {
      Kameleoon.API.Data.setCustomData("Klaviyo Cohorts", segment);
    });
  }
});

return { "value": null }
```

4. 残りのフィールドを設定します：
   * **Type：** List。
   * **Format：** String。
   * **Scope：** スコープは要件に応じて **Page** に設定できます。スコープが Page の場合、Klaviyoによってコホートに識別されたユーザーであれば、ページが読み込まれるたびにデータが再評価されます。

#### サーバーサイド実験のためにKlaviyoセグメントを取得する

1. **New custom data** をクリックします。
2. カスタムデータを構成します：
   * **Name：** Klaviyoセグメントを含むカスタムデータの名前を入力します（例：Klaviyo cohorts）。
   * プロジェクトを選択します。
   * **Retrieval method：** Kameleoon SDK。
   * **Type：** List。
   * **Format：** String。
   * **Scope：** スコープは要件に応じて **Page** に設定できます。スコープが Page の場合、Klaviyoによってコホートに識別されたユーザーであれば、ページが読み込まれるたびにデータが再評価されます。

サーバーサイドの実験や機能フラグでKlaviyoセグメントを使用するには、各SDKのドキュメントのガイドラインを参照してください。例えば、[GO SDK](../../../../developer-docs/sdks/web-sdks/go-sdk#getremotedata) を使用している場合、詳細な手順についてはそのドキュメントを参照してください。

GO SDKは、当社の他のSDKと同様に `getRemoteData()` メソッドを使用します。このメソッドは、Klaviyoが Kameleoon サーバーに保存したデータを取得し、バックエンドコード内でアクセス可能にします。

#### KameleoonでKlaviyoセグメント名を取得する

1. カスタムデータ作成の最終ステップで、**Save the values for the targeting condition associated with the custom data point** オプションを有効化します。
2. このスニペットを専用フィールドに挿入し、`{ADD_YOUR_SITECODE}` をプロジェクトのサイトコードに置き換えます：

```javascript theme={null}
var xhr = new XMLHttpRequest();
xhr.open("GET", 'https://data.kameleoon.io/map/map?siteCode={ADD_YOUR_SITECODE}&key=KLAVIYO_COMMON', false);
xhr.send(null);
if (xhr.status === 200) {
   const data = JSON.parse(xhr.responseText)
   var klaviyoSegments = [];
   if (
     data &&
     Object.prototype.hasOwnProperty.call(data, "cohorts") &&
     data.cohorts &&
     typeof data.cohorts === "object"
   ) {
     Object.entries(data.cohorts).forEach(function ([id, name]) {
       klaviyoSegments.push({
         value: id,
         label: name
       });
   });
   return klaviyoSegments;
   }
   return [];
} else {
   console.error("Error calling for existing custom data values");
   return [];
}
```

## KameleoonセグメントでKlaviyoセグメントIDを使用する

Klaviyoセグメント名のカスタムデータをセットアップした後、Kameleoonのセグメントビルダーでカスタムデータを選択し、**is among the values** を選択してセグメントを構築します。KlaviyoのすべてのコホートIDのリストが表示されます。1つまたは複数のKlaviyoセグメントを選択することで、パーソナライゼーションや実験のターゲティングに利用できます。
