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

# カスタムデータの作成

> CRM 属性、タグマネージャー変数、JavaScript など、独自のデータソースを使用して訪問者をターゲットおよびセグメント化するためのカスタムデータを作成します。

カスタムデータを作成すると、ユーザーアカウント情報など、すでに利用可能なデータに従って訪問者をターゲットにできます。

すべてのカスタムデータは、アプリの **Configure** メニュー内の **Custom data** ページで利用可能で、カスタムデータの作成と[カスタムデータの管理](./manage-custom-data)ができます。

## 新しいカスタムデータの作成

新しいカスタムデータを作成するには:

1. **Settings** > **Custom data** をクリックします
2. ページの右上にある **New custom data** をクリックします。

カスタムデータを設定するには、いくつかのフィールドに入力する必要があります。

### 作成ポップインの構造

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/custom-data/create-custom-data/custom-data-creation.png)
</Frame>

1. 新しいカスタムデータに名前を付けます。
2. プロジェクトを選択します。
3. Kameleoon にカスタムデータを取得する方法を指示します。

### カスタムデータ名

カスタムデータに簡単に識別できる名前を付けます。

複数の Web サイトを選択する場合、すべてのサイトからカスタムデータが取得されることを確認する必要があります。

最大 255 個のアクティブなカスタムデータを持つことができます。

### 値の取得

#### 取得方法

ドロップダウンメニューからカスタムデータの値の取得方法を選択します。

主なタグ管理ツールは以下のとおりです:

* GTM データレイヤー (`dataLayer`)
* Commanders Act データレイヤー (`tc_vars`)
* Tealium (`utag.data` & `utag_data`)

これらのタグマネージャーでは、取得したい変数名を指定する必要があります。

**GTM `dataLayer` を使用する場合**、値を取得するには以下のように進めます:

* キーが `dataLayer` のレベル 1 にある場合、**Variable Name** フィールドに `name` を入力します。
* キーが `dataLayer` のレベル 2 にある場合、**Variable Name** フィールドに `properties.countryCode` を入力します。

**値を取得するためにカスタム JavaScript コードを使用することを選択した場合**、コードをチェックし、スクリプトを使用する場合は注意してください。

カスタムデータを設定するとき、コードは 2 つのキーを持つオブジェクトを返す必要があります: このカスタムデータに提供したい値を持つ `value`、および(オプションで)ブール値を持つ `override`(デフォルトは false)。Kameleoon はコードを再実行します: 最初の呼び出し後 3 秒間は 100 ミリ秒ごと、その後は 3 秒ごとに実行します。

例:

```javascript theme={null}
if (! window.myObject) return null; 
// custom data will not be set, but code will run later again

if (window.myObject) return {"value": window.myObject.x, "overwrite": true}; 
// returning a value and setting the custom data

if (window.someObject.value == 3) return {"value": null} 
// stopping the periodic execution of the code, without setting the custom data
```

**Kameleoon Activation API オプションが選択されている場合**、Web サイトは [Kameleoon Activation API](../../../developer-docs/apis/activation-api-js/api-reference/api-reference#kameleoon-api-data) に定期的に呼び出しを行う必要があります。

**Kameleoon Feature Experimentation と当社の SDK を使用している場合**、[Kameleoon SDK メソッド](../../../developer-docs/sdks/web-sdks/js-sdk)を使用する必要があります。

#### タイプ

ドロップダウンメニューから取得するデータのフォーマットを選択します。

データタイプは以下のいずれかです:

* single (例: `127`)

* list (例: `126, 127, 128`; `shoes, dress, coat`)

* count list of (例: `shoes: 3, dress: 1, coat: 1`)

* string (例: `woman dress`)

* boolean (例: `female = "true/false"`)

* number (例: `cart amount = "127"`)

#### スコープ

ドロップダウンメニューからカスタムデータのスコープを選択します:

* **Page:** 新しいページごとに、Kameleoon はデータ値をリセットします。たとえば、カート金額。
* **Visit:** 訪問者の新しい訪問ごとにデータ値がリセットされます。たとえば、地理位置情報。
* **Visitor:** データの単位は訪問ではなく訪問者に関連します。たとえば、female = true。

### オプション

**Next** をクリックして、カスタムデータで利用可能なオプションにアクセスします。

#### このデータをターゲティング目的のためにローカルでのみ使用する

カスタムデータがターゲティング専用に使用される場合、サーバーに保存する必要はありません。このシナリオでは、`LocalData` API を使用する必要があります。これにより、255 個のアクティブなカスタムデータポイント制限にカウントされず、サーバー領域を節約できます。ただし、`LocalData` API 経由で管理されるカスタムデータは、Results ページのレポートには使用できないことに注意してください。

カスタムデータをサーバーに保存することを選択した場合、機密情報を保存しないように注意してください。また、サーバーに送信されるカスタムデータの値は 1,000 文字に制限されていることに注意してください。

#### このカスタムデータを AI Predictive Targeting への入力として使用する

プロジェクトで [AI Predictive Targeting](../../ai-predictive-targeting/overview) が有効になっている場合、このカスタムデータを予測モデルの入力として含めるかどうかを選択できます。**このデータをターゲティング目的でローカルのみで使用**オプションが有効になっているカスタムデータは、Kameleoonがローカルデータをサーバーに送信しないため、モデルの入力として使用できません。カスタムデータが高度にターゲットされている場合(たとえば、個々の訪問者または非常に小さなセグメントに固有)、このオプションを有効にしないでください。

モデルが受け入れるのは **Number** および **Boolean** タイプのカスタムデータのみです。日付、タイムスタンプ、ユニーク訪問者識別子(メールアドレスや顧客アカウント番号など)などの機密データを追加しないでください。これらの要素は予測モデルには適していません。

#### このカスタムデータをクロスデバイス履歴の調整のためのユニーク識別子として使用する

有効化されると、Kameleoon はこのカスタムデータを訪問者のユニーク識別子として扱い、複数の Kameleoon の訪問をユニークユーザーにマッピングするために使用します。詳細は[こちら](../../../developer-docs/cross-device-experimentation)をご覧ください。

#### カスタムデータポイントに関連付けられたターゲティング条件の値を保存する

このオプションを使用すると、セグメントビルダーでこのカスタムデータに利用できる特定の値リストを定義できます。

**New custom data** ポップイン(作成フローの最初のページ)で、**Paste a sample code** をクリックするとコード例が取得できます。

コードは同期的に JavaScript オブジェクトの配列を返す必要があります。この配列の各オブジェクトはカスタムデータの可能な値を表す必要があり、以下を含む必要があります:

* 実際のデータを含む `value` キー(タイプはカスタムデータの定義されたタイプと一致する必要があります)。
* その値の文字列説明を提供する `label` キー。

例:

```javascript theme={null}
return [{value:'q2f6hsbzpf', label:'First segment'},
{value:'8ney4225y65a', label:'Other segment'},
{value:'3h6vjtz26b', label:'Loyal users'}];
```

フォーマットが正しくない場合、**Next** をクリックするとエラーメッセージが表示されます。

JavaScript を入力したら、**Next** > **Create** をクリックします。

セグメントビルダーでカスタムデータ値を使用する方法については、[こちらの](../segments/create-a-segment)記事を参照してください。

## ターゲティング条件としてカスタムデータを定義する

新しいセグメントにカスタムデータを追加するには:

1. Conditions 列の **Custom data** タブで目的のデータを選択します。
2. ドロップダウンメニューで、ユーザーがターゲットになるためにカスタムデータに必要な値を決定します。
3. カスタムデータ条件を満たす訪問者を含める/除外します。

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/custom-data/create-custom-data/custom-data-segment.png)
</Frame>

カスタムデータのタイプによって、ターゲティング条件の設定が変わります("is true/is false"、"contains"、"is equal to")。

## 結果ページでカスタムデータでフィルター/ブレイクダウン

エクスペリメントの結果ページで、エクスペリメントに関連付けられたカスタムデータに従って結果をフィルターまたはブレイクダウンできます。

[開発者ドキュメントのカスタムデータについて](../../../developer-docs/custom-data)
