相互排他グループの背景にある考え方(Kameleoon が訪問者をグループに割り当てるタイミングや、事前に検討すべきトレードオフを含む)については、相互排他グループを参照してください。
シナリオ
3 つの相互排他的な実験を実行したいとします。- 2 つの実験は Kameleoon Web Experimentation(JavaScript ベース)を通じてクライアントサイドで実行されます。
- 1 つの実験は Kameleoon Feature Experimentation(たとえばバックエンド SDK 経由)を通じてサーバーサイドで実行されます。
両方のテクノロジーにまたがる相互排他性を設定する
1. フィーチャー実験から始める
フィーチャー実験はサーバーサイドで実行され、ページ読み込み前の早い段階でのターゲティングが必要なため、最初にトラフィックを割り当てます。- フィーチャー実験を作成します。
- この実験に総トラフィックの 33%、またはテスト計画に合わせたその他の割合を割り当てます。
2. Web 実験用の相互排他グループを作成する
Web 実験用の相互排他グループを作成するの手順に従って、2 つの Web 実験用の相互排他グループを作成します。このグループ化により、訪問者は 2 つの Web 実験のうちどちらか 1 つだけを見るようになり、両方を見ることはありません。3. フィーチャー実験の参加者を Web 実験から除外する
フィーチャー実験にバケットされた訪問者をどちらの Web 実験にも入れないようにするため、両方の Web 実験に次のターゲティング条件を適用します。- ターゲティング条件:
Campaigns → Feature flag→feature_experiment_nameの任意のバリエーションに露出した訪問者を除外する。
4. 同期タイミングを考慮する
デフォルトでは、Kameleoon Web Experimentation はページ読み込みごとにリモート同期コールを実行し、訪問者がすでにフィーチャー実験に露出しているかどうかを確認します。Kameleoon はこのコールを使用して、訪問者を Web 実験に含めるか除外するかを判断します。 3 つの実験すべてが同じページで実行されている場合、この設定は扱いが難しくなります。Web エンジンは、訪問者を Web 実験に含めるかどうかを決定する前にサーバーサイドの露出ステータスを待つ必要があり、これがフリッカリングや表示の遅延を引き起こす可能性があります。フィーチャー実験と Web 実験がカスタマージャーニーの異なる時点、たとえば異なるページでトリガーされる場合は、Web 実験のいずれかにすでに露出した訪問者を除外する除外ターゲティング条件を、フィーチャー実験にも追加してください。
推奨される解決策
フリッカリングを排除してリアルタイムで判断するには、リモートコールを待たずに、訪問者のフィーチャー実験ステータスをフロントエンドで直接公開します。- SDK メソッド
getEngineTrackingCode()を使用します。 - 出力をページの HTML、できれば
<head>セクションに挿入します。