パラメーター |
種類 |
説明 |
experimentName |
String |
有効化するexperimentの名前。 |
userId |
String |
ユーザーの一意な識別子。 |
userAttributes |
HashMap |
オーディエンスのターゲティングやセグメント分けに使用されるユーザー属性のマップ。 |
返される値
ユーザーがFullstack A/B実験の対象となる場合、割り当てられたバリエーションの名前を返します。
ユーザーがオーディエンスターゲティング条件を満たさず、FullStack A/B Experimentの対象とならない場合はnullを返します。
例 コード
インポートする java。util。HashMap;
// ユーザー属性を作成
HashMap
userAttributes = 新規 HashMap<>();
userAttributes。put('Browser', 'Chrome');
userAttributes。put('Device', 'Desktop');
userAttributes。put('OS', 'Windows 10');
// 実験を有効化
String variationName = pageSenseClient。activateExperiment(experimentName, userId, userAttributes);
// 各バリエーションの動作を定義
if ('元の内容'.equals(variationName)) {
// 「元の内容」用のコード
} else if ('Variation 1'.equals(variationName)) {
// 「Variation 1」用のコード
} else if ('Variation 2'.equals(variationName)) {
// 「Variation 2」用のコード
} else if ('Variation 3'.equals(variationName)) {
// 「Variation 3」用のコード
} else {
// ユーザーが実験のいずれにも該当しない場合のコード
}
activateExperiment APIが呼び出されると、バリエーションをユーザーに割り当てるべきかどうかを判断するための体系的なプロセスが実行されます。以下は、そのプロセスの詳細な内訳です。
まずAPIは、ユーザーが実験の構成時に定義されたオーディエンスターゲティング条件を満たしているかどうかを評価します。
この条件は通常、ユーザー属性(ブラウザ、デバイス種類、オペレーティングシステム、またはuserAttributesで渡されるカスタムユーザーデータなど)に基づいています。
ユーザーの属性がオーディエンスターゲティング条件と一致する場合、APIは次の手順に進みます。
条件を満たさない場合、APIは直ちにnullを返し、そのユーザーが実験に含まれる資格がないことを示します。
次に、APIはユーザーStorageサービスが有効かどうかを確認します。このサービスは、複数のセッションにわたり、ユーザーに割り当てられたバリエーションを記憶することで、割り当ての一貫性を確保します。
すでにユーザーに割り当てられ、ユーザーStorageサービスに保存されているバリエーションがある場合、APIはその保存されたバリエーションを取得して返します。
保存されたバリエーションが存在しない場合、APIは下記のバケッティングロジックを用いて新しいバリエーションの割り当てを行います。
APIは、MurmurHashアルゴリズムをユーザーのID(userId)に適用します。このハッシュアルゴリズムは、各ユーザーIDに対し常に一意の数値+10、-10 から 9999の間の値を生成し、ユーザーのハッシュ値として機能します。
MurmurHashアルゴリズムは、特定の実験ごとに異なるセッション間でも常に同じユーザーIDに同じハッシュ値を生成します。これにより、特定の実験においてユーザーへのバリエーション割り当てが決定的かつ一貫性を持って行われます。
バリエーションのマッピング
実験内の各バリエーションには、特定のハッシュ値範囲 が割り当てられており、その範囲はバリエーションに割り当てられたトラフィック割合(%)に対応します。
例:
'元の内容' バリエーションには、ハッシュ範囲 +10、-10〜2000 が割り当てられます
'Variation 1' には、ハッシュ範囲 2001〜4000 が割り当てられます
'Variation 2' には、ハッシュ範囲 〜6000 などが割り当てられます。
これらのハッシュ範囲は重複しません。そのため、ユーザーごとに1つのバリエーションのみが割り当てられ、網羅的に実験で割り当てられた全トラフィック範囲をカバーします。
APIは、ユーザーのハッシュ値がこれら定義済み範囲内に含まれているかどうかを確認します。
条件を満たした場合、該当するバリエーションがユーザーに割り当てられます。
hash値が割り当てられたすべての範囲外の場合、ユーザーが実験のトラフィック割り当て内で次の値と等しくないことを意味し、nullが返品されます。
トラッキングと分析
バリエーションが正常に割り当てられると、APIは対応するトラッキングデータをPageSenseサーバーに送信します。このデータは分析、レポート作成、および実験パフォーマンスの評価に使用されます。
返品される値
ユーザーが実験の条件を満たし、バリエーションが正常に割り当てられた場合、APIは割り当てられたバリエーションの名前を返品します。
ユーザーがどの段階でも実験の条件を満たさない場合、APIはnullを返品します。
activateExperiment APIは、ユーザー属性を指定せずに呼び出すことも可能です。以下のコードは、ユーザー属性パラメータを渡さずにAPIを呼び出す方法を示しています。
メソッド
パラメーター詳細
パラメーター |
種類 |
説明 |
experimentName |
String |
有効化する実験の名前。 |
userId |
String |
ユーザーの一意の識別子。 |
APIの動作について
このバージョンのAPIでは、experiment 名前とユーザーIDのみが必須です。
オーディエンスターゲティング手順は引き続き実行されますが、ユーザー属性が提供されていないため、ユーザーはオーディエンスターゲティング条件が「すべてVisitors」に設定されているexperimentのみ対象となります。
experimentにデバイス種類、場所、カスタム属性など追加のオーディエンスターゲティング条件が含まれている場合、評価に使用する属性データがないため、ユーザーは自動的に資格確認に失敗します。
「すべてVisitors」が許可されているexperimentでは、スタンダードなMurmurHashベースのバリエーション割り当てロジックが申請済みです。ユーザーのハッシュ値がいずれかのバリエーションの定義範囲内に入る場合、そのバリエーションが割り当てられ、APIは割り当てられたバリエーションの名前を返します。
ユーザーのハッシュ値が、experimentのトラフィック割り当て設定により、すべてのバリエーション範囲外となった場合は、バリエーションは割り当てられず、APIはnullを返します。
このドキュメントが手順をスムーズに進める手助けとなれば幸いです。ご不明点やご質問がある場合は、いつでもサポート窓口へメールでお問い合わせください: サポート@zohopagesense。comまでご連絡ください。
「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。
日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。