目的
複数のセクションとバリエーションを持つ多変量テスト(MVT)の実験を作成し、それらのバリエーション間でカスタム(不均等)のトラフィック配分を設定します。 MVT の概念(セクション、バリエーション、組み合わせ)の概要と、Kameleoon アプリでのトラフィック配分の設定方法については、多変量テストのセットアップ を参照してください。前提条件
access token
siteId
siteCode からコード内で直接 siteId を取得するか、新しい実験を作成する の手順に従ってアプリで確認してください。
主要な概念
リファレンスバリエーション
Kameleoon は、送信された各セクションに自動的にリファレンスバリエーションを追加します。このリファレンスは、レスポンス内でそのセクションの配分エントリの中でvariationId: "0" として表示されます。
Original という名前のバリエーションを自分で送信した場合、Kameleoon はそれを別の追加バリエーションとして作成します。生成されたリファレンスを識別したり置き換えたりすることはありません。同じセクション内で 2 つの異なるベースラインバリエーションをテストする場合にのみ、明示的な Original バリエーションを送信してください。
クライアントが送信する ID は一時的なもの
mvtVariations で送信する sectionId とバリエーションの id は、同じリクエスト内でのみエントリを関連付けるために使用されます。これらは、Kameleoon が永続的な ID を生成する前に、mvtAllocationSettings内の各配分エントリを正しいセクションとバリエーションに接続します。任意の整数を使用して構いません。
Kameleoon は送信された値を破棄し、独自に生成した sectionId と variationId に置き換えます。以降のすべてのリクエストでは、生成された値(レスポンスおよびその後の GET リクエストで返される値)を使用してください。レスポンスには、送信したバリエーション名は含まれず、生成された ID のみが含まれます。生成されたどの ID がどの送信済みの名前に対応するかを確認する必要がある場合は、Kameleoon アプリで実験を確認してください。
セクション ID と組み合わせ ID の違い
Kameleoon は、多変量テストの実験に対して 2 種類の異なる ID を生成します。- セクション ID とバリエーション ID は、あるセクション内の 1 つのバリエーションを識別します。これらは
mvtAllocationSettings.sectionsAllocationsで使用します。 - 組み合わせ ID は、公開された訪問者に表示される、セクションごとに 1 つずつのバリエーションからなる完全な組み合わせを識別します。Kameleoon は、すべてのセクションのバリエーション(各セクションのリファレンスを含む)の直積として、可能なすべての組み合わせを生成し、組み合わせ ID をトップレベルの
variations配列とdeviationsマップのキーとして返します。これらはmvtAllocationSettings.combinationsAllocationsで使用します。
sectionsAllocations と combinationsAllocations はどちらも同じ配分エントリの構造(allocationPart、checked、locked、sectionId、variationId)を使用するため、どちらか一方の方法のみを選択してください。
- 各セクション内のバリエーションごとにトラフィックを配分するには、
sectionsAllocationsを指定します。Kameleoon は、セクションレベルの値から各組み合わせの割合を導き出します。 - 特定の組み合わせに直接トラフィックを配分するには、
combinationsAllocationsを指定します。
combinationsAllocations を指定することはできません。GET リクエストで生成された組み合わせ ID を取得し、このチュートリアルで sectionsAllocations に使用したのと同じパターンに従って、後続の PATCH リクエストで combinationsAllocations を設定してください。
手順
1. 実験を作成する
エンドポイント:
例:
sectionId と variationId(4451、4452、1351293-1351296)を生成し、各セクションにリファレンスバリエーション(variationId: "0")を追加し、送信した配分を 0.33333334 の均等な割合に置き換え、locked を false にリセットしたことに注目してください。exposedPart は送信したとおりに保持されます。希望する配分を設定するために、次のステップに進んでください。
2. 生成された ID を取得する
作成時のレスポンスから生成された ID を取得していない場合は、GET リクエストで取得します。
エンドポイント:
mvtAllocationSettings.sectionsAllocations 配列が含まれており、次の手順で必要となる、生成された sectionId と variationId の値が確認できます。
3. カスタムのトラフィック配分を設定する
エンドポイント:mvtAllocationSettings を再度送信します。今回は、手順 2 で取得した生成済みの sectionId と variationId の値を使用します。
例:
locked は true のままになります。その後の GET リクエストでも同じ結果が確認できます。
4. 実験を確認する
Kameleoon アプリの Experiments Dashboard に移動し、実験を開いて、セクション、バリエーション、トラフィック配分が設定内容と一致していることを確認します。既知の制限事項
- 大規模な多変量テストの削除がタイムアウトする場合があります。 実験に多数の組み合わせが含まれる場合、
DELETE /experiments/{experimentId}が504 Gateway Timeoutエラーを返すことがあります。タイムアウトが発生しても、削除が失敗したとは限りません。削除を再試行する前に、同じ実験 ID に対してGETリクエストを送信し、実験がまだ存在するかどうかを確認してください。