> For the complete documentation index, see [llms.txt](https://help.impact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.impact.com/brand/ja/what-would-you-like-to-learn-about/advocate-program/advocate-program-settings/test-your-advocate-program.md).

# Advocateプログラムをテストする

Advocateプログラムをシミュレーションしてテストできます [プログラムのルール](/brand/ja/what-would-you-like-to-learn-about/advocate-program/getting-started-with-advocate/advocate-program-rules-explained.md) サンプルデータに対して、そのルールが本番で利用する前に期待どおりに動作することを確認します。

{% hint style="success" %}
**注：** プログラムをテストするには、少なくとも1つのプログラムルールを設定する必要があります。
{% endhint %}

{% stepper %}
{% step %}

## Test My Program にアクセス

1. 左側のナビゲーションメニューで、 ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-230534471fef5f40808e921e41ee44e4a06ded03%2Fe6cb9548999afdc1ed3ce4942e4cb5b45b5cecbd323267aac2a7cd1915fccc09.svg?alt=media) **\[エンゲージ]** <i class="fa-arrow-right">:arrow-right:</i> **プログラムルール** <i class="fa-arrow-right">:arrow-right:</i> **Test My Program**.
   1. 選択してください **次へ** ステップ間を移動するには、
      {% endstep %}

{% step %}

## プログラムとバージョンを確認

2. プログラムは現在のコンテキストからあらかじめ入力されています。別のものをテストする必要がある場合のみ切り替えてください。
3. 〜から *バージョン* ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-c2cb550b55c51ea1eeff0acbd6f437a03b621a2c%2F60d033ae8a04c14498d5229c3c0160ac05feea7f605dbd770741793c900469f0.svg?alt=media) **［ドロップダウンメニュー］**、シミュレーションする対象を選択します。 **下書き** または **公開中** バージョン。
   1. Advocateプログラムの下書きバージョンと公開バージョンの違いについて、詳しく学びましょう。
      {% endstep %}

{% step %}

## イベントを選択して入力値を設定

4. シミュレーションするイベントを選択し、プログラム内で実際に発生するのと同じ方法で情報を入力してください。
   * **紹介開始**
   * **友人が購入する**
   * **友人が購入を返金する**
   * **友だちがアクションを実行する**

<details>

<summary>項目リファレンス</summary>

| 項目                      | 内容                                  | 対象                                      |
| ----------------------- | ----------------------------------- | --------------------------------------- |
| **購入イベント**              | シミュレーションする追跡対象の購入イベント。              | Friend が購入する、Friend が購入を返金する            |
| **購入日**                 | シミュレーションされた購入の日付。                   | Friend が購入する、Friend が購入を返金する            |
| **イベントタイプ**             | シミュレーションする追跡対象のイベント。                | 友だちがアクションを実行する                          |
| **イベント日**               | イベントが発生した日付。                        | 友だちがアクションを実行する                          |
| **通貨**                  | シミュレーションされた購入金額の通貨。                 | Friend が購入する、Friend がアクションを実行する         |
| **購入金額**                | シミュレーションされた購入の金額。                   | Friend が購入する（必須）、Friend がアクションを実行する（任意） |
| **紹介開始日**               | 紹介が開始された日付。                         | すべてのイベント                                |
| **紹介コンバージョン**           | 紹介がすでにコンバージョンしているかどうか、またその時期を指定します。 | 紹介開始以外のすべてのイベント                         |
| **Advocate セグメント** （任意） | テストを特定の Advocate セグメントに限定します。       | すべてのイベント                                |
| **Friend セグメント** （任意）   | テストを特定の Friend セグメントに限定します。         | すべてのイベント                                |

</details>
{% endstep %}

{% step %}

## テストを実行

5. 選択してください **テストを実行**。ルールは、選択したプログラム、バージョン、および入力した内容に対して評価されます。
   {% endstep %}

{% step %}

## プレビュー出力を確認

6. 次の項目を確認します *プレビュー* パネル:
   1. トリガーされたルールの要約、日付ベースのアクションが適用される場合の日付範囲、および生成された各アクションのチェックマーク付き行。期待どおりかどうかを確認してください。
      {% endstep %}
      {% endstepper %}

## テストケース

これらのテストケースでは、公開前にプログラムが意図どおりに動作することを確認するために設定できるサンプルルールを使用します。以下の各シナリオでは、特定の状況をより詳しく説明します。トリガー、金額、セグメントなどの詳細は、自分のプログラム構成に合わせて調整してください。

<details>

<summary>基本的なトリガーロジック</summary>

**目標:**

* 基本的な購入トリガールールが一致し、期待される結果を返すことを確認します。
* 誤ったフォールバック動作がないことを確認します。

**ルール設定:**

* トリガー: Friend が購入する。
* アクション: Advocate への報酬とメール。Advocate に現金報酬を付与します。
* デフォルトのアクションは不要です。

**テスト入力:**

* イベント: Friend が購入する。
* ルールに一致する購入イベント、購入日、購入金額、通貨。
* 紹介開始日も同日。
* セグメントは未設定。

**期待される結果:**

* ルールが一致し、プレビューにはどのルールが一致したかが正確に表示されます。
* Advocate の報酬行に、設定した報酬額が表示されます。
* Advocate のメール行が表示されます。
* 他の誤ったフォールバックアクションは表示されません。

</details>

<details>

<summary>時間枠一致 vs フォールバック</summary>

**目標:**

* 時間ベースの期間内の日付で、時間ベースのアクションが適用されることを確認します。
* 期間外の日付では、デフォルトにフォールバックすることを確認します。

**ルール設定:**

* トリガー: Friend が購入する。
* 紹介開始日を基準にした、日付範囲に限定された時間ベースのアクション。
* その範囲外のデフォルトアクション。

**実行 A（期間内）:**

* 紹介開始日を期間内に設定します。

**期待 A:**

* プレビューには、どの時間ベースのルールが一致したかが正確に表示されます。
* その報酬とメールが適用されます。

**実行 B（期間外）:**

* 紹介開始日を期間外に設定します。

**期待 B:**

* 時間ベースのアクションは一致しません。
* 代わりにデフォルトの報酬とメールが適用されます。

</details>

<details>

<summary>段階的報酬の選択</summary>

**目標:**

* 購入金額に基づいて正しい報酬ティアが選択されることを確認します。

**ルール設定:**

* トリガー: Friend が購入する。
* アクション: Advocate への段階的報酬とメール。
* 購入金額の範囲ごとに少なくとも3つの報酬ティア（たとえば、低、中、高のティア）。

**テスト入力:**

* 各ティアにつき1回実行します。
* 各ティアの範囲に入る購入金額を入力します。
* 他の入力はすべての実行で同じにします。

**期待される結果:**

* 各実行では、金額が該当するティアに設定された報酬が表示され、別のティアの報酬は表示されません。

</details>

<details>

<summary>セグメント条件付きの適格性</summary>

**目標:**

* セグメント条件によって、ルールが適用されるかどうかが制御されることを確認します。

**ルール設定:**

* トリガー: Friend が購入する。
* Advocate が特定のセグメントに属していることを必要とする条件。
* 理想的には、それ以外の人向けのデフォルトアクション。

**実行 A（一致）:**

* Advocate のセグメントを対象のものに設定します。

**期待 A:**

* 適格なアクションが適用されます。
* デフォルトはスキップされます。

**実行 B（不一致）:**

* Advocate のセグメントを対象外のものに設定します。

**期待 B:**

* 設定されていれば、デフォルトアクションが適用されます。
* 設定されていない場合は、適格なアクションはまったく発生しません。

</details>

<details>

<summary>コミッション計算</summary>

**目標:**

* コミッション報酬が購入金額から計算され、正しい通貨で表示されることを確認します。

**ルール設定:**

* トリガー: Friend が購入する。
* アクション: Advocate への報酬とメール。
* コミッションベースの報酬 — 購入金額の一定割合 — を取引の通貨で。

**実行 A と B:**

* 異なる2つの購入金額、同じ通貨。

**期待 A と B:**

* それぞれの金額に、適切なコミッション率が正しく適用されていることが表示されます。

**実行 C（プログラムが複数通貨をサポートしている場合）:**

* 実行 A と同じ金額ですが、通貨は異なります。

**期待 C:**

* コミッションが正しく計算され、新しい通貨で表示されます。
* これにより、金額計算から通貨の処理を切り分けられます。

</details>

<details>

<summary>デフォルト未設定で一致なし</summary>

**目標:**

* 何も一致せず、フォールバックもない場合に、プレビューに何もアクションが発生しないことが明確に表示されることを確認します。

**ルール設定:**

* デフォルトアクションが設定されていない時間ベースのアクション。

**テスト入力:**

* 紹介開始日を時間枠の外に設定します。

**期待される結果:**

* 時間枠の一致なし。
* 利用可能なデフォルトのフォールバックなし。
* プレビューには、適格なアクションが発生しないことが明確に表示されます。

</details>

<details>

<summary>満たされていないルール条件による一致なし</summary>

**目標:**

* 時間枠だけでなく、ルール自体の条件が満たされない場合にプレビューに何もアクションが表示されないことを確認します。

**ルール設定:**

* トリガーイベントに対して2つの条件を持つルール: 特定の購入イベントと最低購入金額。

**テスト入力:**

* 一致しない購入イベント、最低金額未満の金額、またはその両方を入力します。

**期待される結果:**

* ルール条件は一致しません。
* プレビューには何も起こらないことが明確に表示されます。

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.impact.com/brand/ja/what-would-you-like-to-learn-about/advocate-program/advocate-program-settings/test-your-advocate-program.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
