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

# Amplitude Cohorts

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

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

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

Kameleoon Amplitude Cohorts連携を使用すると、AmplitudeのコホートをKameleoonに同期できます。

## 主なメリット

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

## ユースケース

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

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

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

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

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

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

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

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

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

## はじめに

### KameleoonのVisitor CodeをAmplitudeユーザープロパティとして保存する

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

```javascript theme={null}
// Ensure the SDK is loaded before setting user properties
 const identifyEvent = new amplitude.Identify();
 identifyEvent.set('kameleoon_visitorcode', Kameleoon.API.Visitor.code); 
 amplitude.identify(identifyEvent);
```

その後、Amplitude内で `kameleoon_visitorcode` プロパティを確認できます。

### Kameleoon APIキーを生成する

<Note>
  [Kameleoon Client-Secret](../../../account-and-team-management/users-and-teams/api-credentials) が必要となります。KameleoonのカスタマーサクセスマネージャーからClient-Secretを取得してください。
</Note>

以下のURLをブラウザで開き、プレースホルダーを [Kameleoon Client ID](../../../account-and-team-management/users-and-teams/api-credentials) と [Client Secret](../../../account-and-team-management/users-and-teams/api-credentials) に置き換えて、Kameleoon APIキーを生成してください。

`https://customers.kameleoon.com/kameleoon/amplitude/getapikey?id=CLIENT ID&secret=CLIENT SECRET`

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

Amplitudeアカウントの **Data** > **Catalog** > **Destinations** で Kameleoon Cohorts 連携を見つけます。

### Kameleoonに接続する

* **新しいDestinationを作成：** **Kameleoon Cohorts** をクリックします。
* **連携をセットアップ：**
  * **Name：** 接続の名前を指定します（例：Kameleoon Cohorts）。
  * **Kameleoon API Key：** 先ほど生成したKameleoon APIキーを入力します。
  * **Kameleoon Sitecode：** [プロジェクトのサイトコード](../../../faq#how-do-i-find-my-sitecode) をここに入力します。
  * **Kameleoon Visitor Code：** `kameleoon_visitorcode` ユーザープロパティを選択します。見つからない場合は、「KameleoonのVisitor CodeをAmplitudeユーザープロパティとして保存する」のセクションを参照してください。
* **連携を保存：** **Save** をクリックします。

### Amplitudeでコホート同期を有効化する

CohortsへナビゲートしてCohort Syncの作成を開始します。Kameleoon Cohortsを選択し、同期先のAPIターゲットと同期頻度を設定します。

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

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

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

#### クライアントサイド実験のためにAmplitudeコホートを取得する

* **新しいカスタムデータを作成：** **New custom data** をクリックします。
* **カスタムデータをセットアップ：**
  * **Name：** Amplitude Cohorts。
  * プロジェクトを選択します。
  * **取得方法を選択：** カスタムJavaScriptコード。

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

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

```javascript theme={null}
Kameleoon.API.Data.retrieveDataFromRemoteSource("AMPLITUDE_COHORTS_" + Kameleoon.API.Visitor.code, function (data) {
  if (data?.cohorts) {
  data.amplitude_cohorts.map(function (segment) {
 Kameleoon.API.Data.setCustomData("Amplitude Cohorts", segment);
 });
  }
 });
 return { "value": null}
```

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

#### サーバーサイド実験のためにAmplitudeコホートを取得する

* **新しいカスタムデータを作成：** **New custom data** をクリックします。
* **カスタムデータをセットアップ：**
  * **Name：** Amplitude Cohorts。
  * プロジェクトを選択します。
  * **取得方法を選択：** Kameleoon SDK。
  * **Type：** List。
  * **Format：** String。
  * **Scope：** スコープは要件に応じて **Page** に設定できます。スコープが Page の場合、Amplitudeによって特定のコホートに識別されたユーザーであれば、ページが読み込まれるたびにデータが再評価されます。

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

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

#### KameleoonでAmplitudeコホート名を取得する

カスタムデータ作成の最終ステップで、**Save the values for the targeting condition associated with the custom data point** オプションを有効化します。

以下のスニペットを専用フィールドに挿入し、`ADD_YOUR_SITECODE` の値をプロジェクトのサイトコードに置き換えます。

```javascript theme={null}
 var xhr = new XMLHttpRequest();
   xhr.open("GET", 'https://data.kameleoon.io/map/map?siteCode=ADD_YOUR_SITECODE&key=AMPLITUDE_common', false);
   xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   var amplitudeSegments = [];
   xhr.onreadystatechange = function() { // Call a function when the state changes.
       if (this.readyState === XMLHttpRequest.DONE && this.status === 200)
       {
           var amplitude = JSON.parse(xhr.response);
           amplitude["cohorts"].forEach(function (segment) {
               
            amplitudeSegments.push({value: segment, label: segment});
               
           });
       }
   }
   xhr.send();
   return amplitudeSegments;
```

## KameleoonセグメントでAmplitudeコホートIDを使用する

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