personalization

personalization オブジェクトは、要求されるパーソナライズ決定(オファーまたは提案)と、要求と応答でそれらの処理方法を設定します。 Adobe TargetやAdobe Journey Optimizerの導入では、ユーザーごとに表示コンテンツをカスタマイズできる原動力となるため、特に価値があります。

alloy("sendEvent", {
  personalization: {
    decisionScopes: ["hero-banner"],
    surfaces: ["web://example.com"],
    schemas: ["https://ns.adobe.com/personalization/dom-action"],
    sendDisplayEvent: true,
    sendDisplayNotifications: true,
    includePendingDisplayNotifications: true,
    defaultPersonalizationEnabled: false
  },
  renderDecisions: true,
  xdm: adobeDataLayer.getState(reference)
});

personalization オブジェクトには、次のプロパティが含まれています。

personalization.decisionScopes

decisionScopes プロパティは、パーソナライズに関する決定を取得および返すようにWeb SDKに指示する文字列の配列です。 配列内の各項目は、パーソナライズされたコンテンツが必要な場所、コンテキスト、または論理的な配置を特定します。

このプロパティは、ページの特定の領域またはコンポーネントに対してパーソナライズされたコンテンツを明示的に取得する場合に便利です。 特に、シングルページアプリケーションでは、ユーザーのナビゲーションやビューの変更に応じて異なるオファーセットが必要になる場合があります。 このプロパティを使用して、ユーザーに関連するUI要素のオファーのみを取得することで、パフォーマンスを最適化することもできます。

personalization: {
  decisionScopes: ["hero-banner", "cart-offer"]
}

Adobe Targetでは、各意思決定範囲がmboxまたはアクティビティにマッピングされます。 Adobe Journey Optimizerでは、各意思決定範囲を、意思決定に基づくweb コンテンツの配置や施策にマッピングしています。 Offer Decisioningでは、意思決定範囲は、訪問者が受け取るべきオファーや提案にマッピングされます。

TIP
グローバルスコープをリクエスト(またはブロック)する場合は、decisionScopesで指定する代わりにdefaultPersonalizationEnabledを使用します。

personalization.surfaces

surfaces プロパティは、​ サーフェス URI文字列の配列で、パーソナライゼーションを要求するチャネル、デバイス、またはコンテキストを手動で定義します。 クロスチャネルエコシステム内で、ドメイン、アプリ、デバイスプラットフォームなど、異なるデジタルエクスペリエンスを区別できます。 デフォルトでは、ライブラリは現在のページからデフォルトサーフェスを推測します。 このプロパティを使用すると、現在のページの自動推測サーフェスを上書きできます。

このプロパティは、クロスチャネルパーソナライゼーションを使用する場合に役立ち、パーソナライゼーションの仕組みを別々のチャネルで区別する必要があります。 これにより、同じAdobe Experience Platform組織の下で、異なるサイトに対して個別のオファーを作成できます。

personalization: {
  surfaces: ["web://example.com", "web://support.example.com/contact"]
}

このプロパティは、Adobe Journey Optimizerのキャンペーンやサーフェス管理で設定されたサーフェスと一致するため、Journey Optimizerでは基本的に使用されます。

personalization.schemas

schemas プロパティは、Edge Networkから要求されたパーソナライゼーションコンテンツの種類をフィルタリングするスキーマ URI文字列の配列です。 このプロパティを設定すると、Adobeから受け取る応答が、指定したコンテンツタイプ定義に一致するオファーのみを含むように制限されます。 省略した場合、ライブラリは、一致したスコープまたはサーフェスに対して、利用可能なすべてのスキーマのオファーをリクエストします。

このプロパティは、応答サイズを最適化するのに役立ち、web サイトまたはアプリケーションが処理できるオファータイプのみを受け取るようにします。 また、特定の方法でパーソナライズされたコンテンツをレンダリングするシングルページアプリケーション(DOM アクションのみを使用する、JSON オブジェクトのみを使用するなど)で使用する場合にも役立ちます。

personalization: {
  schemas: [
    "https://ns.adobe.com/personalization/dom-action",
    "https://ns.adobe.com/personalization/html-content-item"
  ]
}

次のスキーマ URIがサポートされています。

  • https://ns.adobe.com/personalization/dom-action:通常、Adobe TargetのVisual Experience Composerで生成される、ダイレクト DOM アクションであるオファー。 追加のコードを記述することなく、ページ上の要素を自動的に操作するための手順が含まれています。 これは、自動レンダリング web パーソナライゼーションの標準です。
  • https://ns.adobe.com/personalization/html-content-item:生のHTMLを含むオファーが文字列として配信されました。 通常、実装では、ページ上の目的の場所にこのコンテンツが挿入されるため、DOM アクションよりも詳細な制御が可能です。 バナー、スニペット、モーダルコンテンツなどに一般的に使用されます。
  • https://ns.adobe.com/personalization/json-content-item: JSON オブジェクトとしてフォーマットされたオファー。 HTMLやDOMの変更ではなく構造化データが必要なAPI ベースの実装やフロントエンドで最も一般的に使用されます。
  • https://ns.adobe.com/personalization/redirect-item:別のURLにリダイレクトするオファー。 ランディングページやオンボーディングフローなど、ターゲティングや意思決定のロジックにもとづいて、利用者を新しいページに誘導するために使用されます。
  • https://ns.adobe.com/personalization/ruleset-item: クライアントサイドのルールエンジンを強化するためのビジネスロジックのブロックを提供します。 論理条件と結果(if/then パーソナライゼーションロジック)を定義するバージョン管理されたルールセットが含まれます。
  • https://ns.adobe.com/personalization/message/in-app: Adobe Journey Optimizer アプリ内メッセージ専用にフォーマットされたオファーで、通常はモーダル、バナー、ポップアップ、オーバーレイとしてレンダリングされます。
  • https://ns.adobe.com/personalization/message/content-card: web アプリまたはモバイルアプリでの永続的または受信トレイ形式のフィード用に設計された、Adobe Journey Optimizer コンテンツカード向けにフォーマットされたオファーです。
  • https://ns.adobe.com/personalization/message/native-alert: Adobe Journey Optimizer ネイティブのアラート専用にフォーマットされたオファーを提供し、プラットフォーム ネイティブの通知ダイアログをトリガーします。
  • https://ns.adobe.com/personalization/measurement: パーソナライズされたオファーのクリックとインタラクションを追跡するために使用されます。 レンダリング可能なコンテンツが含まれていません。
  • https://ns.adobe.com/personalization/eventHistoryOperation: ローカルストレージ内の訪問者のイベント履歴を変更するためのスキーマ。 SDKが内部で使用し、配信またはブロックされたエクスペリエンスを追跡します。 レンダリング可能なコンテンツが含まれていません。
  • https://ns.adobe.com/personalization/default-content-item: フォールバックまたはデフォルトのコンテンツ(通常、パーソナライズされたオファーが対象外の場合)。 これにより、条件を満たしていないユーザーでもコンテンツを受け取ることができ、エクスペリエンスの一貫性を維持できます。

personalization.sendDisplayEvent

sendDisplayEvent プロパティは、パーソナライズされたコンテンツがページにレンダリングされた直後に、表示通知イベントがEdge Networkに自動的に送信されるかどうかを判断するブール値です。 省略した場合、デフォルト値はtrueです。 パーソナライズされたコンテンツがインプレッションのトラッキング用にレンダリングされたことを示さない場合は、この変数をfalseに設定します。

この変数をfalseに設定する最も一般的な使用例は、実装内の別の場所に別のコマンドを送信し、表示イベントにフラグを付ける場合です。 一部の実装には、インプレッションとAnalytics イベントの両方が含まれています。このプロパティを使用すると、インプレッションを増分するsendEvent コマンドを完全に制御できます。

personalization: {
  sendDisplayEvent: true
}
NOTE
以前のバージョンのWeb SDK(バージョン 2.12.0以前)では、代わりにsendDisplayNotificationsを使用しています。

personalization.includePendingDisplayNotifications

includePendingDisplayNotifications プロパティは、保留中の表示通知が現在のsendEvent呼び出しにバンドルされているかどうかを制御するブール値です。 保留中の表示通知は、表示イベントとしてEdge Networkにレンダリングされたが、まだ報告されていないパーソナライズされたコンテンツのインプレッションです。 このプロパティは、パーソナライズされたコンテンツとsendEvent呼び出しのレンダリングが非同期になる可能性があるため、シングルページアプリケーションを使用する場合に役立ちます。

このプロパティの既定値はfalseです。 保留中の表示通知をバッチ処理してフラッシュし、インプレッションを正確に記録する場合は、このプロパティをtrueに設定します。 従来のweb サイトなどの同期実装では、通常、このプロパティを設定する必要はありません。

personalization: {
  includePendingDisplayNotifications: true
}

personalization.defaultPersonalizationEnabled

defaultPersonalizationEnabled プロパティは、Web SDKがこのsendEvent コマンドに対してデフォルトのページ全体のパーソナライゼーションスコープ (__view__)とサーフェスをリクエストする方法を明示的に制御できるブール値です。 デフォルトでは、ページ読み込み後の最初のsendEvent コマンドで、Web SDKはデフォルトのページ全体のパーソナライゼーションスコープと関連するサーフェスのオファーをリクエストします。 後続のsendEvent コマンドは、デフォルトのパーソナライゼーションを要求しません。 このプロパティを使用して、その動作を上書きできます。 シングルページアプリケーションの実装では、ユーザーがサイトを移動する際に、デフォルトのパーソナライゼーションを再度要求する場合に役立ちます。 このプロパティは、オファー取得を重複せずに表示イベントを​ のみ ​送信する場合にも使用できます。

personalization: {
  defaultPersonalizationEnabled: false
}

このプロパティは、設定方法に応じて次のロジックを使用します。

  • 未設定:まだ要求されていない場合は、デフォルトのパーソナライゼーションを要求します。 デフォルトのパーソナライゼーションは、通常、ページ読み込み後の最初のsendEventに要求されますが、同じページで以降のsendEvent呼び出しでは再度要求されません。 このプロパティを設定すると、この動作が上書きされます。
  • true:このsendEvent コマンドがページ読み込み後の最初のコマンドでない場合でも、ページスコープとデフォルトのサーフェスを明示的に要求します。 このプロパティをtrueに設定する最適なタイミングは、シングルページアプリケーションのシナリオなど、デフォルトのパーソナライゼーションリクエストを強制する必要がある場合です。
  • false:このsendEvent コマンドがページ読み込み後の最初のコマンドである場合でも、ページスコープとデフォルトサーフェスのリクエストを明示的に抑制します。 このプロパティをfalseに設定する最適なタイミングは、特定のsendEvent コマンドで新しいオファーをリクエストせず、代わりにAnalyticsにデータを送信したり、表示イベントを送信したりする場合です。

Web SDK タグ拡張機能を使用したPersonalization コンポーネント

このプロパティに相当するWeb SDK タグ拡張機能は、‘Send event’ アクションを設定する際のPersonalization セクションです。

recommendation-more-help
experience-platform-help-collection