在决策策略中利用片段 fragments

如果您的决策策略包含决策项目,包括片段,则可以在决策策略代码中利用这些片段。 了解有关片段的更多信息

AVAILABILITY
此功能当前仅适用于​ 基于代码的体验 ​渠道和一组组织(限量发布)。 有关更多信息,请与您的 Adobe 代表联系。

例如,假设您要为多个移动设备型号显示不同的内容。 确保将与这些设备对应的片段添加到您在决策策略中使用的决策项目中。 了解如何操作

{width="70%"}

完成后,您可以使用以下任一方法:

直接插入代码

只需将下面的代码块复制并粘贴到决策策略代码中。 将variable替换为片段ID,将placement替换为片段引用键:

code language-none
{% let variable =  get(item._experience.decisioning.offeritem.contentReferencesMap, "placement").id %}
{{fragment id = variable}}
按照详细步骤操作
  1. 导航到​ 帮助程序函数 ​并将​ Let ​函数{% let variable = expression %} {{variable}}添加到代码窗格,您可以在代码窗格中声明片段的变量。

  2. 使用​Map > Get​函数{%= get(map, string) %}构建表达式。 映射是决策项中引用的片段,字符串可以是您在决策项中作为​ 片段引用键 ​输入的设备模型。

  3. 您还可以使用上下文属性,该属性将包含此设备型号ID。

  4. 添加您为片段选择的变量作为片段ID。

将从决策项的​ 片段 ​部分中选择片段ID和引用键。

WARNING
如果片段键不正确或片段内容无效,渲染将失败,从而导致Edge调用中出现错误。

使用片段时的护栏 fragments-guardrails

决策项和上下文属性

默认情况下,Journey Optimizer片段不支持决策项属性和上下文属性。 但是,您可以改用全局变量,如下所述。

假设您要在片段中使用​ sport ​变量。

  1. 在片段中引用此变量,例如:

    code language-none
    Elevate your practice with new {{sport}} gear!
    
  2. 在决策策略块中使用​ Let ​函数定义变量。 在以下示例中,sport​是使用决策项属性定义的:

    code language-none
    {#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片段,无法确保JSON对象的有效性。 确保表达式片段内容是有效的JSON,以便在决策项中可以使用。

在运行时,将验证营销活动内容(包括决策项中的片段内容)。 如果验证失败,则不会呈现营销活动。

recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76