> ## 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.

# Heap Cohorts

> HeapのセグメントをKameleoonにインポートし、行動コホートに基づいて訪問者をターゲティングしてパーソナライズされたA/Bテストを実行できます。

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

[Heap](https://www.heap.io/) は、ユーザー行動を追跡し、データを分析し、デジタル製品を改善してエンゲージメントと成長を促進できるプロダクト分析ツールです。

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

Kameleoon Heap Cohorts連携を使用して、HeapのセグメントをKameleoonと同期できます。

## 主なメリット

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

## ユースケース

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

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

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

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

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

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

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

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

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

## はじめに

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

以下のコードを `heap.load()` 関数の直後にHeap SDKに追加してください：

```js theme={null}
// Ensure Heap and Kameleoon are loaded before identifying the user
const visitorCode = Kameleoon.API.Visitor.code;
heap.identify(visitorCode);
```

### 前提条件

この連携を構成するためには、以下の情報が必要です：

* **Heapアカウント：** サインインしている有効なアカウント。

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

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

データ共有を承認するためにHeap Cohorts連携を有効化します。

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

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

### HeapセグメントをKameleoonに同期する

1. Heapで **Data** > **Segments** へ移動します。
2. 同期したいセグメントを選択します。
3. ページ下部で、そのセグメントの **Kameleoon Cohorts Sync** を有効化します。

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

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

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

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

1. Kameleoonで **Configure** > **Custom data** へ移動します。

2. **New custom data** をクリックします。

3. **Name** を `Heap Cohorts` に設定します。

4. プロジェクトを選択します。

5. **Retrieval method** を **Custom JavaScript code** に設定します。

6. 以下のスニペットをコードフィールドに挿入します：

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

   return { "value": null };
   ```

7. **Type** を **List** に設定します。

8. **Format** を **String** に設定します。

9. **Scope** を **Page** に設定します。このスコープは、ユーザーが特定のHeapコホートに属しているかを確認するため、ページが読み込まれるたびにデータを再評価します。

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

1. **New custom data** をクリックします。
2. カスタムデータの **Name**（例：`Heap cohorts`）を入力します。
3. プロジェクトを選択します。
4. **Retrieval method** を **Kameleoon SDK** に設定します。
5. **Type** を **List** に設定します。
6. **Format** を **String** に設定します。
7. **Scope** を **Page** に設定します。

サーバーサイドの実験や機能フラグでHeapセグメントを使用するには、使用しているSDKの専用ドキュメントを参照してください。例えば、[Go SDKドキュメント](../../../../developer-docs/sdks/web-sdks/go-sdk) には、Heapが Kameleoon サーバーに保存したデータを取得する `getRemoteData()` メソッドの使い方が詳しく記載されています。

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

IDの代わりに人が読めるセグメント名を表示するには：

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();
   var siteCode = 'ADD_YOUR_SITECODE';
   xhr.open("GET", '[https://data.kameleoon.io/map/map?siteCode=](https://data.kameleoon.io/map/map?siteCode=)' + siteCode + '&key=HEAP_COMMON', false);
   xhr.send(null);

   if (xhr.status === 200) {
      const data = JSON.parse(xhr.responseText);
      var heapSegments = [];
      if (
        data &&
        Object.prototype.hasOwnProperty.call(data, "cohorts") &&
        data.cohorts &&
        typeof data.cohorts === "object"
      ) {
        Object.entries(data.cohorts).forEach(function ([id, name]) {
          heapSegments.push({
            value: id,
            label: name
          });
        });
        return heapSegments;
      }
      return [];
   } else {
      console.error("Error calling for existing custom data values");
      return [];
   }
   ```

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

Heapセグメント名のカスタムデータを構成したら：

1. Kameleoonの **Segment Builder** を開きます。
2. カスタムデータを選択します。
3. 条件 **is among the values** を選択します。Kameleoonは、HeapのすべてのコホートIDのリストを表示します。
4. 1つまたは複数のHeapセグメントを選択して、パーソナライゼーションや実験のターゲティングを有効化します。

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