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

# ネイティブセグメンテーション条件でユーザーをターゲット化する

> 特定の条件に基づいてフィーチャーフラグをトリガーし、SDK 環境全体で訪問者データを管理します。

Kameleoon のターゲティング条件は、特定の条件に基づいてフィーチャーフラグをトリガーします。これらの条件を効果的に使用するには、`addData()` メソッドで値を設定します。一部のシナリオでは、`getRemoteVisitorData()` を呼び出して訪問者の履歴データを取得します。この組み合わせにより、高度にターゲット化されたパーソナライズ体験を作成できます。

## Kameleoon SDK でのデータ管理

正確なデータは一貫したターゲティングと実験を保証します。以下のセクションでは、クライアントサイドおよびサーバーサイドの SDK がどのようにターゲティング条件を管理するか、また、サーバーからデータを取得するために `getRemoteVisitorData()` をいつ使用するかについて説明します。

### 主要用語

* **ターゲティング条件**: ターゲティングに使用される特定のユーザー属性またはセッション属性（例：コンバージョン、ブラウザ、カスタムデータ）。
* **クライアントサイド**: Web ブラウザまたはモバイルアプリで動作する標準 SDK のデータ処理。
* **クライアントサイド (クロスデバイス)**: 複数のデバイスにわたって一貫した訪問者プロファイルを維持するクライアントサイド実装のデータ処理。
* **サーバーサイド**: SDK がバックエンドサーバー上で動作する際のデータ処理。クライアントサイド SDK と異なり、サーバーサイド SDK は通常、セッション終了後に訪問者情報を削除します。

### データ処理の定義

#### クライアントサイド SDK

* **No (Automatic)**: SDK がこのデータを自動的に収集します。リモートリクエストや明示的な `addData()` 呼び出しは不要です。
* **No**: SDK はこのデータを自動的には収集しません。このデータを追加するには、`addData()`、`trackConversion()`、または `getVariation()` のような評価メソッドを使用する必要があります。リモートリクエストは不要です。
* **Yes**: `getRemoteVisitorData()` を呼び出す必要があります。これはサーバーで生成されるデータ（「コンバージョン可能性」など）や、複数のデバイス間でセッションを統一して、前のデバイスからアクションを取得する場合に該当します。

#### サーバーサイド SDK

* **Not supported**: サーバーサイド SDK はこの条件をサポートしていません。
* **No (Automatic)**: 「SDK タイプ」のみに該当します。SDK が自動的に収集します。
* **No**: このデータを提供するには `addData()` または `trackConversion()` を使用します。リモートリクエストは不要です。
* **No/Yes**: データはサーバー上で直接提供することも、リモートリクエストによって取得することもできます。これは、クライアントサイド SDK が現在の訪問中にすでに情報を収集している場合に発生します。
* **Yes**: `getRemoteVisitorData()` を呼び出す必要があります。サーバーサイド SDK は [限られたデータストレージ](../technical-reference/technical-considerations#データストレージ) を持つため、過去の訪問や実験の排他性などの履歴的なアクションを特定するためにリモート呼び出しが必要です。

## データ収集の要件

SDK は、ターゲティング条件を評価するために特定の訪問者データを必要とします。以下の表は、SDK が自動的に処理する条件と、明示的なメソッド呼び出しを必要とする条件を示しています。

| ターゲティング条件                  | アクション (Web)                                                        | アクション (モバイル)                                                       | アクション (サーバーサイド)                                                    |
| :------------------------- | :----------------------------------------------------------------- | :----------------------------------------------------------------- | :----------------------------------------------------------------- |
| **Exclusive feature flag** | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` |
| **Target feature flag**    | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` |
| **Browser (Web のみ)**       | 自動追加 / `addData()`                                                 | サポートされていません                                                        | `addData()` / `getRemoteVisitorData()`                             |
| **Device**                 | 自動追加 / `addData()`                                                 | 自動追加 / `addData()`                                                 | `addData()` / `getRemoteVisitorData()`                             |
| **Conversion**             | `addData()` / `getRemoteVisitorData()`                             | `addData()` / `getRemoteVisitorData()`                             | `addData()` / `getRemoteVisitorData()`                             |
| **Custom data**            | `addData()` / `getRemoteVisitorData()`                             | `addData()` / `getRemoteVisitorData()`                             | `addData()` / `getRemoteVisitorData()`                             |
| **Page title (Web のみ)**    | 自動追加 / `addData()`                                                 | サポートされていません                                                        | `addData()` / `getRemoteVisitorData()`                             |
| **Operating system**       | 自動追加 / `addData()`                                                 | 自動追加                                                               | `addData()` / `getRemoteVisitorData()`                             |
| **IP geolocation**         | `addData()`                                                        | `addData()`                                                        | `addData()` / `getRemoteVisitorData()`                             |
| **SDK type**               | 自動追加                                                               | 自動追加                                                               | 自動追加                                                               |
| **Visitor code**           | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` | `KameleoonClientFactory.create()`                                  | `isFeatureActive()` / `getVariation(s)` / `getRemoteVisitorData()` |
| **Segment**                | `addData()` / `getRemoteVisitorData()`                             | `addData()` / `getRemoteVisitorData()`                             | `addData()` / `getRemoteVisitorData()`                             |
| **Likelihood to convert**  | `getRemoteVisitorData()`                                           | `getRemoteVisitorData()`                                           | `getRemoteVisitorData()`                                           |

## 履歴データのために getRemoteVisitorData() を使用する

以下の表は、ターゲティング判断のために履歴データを取得する際に、`getRemoteVisitorData()` へのリモート呼び出しが必要となるケースを示します。

| ターゲティング条件                  | クライアントサイド      | クライアントサイド (クロスデバイス) | サーバーサイド        |
| :------------------------- | :------------- | :------------------ | :------------- |
| **Exclusive feature flag** | No             | Yes                 | Yes            |
| **Custom data**            | No             | Yes                 | Yes            |
| **Page URL (Web のみ)**      | No (Automatic) | No (Automatic)      | No/Yes         |
| **IP geolocation**         | No             | No                  | No/Yes         |
| **SDK type**               | No (Automatic) | No (Automatic)      | No (Automatic) |
| **Time since first visit** | No (Automatic) | Yes                 | Yes            |
| **Total number of visits** | No (Automatic) | Yes                 | Yes            |
| **Likelihood to convert**  | Yes            | Yes                 | Yes            |

### リモートデータ取得の利点

`getRemoteVisitorData()` を呼び出すと、以下の利点が得られます。

* **最新の情報**: 決定に Data API からのリアルタイムデータを使用できます。
* **クロスデバイスの一貫性**: 他のデバイスやセッションから収集されたデータにアクセスできます。
* **履歴アクセス**: ローカル SDK の状態がクリアされていても、過去の URL 訪問など、以前のユーザー行動を取得できます。

<Note>
  `VisitorDataFiltersType` パラメーターを使用して、取得する過去の訪問数を指定したり、特定の条件フィルターを適用したりできます。
</Note>

## ハイブリッド実験モード

ハイブリッド実験は SDK と Kameleoon JavaScript スニペットを組み合わせ、高度なターゲティングを可能にします。詳細については、[ハイブリッド実験](../get-started/hybrid-experimentation) ガイドをご覧ください。

**利点：**

* 実装プロセスを効率化します。
* エンジンが収集したクライアントサイドデータ（例：datalayer 変数、フロントエンドの目標）に SDK レベルで直接アクセスできます。

**要件：**

* SDK と Kameleoon JavaScript タグの両方を実装する必要があります。

## このモードで `getRemoteVisitorData()` を呼び出すと、Web ページ上で Kameleoon エンジンによって自動的に収集されたすべてのデータポイントにアクセスできます。
