バリアント

レコードは、オーディエンスごとに異なるコンテンツを返せます。別バージョン全体、1つのフィールド、1つの段落のいずれも可能です。どのバリアントを返すかはサーバーが、一度定義して再利用するターゲティングルールで選びます。これがFóirにおけるパーソナライズです。

レコード、フィールド、エントリー

バリアントが有効なモデルでは、レコードに既定があり、複数のバリアントを持てます。レコードレベルのバリアントはレコード全体の内容を置き換え、独自の公開状態とバージョン履歴を持ちます。フィールドレベルのバリアントは、オーディエンスに対して1つのフィールドだけを上書きし、レコードの残りはそのままにします。proseフィールドまたはリストの中では、1つのエントリーや項目が単独で異なる内容を持てます。

ターゲティングはカタログから

バリアントの対象は、バリアントカタログのエントリーで決まります。優先度を持つ、名前付きで再利用できるターゲティングルールの集合です。エントリーを編集すると、それを参照するすべてのバリアントのターゲットが変わります。ルールが読むのはコンテキストディメンションとセグメントです。

サーバーによる選択

すべてのバリアントのルールがリクエストに対して評価され、一致したもののうちカタログの優先度が最も高いものが選ばれます。同順位の場合は、レコードの既定バリアントになります。どのバリアントも提供できないときは、レコード自身のコンテンツが返されます。

呼び出し元が渡すものとサーバーが導くもの

読み取りは、コンテキストをcontexts引数で渡します。デバイス、プラットフォーム、ロケール、そして定義済みのカスタムディメンションです。呼び出し元が省いたディメンションは存在しないものとして扱われるため、それを判定するルールは一致しません。

サインイン状況、セグメントへの所属、ユーザーのプロフィールデータは、呼び出し元からは決して受け取りません。サーバーは、サインイン済みユーザーのトークンからそれらを導き出し、送ろうとするリクエストは無視します。

返されるもの

勝ったバリアントの値はレコードの通常のフィールドにマージされて届き、_variantが、返されたバリアントを示します。バリアントを解決したレコードを含むレスポンスはプライベートとしてマークされるため、共有キャッシュには保存されません。

詳細を読む

バリアントガイドではバリアントの作成と公開を、バリアントカタログガイドではターゲティングのエントリーと優先度を扱っています。