> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Experiment Center クイックスタート

> 機能フラグを作成し、バリエーションを追加して実験を作成・有効化し、テナントログで拡張された実験データを確認する方法を学びます。

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "ベータ",
    "ea": "早期アクセス"
  };
  const stageText = stageTextMap[stage] || "製品リリース段階";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>この機能は、{linkify(`${plans}プラン`, "https://auth0.com/pricing")}で利用できます。 </>}
            {contact && "参加するには、" + contact + " までお問い合わせください。 "}
            {terms && <>この機能を使用すると、Okta の{linkify("Master Subscription Agreement", "https://www.okta.com/legal")}に定める該当する無料トライアル条件に同意したものとみなされます。</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>{feature} 機能は現在、{linkify(stageText, prsLink)}です。</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Auth0 Experiment Center" stage="ベータ" terms="true" contact="Auth0 サポート" />

<Warning>
  ベータ期間中、Experiment Center は開発用テナントでのみ利用できます。本番テナントはサポート対象外です。
</Warning>

<div id="prerequisites">
  ## 前提条件
</div>

Experiment Center の利用を開始するには、以下が必要です:

* **Auth0 の [開発](/ja/docs/get-started/tenant-settings#environment-tag) テナント**

* **次の Management API スコープを持つ [マシン間](/ja/docs/get-started/apis/create-m2m-app-test#create-machine-to-machine-applications-for-testing) アプリケーション**:

  ```text wrap lines theme={null}
  read:experimentation
  create:experimentation
  update:experimentation
  delete:experimentation
  ```

<div id="1-create-and-activate-the-feature-flag">
  ## 1. 機能フラグを作成して有効化する
</div>

機能フラグでは、テスト対象と利用可能なバリエーションを定義します。

機能フラグを作成するには、[`/api/v2/experimentation/feature-flags`](/ja/docs/api/management/v2/experimentation/create-feature-flag) エンドポイントに `POST` リクエストを送信します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  * レスポンスには `feature_flag_id` の値が含まれます。後続の手順でこの値が必要です。
  * 機能フラグは `draft` ステータスで作成されます。
</Callout>

<div id="add-two-variations">
  ### 2 つのバリエーションを追加する
</div>

機能フラグを有効化するには、少なくとも 2 つのバリエーション (コントロールとトリートメント) が必要です。

<div id="create-the-control-variation">
  #### コントロールバリエーションを作成する
</div>

特定の機能フラグに対して、`overrides` パラメーターを使用してコントロールバリエーションを作成できます。

コントロールバリエーションを追加するには、[`/api/v2/experimentation/feature-flags/{feature_flag_id}/variations`](/ja/docs/api/management/v2/experimentation/create-variation) エンドポイントに `POST` リクエストを送信します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  レスポンスには、コントロールの `variation_id` 値が含まれます。これは割り当てを設定する際に必要です。
</Callout>

<div id="create-the-treatment-variation">
  #### トリートメント バリエーションを作成する
</div>

トリートメント バリエーションでは、変更したいパラメーターを上書きします。

トリートメント バリエーションを追加するには、[`/api/v2/experimentation/feature-flags/{feature_flag_id}/variations`](/ja/docs/api/management/v2/experimentation/create-variation) エンドポイントに `POST` リクエストを送信し、`overrides` オブジェクトを設定します。

```json Example theme={null}
    "overrides": {
      "show_passkey_prompt": { "value": true },
      "prompt_style": { "value": "modal" }
    }
```

<div id="activate-the-feature-flag">
  ### 機能フラグを有効化する
</div>

2 つのバリエーションを作成したら、機能フラグを有効化します。参照先の機能フラグのステータスが `active` でない限り、実験は有効化できません。

機能フラグのステータスを `active` に変更するには、[`/api/v2/experimentation/feature-flags/{feature_flag_id}/status`](/ja/docs/api/management/v2/experimentation/update-feature-flag-status) エンドポイントに `POST` リクエストを送信します。

<div id="2-create-a-segment-optional">
  ## 2. セグメントを作成する (任意)
</div>

特定のトラフィックを対象にする場合は、セグメントを作成します。すべてのトラフィックに対して単純なパーセンテージ分割を行う場合は、この手順をスキップしてください。

セグメントを作成するには、[`/api/v2/experimentation/segments`](https://auth0.com/docs/api/management/v2/experimentation/create-segment) エンドポイントに `POST` リクエストを送信します。

この例では、米国内のモバイルユーザーに一致するセグメントを作成します。

```json Example theme={null}
    "name": "mobile-us-users",
    "description": "Mobile users from the United States",
    "rules": [
      {
        "match_type": "all",
        "conditions": [
          { "attribute": "device_type", "operator": "equals", "value": "mobile" },
          { "attribute": "country", "operator": "equals", "value": "US" }
        ]
      }
    ]
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  レスポンスには `segment_id` 値が含まれます。セグメントが適用されるのは、実験で `segment` の[割り当てストラテジー](/ja/docs/api/management/v2/experimentation/create-experiment#body-allocation-strategy)を使用する場合のみです。
</Callout>

<div id="3-create-and-activate-an-experiment">
  ## 3. 実験を作成して有効化する
</div>

機能フラグを参照し、トラフィックの分割方法を定義する実験を作成します。

実験を作成するには、[`/api/v2/experimentation/experiments`](/ja/docs/api/management/v2/experimentation/create-experiment#body-allocations) エンドポイントに `POST` リクエストを送信します。

この例では、`allocations` オブジェクトを使用して 90/10 の割合でトラフィックを分割します。ユーザーの 90% にはコントロールが、10% にはトリートメントが割り当てられます。これは、慎重にロールアウトを開始する際の一般的な出発点です。

```json Example theme={null}
    "allocations": [
      {
        "variation_id": "var_Id",
        "weight": 90,
        "is_control": true
      },
      {
        "variation_id": "var_Id",
        "weight": 10,
        "is_control": false
      }
    ]

```

この実験は、`draft` ステータスかつ `is_valid: false` の状態で開始されます。これは想定どおりです。完全な準備完了チェックは次の手順で実行されます。

<div id="validate-the-experiment">
  ### 実験を検証する
</div>

有効化する前に、実験の準備が整っていることを確認します。`/validate` エンドポイントは、有効化時に実行されるものと同じチェック結果を返します。

実験を確認するには、[`/api/v2/experimentation/experiments/{experiment_id}/validate`](/ja/docs/api/management/v2/experimentation/validate-experiment) エンドポイントに `POST` リクエストを送信します。

レスポンスには、実験を有効化する準備ができているかどうかを確認するための `is_valid` 値が含まれます。

<div id="activate-the-experiment">
  ### 実験をアクティブ化する
</div>

実験が有効で、両方のバリエーションをテストしたら、アクティブ化します。

実験のステータスを `active` に変更するには、[`/api/v2/experimentation/experiments/{experiment_id}/status`](/ja/docs/api/management/v2/experimentation/update-experiment-status) エンドポイントに `POST` リクエストを送信します。

実験の `started_at` 値は最初にアクティブ化した時点で設定され、一時停止して再びアクティブ化しても変更されません。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  **テナントごとにアクティブな実験は 1 つのみです。** すでに別の実験がアクティブな場合、アクティブ化すると `400 experiment_active_limit_exceeded` が返されます。先に他の実験を一時停止するか完了してください。
</Callout>

<div id="4-trigger-an-auth-event-and-observe-results">
  ## 4. 認証イベントをトリガーして結果を確認する
</div>

テスト用テナントでテストログインを実行します。たとえば、ブラウザーを開き、オーバーライドパラメーターを指定せずに `/authorize` URL にアクセスします。

ログインを完了します。Experiment Center は有効な実験を特定し、決定論的ハッシュを使用してバリエーションを割り当て、実験コンテキストを挿入して、結果として生成される認証イベントに追加情報を付与します。

<div id="verify-enriched-logs">
  ### 拡張ログを確認する
</div>

実験イベントについて、Auth0 のログを確認できます。

* Auth0 の [**Dashboard > Monitoring > Logs**](https://manage.auth0.com/dashboard/#/logs) に移動します。

* Log streaming を使用します。すでにテナントログを分析ツール (Datadog、Splunk、Segment など) にストリーミングしている場合、拡張された実験メタデータも自動的に同じストリームに流れます。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  このイベントには、`details.experiment` オブジェクトに実験のメタデータが含まれます。`variation_id` フィールドは、そのユーザーにどのバリエーションが割り当てられたかを示します。
</Callout>

<Check>
  次の条件を満たしていれば、最初の実験は正常に実行されています。

  1. テナントログ内の認証イベントに、`experiment_id` と `variation_id` を含む `details.experiment` がある
  2. クエリパラメーターのオーバーライドを使用してテストしたときに、両方のバリエーションが正しく動作する
  3. 同じデバイスまたはユーザーに対して、複数の認証イベントにわたって一貫して同じ `variation_id` が割り当てられる (決定的な割り当て)
</Check>

<div id="learn-more">
  ## 詳細情報
</div>

* 実験コンテキストに応じて ACUL コンポーネントのコードを分岐する方法については、[ACUL 統合ガイド](/ja/docs/customize/experiment-center/integrations/acul-integration-guide)を参照してください。
* post-login トリガーと登録トリガーで `event.experiment` を使用するには、[Actions 統合ガイド](/ja/docs/customize/experiment-center/integrations/actions-integration-guide)を参照してください。
