このページ:決定ポリシー内で Journey Optimizer コンテンツフラグメントと AEM コンテンツフラグメントを活用します。これにより、チャネルをまたいでコンテンツ決定が提供するコンテンツをパーソナライズおよび最適化できます。
決定項目では、決定ポリシー内でメッセージを作成する際に活用できる 2 つのタイプのフラグメントコンテンツをサポートしています。
- Journey Optimizer コンテンツフラグメント - Journey Optimizer で作成され、決定項目の「フラグメント」セクションに追加された再利用可能な式フラグメント。 AJO コンテンツフラグメントの詳細情報
- AEM コンテンツフラグメント - Adobe Experience Manager で作成され、決定項目の属性にマッピングされ、パーソナライゼーションエディターでキー名によって選択されたコンテンツ。AEM コンテンツフラグメントを決定項目に関連付ける方法の詳細情報
Journey Optimizer コンテンツフラグメント ajo-fragments
決定ポリシーに AJO コンテンツフラグメントを含む決定項目が含まれている場合、決定ポリシー内のメッセージを、決定が使用可能なすべてのチャネル(コードベースのエクスペリエンス、メール、プッシュ、SMS、ジャーニー)をまたいで作成する際に、これらのフラグメントを活用できます。
例えば、複数のモバイルデバイスモデルに対して異なるコンテンツを表示するとします。 決定ポリシーで使用している決定項目に、それぞれ異なる電話モデルに関連する指定されたフラグメントを追加します。決定項目にフラグメントを追加する方法の詳細情報。
完了したら、次のいずれかの方法を使用できます。
以下のコードブロックを決定ポリシーコードにコピー&ペーストするだけです。 variable をフラグメント ID に、placement をフラグメント参照キーに置き換えます。
| code language-handlebars |
|---|
|
-
「ヘルパー関数」に移動し、コードパネルに Let 関数
{% let variable = expression %} {{variable}}を追加します。ここでフラグメントの変数を宣言できます。
-
Map/Get 関数
{%= get(map, string) %}を使用して、式を作成します。 マップは、決定項目で参照されるフラグメントです。文字列は、決定項目で フラグメント参照キー として入力したデバイスモデルに指定できます。
-
また、このデバイスモデル ID を含むコンテキスト属性を使用することもできます。
-
フラグメントに選択した変数をフラグメント ID として追加します。
フラグメント ID と参照キーは、決定項目の「フラグメント」セクションから選択されます。
required=false フラグを使用すると、代わりにフラグメントをスキップできます。一時的に使用できないフラグメントの詳細情報使用状況とガードレール fragments-guardrails
次のガードレールは、決定項目で使用される AJO コンテンツフラグメントに特に適用されます。
Journey Optimizer のフラグメントでは、決定項目属性とコンテキスト属性はデフォルトでサポートされていません。 ただし、以下に説明するように、代わりにグローバル変数を使用できます。
例えば、フラグメントで sport 変数を使用するとします。
-
フラグメント内でこの変数を参照します。例:
code language-text Elevate your practice with new {{sport}} gear! -
決定ポリシーブロック内で、Let 関数を使用して変数を定義します。 以下の例では、決定項目属性を使用して sport が定義されています。
code language-handlebars {#each decisionPolicy.13e1d23d-b8a7-4f71-a32e-d833c51361e0.items as |item|}} {% let sport = item._cjmstage.value %} {{fragment id = get(item._experience.decisioning.offeritem.contentReferencesMap, "placement1").id }} {{/each}}
-
これらのフラグメントは動的な性質を持つため、キャンペーンで使用する場合、決定項目で参照されるフラグメントでは、キャンペーンコンテンツ作成時のメッセージ検証がスキップされます。
-
フラグメントコンテンツの検証は、フラグメントの作成中と公開中にのみ行われます。
-
JSON タイプの式フラグメントの場合、フラグメントを保存すると、コンテンツが構文的に検証されます。検証エラーはアラートとして表示されます。
実行時に、キャンペーンコンテンツ(決定項目のフラグメントコンテンツを含む)が検証されます。 検証に失敗した場合、キャンペーンはレンダリングされません。
ジャーニーまたはキャンペーンが決定項目に添付されたフラグメントを参照する際、更新されたフラグメントが Edge で使用可能になるまでに短い同期遅延が発生する場合があります。
フラグメントが一時的に使用できない場合のエラーを回避するために、フラグメントでは、ジャーニーまたはキャンペーンが失敗する代わりにスキップされるように、デフォルトで required フラグが false に設定されるようになりました。
つまり、Edge でフラグメントが一時的に使用できない場合、フラグメントは無視されます。 フラグメントが使用可能な場合は、通常どおりレンダリングされます。
例
決定ポリシーが 2 つのオファーとして選定され、それぞれに「20%オフ」や「30%オフ」などのフラグメントが含まれている場合、2 番目のフラグメントが一時的に使用できない状況でも、required=false が設定されていると、システムはジャーニーやキャンペーンを失敗させることなく、使用可能なオファー(20%オフ)を表示し、もう一方のフラグメント(30%オフ)をスキップします。これにより、コンテンツの同期中であっても信頼性が向上します。
required フラグを true に設定すると、フラグメントを必須としてマークできます。ただし、フラグメントが一時的に欠落していると、ジャーニーやキャンペーンのレンダリングが失敗する場合があります。AEM コンテンツフラグメント aem-fragments-decisioning
決定ポリシーで AEM コンテンツフラグメントを活用する前に、次の点を確認してください。
- コンテンツフラグメントを Adobe Experience Manager で作成し、Journey Optimizer で見つけられるように
ajo-enabled:{OrgId}/{SandboxName}というタグを付けました。タグの作成と割り当ての方法の詳細情報 - 一意の参照名を割り当てて、フラグメントをオファー項目の「AEM フラグメント」セクションに関連付けました。 AEM コンテンツフラグメントを決定項目に関連付ける方法の詳細情報
パーソナライゼーションエディターでは、ポリシーによって選択された決定項目に関連付けられたすべての AEM コンテンツフラグメントが使用できます。フラグメントキー名ごとに 1 つのフォルダーが表示されます。
➡️ Journey Optimizer 決定を含む AEM コンテンツフラグメントの使用方法をビデオで確認
この例では、決定ポリシーには、参照名を通じて AEM フラグメントが関連付けられている 2 つの決定項目が含まれています。
-
「+」ボタンをクリックして、目的のフラグメントを式に追加します。
1 つの参照名に、異なるオファー項目をまたいで複数のフラグメントが関連付けられている場合、決定では、決定ポリシーのランキング条件に基づいて、各顧客に配信する最適なフラグメントを判断します。
-
フラグメントを選択したら、画像 URL やテキストフィールド、その他のコンテンツなどの属性を活用し、決定を使用して、適切なコンテンツを適切な顧客に適切なタイミングで提供できます。
-
キャンペーンやジャーニーをアクティブ化する前に、いずれかのシミュレーション方法を使用して、AEM コンテンツフラグメントのフィールド値がどのようにレンダリングされるかをプレビューします。 コンテンツのシミュレートの詳細情報
チャネルをまたいだ AEM コンテンツフラグメントの使用 aem-fragments-channels
決定ポリシーから AEM コンテンツフラグメント属性を挿入する方法は、作業中のチャネルによって異なります。
決定ポリシーを使用して、AEM コンテンツフラグメント属性をメールに挿入するには:
-
E メールデザイナーでメールのドラフトを開き、右側のパネルの 決定 アイコンをクリックして、決定ポリシーパネルを開きます。
-
組み立てた選択戦略を選択し、プレースメントを指定して、オファーが入力されるメールの領域を定義します。
-
+ アイコンをクリックし、その領域でレンダリングする必要がある AEM コンテンツフラグメント(例:ヒーロー画像 URL フィールド)から特定のフィールドを選択します。
-
公開前に、「コンテンツをシミュレート」をクリックして結果をプレビューし、最も優先度の高いオファーとそのコンテンツフラグメントがテストプロファイルに対して期待どおりにレンダリングされることを確認します。
JSON ベースのコードベースのエクスペリエンスを作成する際、次の構造を使用して、決定ポリシーから AEM コンテンツフラグメント属性をレンダリングします。
| code language-handlebars |
|---|
|
| note |
|---|
| NOTE |
AEM コンテンツフラグメントでは、aemContentReferencesMap を使用して、参照キーでフラグメントを検索します。これは、Journey Optimizer コンテンツフラグメントに使用される contentReferencesMap とは異なります。 |
JSON ペイロードを作成する際は、次の点に注意してください。
- JSON 配列のブラケット
[と]を#eachループの 外側 に配置します。 - JSON 文字列内のフィールド値には、特殊文字の HTML エスケープを防ぎ、有効な JSON 出力を確保するために、三重括弧(
{{{ }}})を使用します。 result='YOUR_REFERENCE_KEY'パラメーターは、解決されたフラグメントのコンテンツをその名前で取得するので、YOUR_REFERENCE_KEY.fieldNameでそのフィールドを参照できます。
HTML ベースのコードベースのエクスペリエンスの場合は、フィールドレンダリングに標準の二重括弧を使用します。
| code language-handlebars |
|---|
|
AEM コンテンツフラグメントからのアセットの使用 aem-cf-assets
AEM コンテンツフラグメントには、AEM に保存されているアセットを参照する画像フィールドが含まれている場合があります。 Journey Optimizer は、これらのアセットの 相対パス のみを受信するので、完全な公開 URL を先頭に付加しない限り、画像が読み込まれない場合があります。
-
AEM インスタンス URL から、オーサードメイン (例:
author-p12345-e67890.adobeaemcloud.com)を特定します。
-
authorをpublishに置き換えて、パブリッシュドメイン(publish-p12345-e67890.adobeaemcloud.com)を取得します。 -
Journey Optimizer パーソナライゼーションエディターで、コンテンツフラグメントからアセット参照フィールドにドメインを公開する前に追加します。
画像は、配信時に完全な公開 URL に解決されます。
-
コンテンツフラグメントを AEM で開きます。
-
JSON プレビューに移動し、「参照」セクションを確認して、公開されたアセット URLを見つけます。
-
公開 URL をコピーし、コンテンツフラグメント内の専用のテキストフィールドにペーストします。
-
Journey Optimizer では、そのテキストフィールドをパーソナライゼーション式の画像ソースとして直接参照します。
このアプローチにより、URL の手動での作成が回避され、公開 URL はコンテンツフラグメント自体の中に保持されます。
チュートリアルビデオ video
Adobe Experience Manager コンテンツフラグメントを Journey Optimizer 決定と連携し、コンテンツをパーソナライズおよび最適化する方法について説明します。