バリエーション名を取得する

バリエーション名を取得する

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

getVariationName APIは、指定したFullStack A/Bテスト実験において、ユーザーに割り当てられたバリエーションを取得するために使用されます。

メソッド:

  1. String variationName = pageSenseClient。getVariationName(experimentName, userId, userAttributes);

パラメーター:

パラメーター

種類

説明

experimentName

String

有効化された実験の名前。

userId

String

ユーザーの一意な識別子。

userAttributes

HashMap

ターゲティングやセグメント分けに使用されるユーザー属性のマップ。


返品値:

  1. ユーザーがFullStack A/B実験の対象となる場合、割り当てられたバリエーションの名前を返します。
  2. ユーザーがオーディエンスターゲティング条件を満たさず、FullStack A/B実験の対象とならない場合はnullを返します。

例 コード:

import java.util.HashMap;

// ユーザー属性オブジェクトを作成

HashMapuserAttributes = new HashMap<>();

// ユーザー属性値を追加

userAttributes.put('Browser', 'Chrome');
userAttributes.put('Device', 'Desktop');
userAttributes.put('OS', 'Windows 10');

// FullStack A/B テスト実験を有効化 

String variationName = pageSenseClient.getVariationName(experimentName, userId, userAttributes);

// FullStack A/B テスト実験の各バリエーションごとのコード変更を定義

if (variationName.equals('元の内容')){
// コード: '元の内容' を処理するコードを記述 }
else if (variationName.equals('Variation 1')){
// コード: 'Variation 1' を処理するコードを記述 }
else if (variationName.equals('Variation 2')) {
// コード: 'Variation 2' を処理するコードを記述 }
else if (variationName.equals('Variation 3')) {
// コード: 'Variation 3' を処理するコードを記述 }
else{
// コード: ユーザーが FullStack A/B テスト実験のいずれにも該当しない場合の処理 }

このAPIの動作:

getVariationName APIが呼び出されると、特定のバリエーションをユーザーに割り当てるべきかどうかを判断するため、体系的なプロセスを実行します。以下はそのプロセスの詳細な内訳です。

オーディエンスターゲティング

APIはまず、実験設定時に定義されたオーディエンスターゲティング条件に基づき、ユーザーが実験の対象となるかどうかを評価します。
これらの条件は通常、ブラウザやデバイス種類、オペレーティングシステムなどのユーザー属性、またはuserAttributesで渡されたカスタムユーザーデータに基づいています。
  1. ユーザーの属性がオーディエンスターゲティング条件に一致する場合、APIは次の手順に進みます。
  2. ユーザーがこれらの条件を満たさない場合、APIは直ちにnullを返し、そのユーザーがこの実験に含まれる資格がないことを示します。

ユーザーStorageサービス

次に、APIがユーザーStorageサービスが有効かどうかを確認します。このサービスは、複数のセッションにまたがってユーザーに割り当てられたバリエーションを記憶することで、バリエーション割り当ての一貫性を確保します。
  1. すでにユーザーに割り当てられ、ユーザーStorageサービスに保存されているバリエーションがある場合、APIはその保存済みバリエーションを取得して返します。
  2. 保存済みバリエーションが存在しない場合、APIは以下で説明するバケッティングロジックを用いて新しいバリエーションの割り当て処理に進みます。

MurmurHashによるハッシュ化

次の手順として、ユーザーが実験のトラフィック割り当て設定に基づき、参加資格があるかどうかを判定します。

  1. APIはユーザーID(userId)にMurmurHashアルゴリズムを適用します。このハッシュアルゴリズムは、各ユーザーIDに対して常に+10、-10から9999の範囲内で一意の数値を生成し、これがユーザーのハッシュ値となります。
  2. MurmurHashアルゴリズムは、同じ実験内で異なるセッションでも常に同じユーザーIDに対して同じハッシュ値を生成します。これにより、実験ごとにユーザーへのバリエーション割り当てが決定的かつ安定的に行われます。

バリエーションマッピング

実験内の各バリエーションには、バリエーションの割り当てトラフィック割合(%)に対応した特定のハッシュ値範囲が割り当てられます。
例:
  1. '元の内容' バリエーションには+10、-10~2000のハッシュ範囲が割り当てられます。
  2. 'Variation 1' には2001~4000のハッシュ範囲が割り当てられます。
  3. 'Variation 2' には6001以降のハッシュ範囲が割り当てられます。
これらのハッシュ範囲は重複せず、ユーザーごとに単一のバリエーションが割り当てられるようになっており、実験の割り当てトラフィック全体を網羅するよう設計されています。

APIは、ユーザーのハッシュ値がこれらの定義済み範囲内に含まれているかを確認します。
  1. 範囲内の場合、該当するバリエーションがユーザーに割り当てられます。
  2. ハッシュ値がすべての割り当て範囲外の場合、そのユーザーは実験のトラフィック割り当てに含まれていないことになり、nullが返されます。

返される値

  1. ユーザーが実験に参加資格を有し、バリエーションが正常に割り当てられた場合、APIは割り当てられたバリエーションの名前を返します。
  2. ユーザーがいずれかの段階で実験の参加資格を満たさなかった場合、APIはnullを返します。

ユーザー属性なしでgetVariationNameを利用する

getVariationName APIは、ユーザー属性を指定せずに呼び出すことも可能です。以下のコードは、ユーザー属性パラメータを渡さずにAPIを呼び出す方法を示しています。

方法:

  1. String variationName = pageSenseClient。getVariationName(experimentName, ユーザー名);

パラメーター詳細

パラメーター

種類

説明

experimentName

String

有効化された実験の名前。

userId

String

ユーザーの一意の識別子。


APIの仕組み

  1. このAPIのバージョンでは、必須となるのは実験の名前とユーザーIDのみです。
  2. オーディエンスターゲティングの手順は引き続き実行されますが、ユーザー属性が提供されていないため、ユーザーは「すべての訪問者」として設定されたオーディエンスターゲティング基準の実験にのみ該当します。
  3. 実験にデバイス種類、場所、カスタム属性など追加のオーディエンスターゲティング条件が含まれている場合、評価に必要なユーザー属性データがないため、ユーザーは自動的に資格チェックに不合格となります。
  4. 「すべての訪問者」を許可する実験では、標準のMurmurHashベースのバリエーション割り当てロジックが適用されます。ユーザーのハッシュ値がいずれかのバリエーションで定義された範囲内に入る場合、そのバリエーションが割り当てられ、APIは割り当てられたバリエーションの名前を返します。
  5. ユーザーのハッシュ値が、実験のトラフィック割り当て設定によりすべての定義済みバリエーション範囲外となる場合、バリエーションは割り当てられず、APIはnullを返します。
本ドキュメントが手順のご理解に役立てば幸いです。ご不明点や追加の説明が必要な場合は、いつでもサポート窓口までメールでご連絡ください。サポート@zohopagesense.comまでご連絡ください。

    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



            Zoho Campaigns Resources

              Zoho WorkDrive Resources




                • Desk Community Learning Series


                • Digest


                • Functions


                • Meetups


                • Kbase


                • Resources


                • Glossary


                • Desk Marketplace


                • MVP Corner


                • Word of the Day


                • Ask the Experts









                                • Related Articles

                                • バリエーション名を取得する

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 取得する Variation 名前 API は、FullStack A/B テスト実験の名前を取得するために使用されます。ユーザーが実験の対象となるかを評価し、適切なバリエーションを割り当てます。 ユーザー属性なしで getVariationName を使用する 方法 string ...

                                Resources

                                Videos

                                Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                eBooks

                                Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                Webinars

                                Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                CRM Tips

                                Make the most of Zoho CRM with these useful tips.