実験
実験のライフサイクル
ライフサイクルを移行するには、Management API の
/api/v2/experimentation/experiments/{id}/status エンドポイントを使用します。
completed → active への移行はできません。同じテストを再度実行する必要がある場合は、新しい実験を作成してください。is_valid ゲート
is_valid というブール値が保存され、書き込みのたびに再計算されます。これにより、設定中にすぐフィードバックを得られます。
また、Management API の /api/v2/experimentation/experiments/{id}/validate エンドポイントを使用して、準備完了状態を明示的に確認することもできます。
このエンドポイントは is_valid: true/false と、各ブロッカーを一覧にした errors 配列を返します。ステータス エンドポイント経由で有効化を試みた場合も、同じチェックが自動的に実行されます。
有効化時にチェックされる検証ルール:
- 参照されているフィーチャーフラグが
activeステータスである - 少なくとも 1 つの割り当てが存在する
- すべての割り当ての
variation_id値が、その実験のフィーチャーフラグに属している is_control: trueを持つ割り当てがちょうど 1 つある- 割り当ての重みの合計が 100 である (パーセンテージ戦略)
is_fallback: trueを持つ割り当てがちょうど 1 つある (セグメント戦略)- テナント内で現在有効な他の実験が存在しない (Beta のみ)
割り当て
/authorize リクエストに特定の割り当てを強制できます。
これは、
draft を含むあらゆるステータスの実験で機能します。開発中はこれを使って、有効化する前に両方の バリエーション が正しく表示されることを確認してください。
フィーチャーフラグ
フィーチャーフラグのライフサイクル
ステータスを切り替えるには、Auth0 Management API の
/api/v2/experimentation/feature-flags/{id}/status エンドポイントを使用します。
有効化の条件: フィーチャーフラグは、少なくとも 2 つのバリエーションを持つまで active に移行できません。これにより、すべての有効なフラグは、本番利用される前に最低でも 1 つの control と 1 つの treatment を備えていることが保証されます。
archived → active への移行はできません。フラグをアーカイブした後に別のテストを実行する必要がある場合は、新しい フィーチャーフラグ を作成してください。バリエーション
- 名前 (例:
show_passkey_prompt) - 型:
string、boolean、number、array、またはobject - デフォルト値 (ベースライン)
overrides では、異なるパラメータだけを指定します。実行時には、Experiment Center がフラグのベースラインとバリエーションのオーバーライドをマージし、マージ後の完全な config オブジェクトを ACUL、Actions、ページテンプレートに渡します。すべてのパラメータには常に config 内で値が設定されるため、フォールバックロジックを書く必要はありません。
パラメータで使用できるのは構造化モードのみです。各パラメータは、名前付きキーと型付きの値を持ちます。
セグメント
セグメントのルール
rules は、ルールオブジェクトの配列です。配列内の いずれか のルールに一致すると、そのリクエストはそのセグメントに一致します。
match: すべての条件が true である必要があります (AND ロジック)not_match: すべての条件が true である必要があります (NOT ロジック)
contains、starts_with、ends_with、exists を使って、属性と値を比較します。
使用可能な条件属性
/authorize トランザクションの開始時に利用可能なものに限られます。
詳細情報
Experiment Center Quickstart
フィーチャーフラグ、バリエーション、実験を一通り作成する手順を確認します。
ACUL 連携
Auth0 Custom Universal Login (ACUL) の画面内で実験のコンテキストを読み取ります。