前提条件
1. 機能フラグを作成して有効化する
/api/v2/experimentation/feature-flags エンドポイントに POST リクエストを送信します。
- レスポンスには
feature_flag_idの値が含まれます。後続の手順でこの値が必要です。 - 機能フラグは
draftステータスで作成されます。
2 つのバリエーションを追加する
コントロールバリエーションを作成する
overrides パラメーターを使用してコントロールバリエーションを作成できます。
コントロールバリエーションを追加するには、/api/v2/experimentation/feature-flags/{feature_flag_id}/variations エンドポイントに POST リクエストを送信します。
レスポンスには、コントロールの
variation_id 値が含まれます。これは割り当てを設定する際に必要です。トリートメント バリエーションを作成する
/api/v2/experimentation/feature-flags/{feature_flag_id}/variations エンドポイントに POST リクエストを送信し、overrides オブジェクトを設定します。
Example
機能フラグを有効化する
active でない限り、実験は有効化できません。
機能フラグのステータスを active に変更するには、/api/v2/experimentation/feature-flags/{feature_flag_id}/status エンドポイントに POST リクエストを送信します。
2. セグメントを作成する (任意)
/api/v2/experimentation/segments エンドポイントに POST リクエストを送信します。
この例では、米国内のモバイルユーザーに一致するセグメントを作成します。
Example
レスポンスには
segment_id 値が含まれます。セグメントが適用されるのは、実験で segment の割り当てストラテジーを使用する場合のみです。3. 実験を作成して有効化する
/api/v2/experimentation/experiments エンドポイントに POST リクエストを送信します。
この例では、allocations オブジェクトを使用して 90/10 の割合でトラフィックを分割します。ユーザーの 90% にはコントロールが、10% にはトリートメントが割り当てられます。これは、慎重にロールアウトを開始する際の一般的な出発点です。
Example
draft ステータスかつ is_valid: false の状態で開始されます。これは想定どおりです。完全な準備完了チェックは次の手順で実行されます。
実験を検証する
/validate エンドポイントは、有効化時に実行されるものと同じチェック結果を返します。
実験を確認するには、/api/v2/experimentation/experiments/{experiment_id}/validate エンドポイントに POST リクエストを送信します。
レスポンスには、実験を有効化する準備ができているかどうかを確認するための is_valid 値が含まれます。
実験をアクティブ化する
active に変更するには、/api/v2/experimentation/experiments/{experiment_id}/status エンドポイントに POST リクエストを送信します。
実験の started_at 値は最初にアクティブ化した時点で設定され、一時停止して再びアクティブ化しても変更されません。
テナントごとにアクティブな実験は 1 つのみです。 すでに別の実験がアクティブな場合、アクティブ化すると
400 experiment_active_limit_exceeded が返されます。先に他の実験を一時停止するか完了してください。4. 認証イベントをトリガーして結果を確認する
/authorize URL にアクセスします。
ログインを完了します。Experiment Center は有効な実験を特定し、決定論的ハッシュを使用してバリエーションを割り当て、実験コンテキストを挿入して、結果として生成される認証イベントに追加情報を付与します。
拡張ログを確認する
- Auth0 の Dashboard > Monitoring > Logs に移動します。
- Log streaming を使用します。すでにテナントログを分析ツール (Datadog、Splunk、Segment など) にストリーミングしている場合、拡張された実験メタデータも自動的に同じストリームに流れます。
このイベントには、
details.experiment オブジェクトに実験のメタデータが含まれます。variation_id フィールドは、そのユーザーにどのバリエーションが割り当てられたかを示します。次の条件を満たしていれば、最初の実験は正常に実行されています。
- テナントログ内の認証イベントに、
experiment_idとvariation_idを含むdetails.experimentがある - クエリパラメーターのオーバーライドを使用してテストしたときに、両方のバリエーションが正しく動作する
- 同じデバイスまたはユーザーに対して、複数の認証イベントにわたって一貫して同じ
variation_idが割り当てられる (決定的な割り当て)
詳細情報
- 実験コンテキストに応じて ACUL コンポーネントのコードを分岐する方法については、ACUL 統合ガイドを参照してください。
- post-login トリガーと登録トリガーで
event.experimentを使用するには、Actions 統合ガイドを参照してください。