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

# トリガーを作成する

> Kameleoon Trigger Builder を使用して、リアルタイムの訪問者行動に基づいて実験またはパーソナライゼーションをいつ、どこで有効化するかを定義する方法を学びます。

**トリガー**は、実験またはパーソナライゼーションを有効化するために訪問者が満たすべき特定の条件を定義します。リアルタイムの行動や訪問特性に基づいて訪問者をターゲットにするためにトリガーを使用します。

## Trigger Builder へのアクセス

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

新しいトリガーの作成を開始するには:

1. 左サイドバーで **Settings** > **Triggers** をクリックします。
2. **New trigger** をクリックします。
3. **New Trigger** ウィンドウで、トリガーの名前を入力します。
4. このトリガーに関連付ける **Project** を選択します。
5. (オプション)トリガーを整理しやすくするための説明とタグを追加します。
6. **Next** をクリックします。

## 条件を定義する

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/triggers/create-a-trigger/trigger-builder.png)
</Frame>

Trigger Builder ではトリガーのロジックを定義します。サイドバーから条件を選択し、それらの相互関係を構成します。

1. **条件を選択する:** 左サイドバーで一覧をスクロールするか、検索バーを使って条件(例: **Number of visits**)を見つけます。条件をクリックしてビルダーに追加します。
2. **条件を構成する:** 条件の関連値を入力します(例: **3 visits**)。
3. **さらに条件を追加する:** 別のターゲティング層を追加するには、既存の条件で **Refine** をクリックするか、サイドバーから新しい条件を選択します。

### ロジックを管理する(AND/OR)

複数の条件を使用する場合、Trigger Builder の上部または[条件グループ](#複雑なグループを作成する)のドロップダウンメニューを使って、それらがどのように連携するかを定義します。

* **If all (AND):** 訪問者がグループ内の**すべての**条件を満たした場合のみ、Kameleoon はトリガーを発火させます。
* **If any (OR):** 訪問者がグループ内の**少なくとも 1 つの**条件を満たした場合に、Kameleoon はトリガーを発火させます。

### 複雑なグループを作成する

条件をグループ化して高度なロジック(ネスト条件)を作成します。

* **並び替え:** 条件をクリックしてドラッグし、リスト内で上下に移動します。
* **ネスト(グループ化):** 1 つの条件を別の条件の上にドラッグして、独自の独立したロジック(**If any**/**If all**)を持つサブグループに結合します。
  * たとえば、今日サイトを 3 回訪問**かつ**特定の製品ページを少なくとも 1 回見た訪問者をターゲットにする条件を作成できます。

### 条件をコピーまたは削除する

* **コピー:** **Copy** アイコンをクリックして条件を複製します。
* **削除:** **X** アイコンをクリックして条件を削除します。

#### 条件を素早く追加する

条件の右側にある小さな **+** アイコンをクリックすると、同じタイプの条件を複数素早く追加できます。この機能は、大量に使用されることが多い条件で利用できます。

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/triggers/create-a-trigger/specific-ip-address-triggers.png)
</Frame>

複数の同一条件を追加すると、Kameleoon はそれらを **OR** 演算子で連結します。ドロップダウンメニューは **is including any of** または **is not including any of** に更新されます。

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/triggers/create-a-trigger/any-ip-address-triggers.png)
</Frame>

複数の同一条件を追加すると、それらを個別に削除できます。

***

条件に満足したら、**Next** をクリックします。

## 確認して保存する

**Next** をクリックすると、右側に概要パネルが開きます。設定と定義を確認します。

* **Settings:** トリガー名、プロジェクト、キャンペーンタイプ、説明、タグが表示されます。**鉛筆** アイコンをクリックしてこれらの設定を編集し、**Save changes** をクリックします。
* **Definition:** トリガーの定義が表示されます。**Block Summary** タブで視覚的な概要を、**Written Summary** タブでテキストベースの概要を表示できます。

完了するには **Create trigger** をクリックします。

***

トリガーを保存すると、実験やパーソナライゼーションで使用できるようになります。

## 条件

このセクションでは、利用可能な条件とその機能の包括的な一覧を提供します。

### Page

* **Page URL:** 現在のページ URL に基づいて訪問者を含めるか除外します。
* **Element on the page:** ページ上の要素の存在に基づいて訪問を含めるか除外します。この条件は、**DOM ready イベントまで `querySelectorAll` ループを実行します。その後、条件は `false` を返します。**
* **Landing Page URL:** 訪問が開始されたページの URL に基づいて訪問者を含めるか除外します。
* **Page Title:** 現在のページタイトルに基づいて訪問者を含めるか除外します。
* **Previous page:** 直前のページの URL に基づいて訪問者を含めるか除外します。
* **Key pages:** キーページとして定義した特定のページを訪問した訪問者を含めるか除外します。
* **Visited product pages:** 訪問者が訪問した商品ページの種類や数に基づいて含めるか除外します。
* **Price of the product page displayed:** 現在閲覧している商品の価格に基づいて訪問者を含めるか除外します。

### Browsing behavior

* **Elapsed time since page loaded:** ページの読み込みからの時間に基づいて訪問者を含めるか除外します。
* **Website exit:** カーソルがブラウザウィンドウから離れた訪問者を含めるか除外します。訪問者がページを離れる前に、割引オファーやメール登録フォームなど、離脱防止を目的としたコンテンツを表示したい場合に使用します。詳細については、[離脱意図ウィジェットを作成する](../widgets/create-a-widget-with-the-widget-studio/create-an-exit-intent-widget)をご覧ください。
* **Number of pages viewed:** 特定の数のページを見た訪問者を含めるか除外します。
* **Total number of visits:** 訪問の合計回数に基づいて訪問者を含めるか除外します。
* **Number of visits by page:** 特定のページへの訪問回数に基づいて訪問者を含めるか除外します。
* **Number of visits today:** 今日の訪問回数に基づいて訪問者を含めるか除外します。
* **Number of visited product pages:** 訪問した商品ページの数に基づいて訪問者を含めるか除外します。
* **Elapsed time:** セッション中の経過時間に基づいて訪問者を含めるか除外します。
* **Elapsed time since first visit:** 初回訪問からの経過時間に基づいて訪問者を含めるか除外します。
* **Elapsed time since last visit:** 前回の訪問からの経過時間に基づいて訪問者を含めるか除外します。
* **Elapsed time since session became active:** セッション開始からの経過時間に基づいて訪問者を含めるか除外します。

### Campaign exposure

* **Web Experiment:** 特定の実験にさらされ、**特定のバリエーション** または **任意のバリエーション**(オリジナルを含む)を見た訪問者を含めるか除外します。この条件は現在または以前の訪問を考慮します。選択された実験は **Online**、**Paused**、**Stopped** のいずれの状態でも構いません。
* **Personalization:** 特定のパーソナライゼーションにさらされた訪問者を含めるか除外します。この条件は現在または以前の訪問を考慮します。選択されたパーソナライゼーションは **Online**、**Paused**、**Stopped** のいずれの状態でも構いません。
* **Feature Flag:** 特定の機能フラグにさらされ、**任意のバリエーション**、**On**、**Off** を見た訪問者で、**任意のバリエーション** または **特定のバリエーション** に割り当てられた訪問者を含めるか除外します。
* **Exclusive Campaign:** すでに実験、パーソナライゼーション、またはその両方に参加している訪問者を除外します。つまり以下を意味します。
  * 訪問者がすでに別のキャンペーンにさらされている場合(現在または以前の訪問で)、Kameleoon はその訪問者を現在の実験のターゲットにしません。
  * **Exclusive campaign** 条件を持たない他の実験では、現在排他的キャンペーンに参加していても訪問者がターゲットになる可能性があります。言い換えると、この条件は他の実験への参加を妨げません。同じ排他的要件を持たない実験には訪問者を参加させることができます。

<Note>
  Kameleoon は、セグメントのターゲティング条件として使用されているキャンペーンまたはバリエーションの削除を防ぎます。
</Note>

### Conversions

* **Converted goal:** 現在の訪問中または以前の訪問中に特定のゴールでコンバージョンしたかどうかに基づいて訪問者を含めるか除外します。

### Technical

* **Custom JS:** `true` または `false` を返すカスタム JavaScript 関数を定義します。結果が `true` の場合、Kameleoon は訪問者を実験に含めます。この関数はページが表示されるたびに、または非同期に評価できます。
  * **Check condition immediately or when the page has loaded:** `undefined` が返された場合、コードは最初の 3 秒間は 75 ms ごと、その後は 250 ms ごとに実行を再試行します。
  * **Run the condition asynchronously:** Kameleoon は各実験で JavaScript を評価します。
  * 非同期条件を使用する場合、コールバック関数は `setTargeting` です。コード内でそれを `setTargeting(true)` または `setTargeting(false)` に置き換えてください。
* **Custom data:** 特定のカスタムデータに基づいて訪問者を含めるか除外します。この条件を使用するには、まず [カスタムデータを作成する](../custom-data/create-custom-data) 必要があります。
* **Custom event:** 特定のイベントがトリガーされた場合のみパーソナライゼーションを開始します。イベントをトリガーするには、[`Kameleoon.API.Events.trigger(eventName)`](../../../developer-docs/apis/activation-api-js/api-reference/api-reference#trigger) メソッドを使用します。
* **Browser cookie:** ブラウザ内の Cookie の存在とその値に基づいて訪問者を含めるか除外します。
* **Explicit trigger:** Kameleoon Activation API を使用してキャンペーンを明示的にトリガーします。最新の JS フレームワーク(例: React、Vue、Angular)で実装するキャンペーンには明示的トリガーを使用します。
* **Kameleoon trigger:** 他のトリガーを発火させたかどうかに基づいて訪問者を含めるか除外します。

### Acquisition

* **Traffic type:** 特定のソース(例: 検索エンジン、メーリング、Web サイトトリビュート)からの訪問者を含めるか除外します。
* **Referring Website URL:** 参照元 URL に基づいて訪問者を含めるか除外します。
* **Acquisition channel:** 獲得チャネルに基づいて訪問者を含めるか除外します。

### External environment

* **Day / Night:** 昼または夜の訪問を含めるか除外します。
* **Weekday:** 曜日に基づいて訪問者を含めるか除外します。
* **Timeslot:** 指定された時間帯内の訪問者を含めるか除外します。
* **Date range:** 指定された日付範囲内の Web サイト訪問者を含めるか除外します。
* **Sky condition:** 訪問者の所在地の天気に基づいて含めるか除外します。
* **Temperature:** 訪問者の所在地の気温に基づいて含めるか除外します。
