Personalization用例:购物车放弃电子邮件 personalization-use-case-helper-functions

在此示例中,您将个性化电子邮件正文。 此消息面向在购物车中遗留商品,但尚未完成购买的客户。

您将使用以下类型的辅助函数:

  • upperCase字符串函数,用于将客户的名字插入大写字母。 了解详情
  • each帮助程序,用于列出购物车中的项目。 了解详情
  • if帮助程序用于插入特定于产品的注释(如果相关产品在购物车中)。 了解详情

➡️在此视频中了解如何使用辅助函数

在开始之前,请确保您知道如何配置这些元素:

执行以下步骤:

步骤1:创建初始事件和相关历程 create-context

购物车内容是历程中的上下文信息。 因此,您必须先将初始事件和电子邮件添加到历程,然后才能将购物车特定的信息添加到电子邮件。

  1. 创建其架构包含productListItems数组的事件。

  2. 将此数组中的所有字段定义为此事件的有效负荷字段。

    Adobe Experience Platform文档中了解有关产品列表项数据类型的更多信息。

  3. 创建从此事件开始的历程。

  4. 向历程添加​ 电子邮件 ​活动。

第2步:创建电子邮件 configure-email

  1. 在​ 电子邮件 ​活动中,单击​ 编辑内容,然后单击​ 电子邮件Designer

  2. 从电子邮件Designer主页的左侧面板中,将三个结构组件拖放到消息正文上。

  3. 将HTML内容组件拖放到每个新结构组件上。

步骤3:将客户的名字插入大写字母 uppercase-function

  1. 在电子邮件Designer主页上,单击要添加客户名字的HTML组件。

  2. 在上下文工具栏上,单击​ 显示源代码

  3. 在​ 编辑HTML ​窗口中,添加upperCase字符串函数:

    1. 在左侧菜单中,选择​ 辅助函数

    2. 使用搜索字段查找“大写”。

    3. 从搜索结果中,添加upperCase函数。 为此,请单击{%= upperCase(string) %}: string旁边的加号(+)。

      表达式编辑器显示此表达式:

      code language-handlebars
      {%= upperCase(string) %}
      

  4. 从表达式中删除“string”占位符。

  5. 添加名字令牌:

    1. 在左侧菜单中,选择​ 配置文件属性

    2. 选择​ 人员 > 全名

    3. 将​ 名字 ​令牌添加到表达式中。

      表达式编辑器显示此表达式:

      code language-handlebars
      {%= upperCase(profile.person.name.firstName) %}
      

      AdobeExperience Plaform文档中了解有关人员名称数据类型的更多信息。

  6. 单击​ 验证,然后单击​ 保存

  7. 保存消息。

第4步:插入购物车中的项目列表 each-helper

  1. 重新打开消息内容。

  2. 在电子邮件Designer主页上,单击要列出购物车内容的HTML组件。

  3. 在上下文工具栏上,单击​ 显示源代码

  4. 在​ 编辑HTML ​窗口中,添加each帮助程序:

    1. 在左侧菜单中,选择​ 辅助函数

    2. 使用搜索字段查找“each”。

    3. 从搜索结果中,添加each帮助程序。

      表达式编辑器显示此表达式:

      code language-handlebars
      {{#each someArray as |variable|}} {{/each}}
      

  5. productListItems数组添加到表达式:

    1. 从表达式中删除“someArray”占位符。

    2. 在左侧菜单中,选择​ 上下文属性

      上下文属性 ​仅在历程上下文已传递到消息后可用。

    3. 选择​ Journey Optimizer > Events > event_name,然后展开​ productListItems ​节点。

      在此示例中,event_name ​表示事件的名称。

    4. 将​ Product ​令牌添加到表达式中。

      表达式编辑器显示此表达式:

      code language-handlebars
      {{#each context.journey.events.event_ID.productListItems.product as |variable|}} {{/each}}
      

      在此示例中,event_ID ​表示事件的ID。

    5. 修改表达式:

      1. 删除“.product”字符串。
      2. 将“variable”占位符替换为“product”。

      此示例显示了修改后的表达式:

      code language-handlebars
      {{#each context.journey.events.event_ID.productListItems as |product|}}
      
  6. 将此代码粘贴到开始{{#each}}标记和结束{/each}}标记之间:

    code language-html
    <table>
       <tbody>
          <tr>
             <td><b>#name</b></td>
             <td><b>#quantity</b></td>
             <td><b>$#priceTotal</b></td>
          </tr>
       </tbody>
    </table>
    
  7. 为项目名称、数量和价格添加个性化令牌:

    1. 从HTML表中删除占位符“#name”。
    2. 从上一个搜索结果中,将​ Name ​令牌添加到表达式中。

    重复这些步骤两次:

    • 将占位符“#quantity”替换为​ 数量 ​令牌。
    • 将占位符“#priceTotal”替换为​ 总价 ​令牌。

    此示例显示了修改后的表达式:

    code language-handlebars
    {{#each context.journey.events.event_ID.productListItems as |product|}}
       <table>
          <tbody>
             <tr>
             <td><b>{{product.name}}</b></td>
             <td><b>{{product.quantity}}</b></td>
             <td><b>${{product.priceTotal}}</b></td>
             </tr>
          </tbody>
       </table>
    {{/each}}
    
  8. 单击​ 验证,然后单击​ 保存

步骤5:插入特定于产品的说明 if-helper

  1. 在电子邮件Designer主页上,单击要在其中插入注释的HTML组件。

  2. 在上下文工具栏上,单击​ 显示源代码

  3. 在​ 编辑HTML ​窗口中,添加if帮助程序:

    1. 在左侧菜单中,选择​ 辅助函数

    2. 使用搜索字段查找“if”。

    3. 从搜索结果中,添加if帮助程序。

      表达式编辑器显示此表达式:

      code language-handlebars
      {%#if condition1%} render_1
         {%else if condition2%} render_2
         {%else%} default_render
      {%/if%}
      

  4. 从表达式中删除此条件:

    code language-handlebars
    {%else if condition2%} render_2
    

    此示例显示了修改后的表达式:

    code language-handlebars
    {%#if condition1%} render_1
       {%else%} default_render
    {%/if%}
    
  5. 将产品名称令牌添加到条件:

    1. 从表达式中删除“condition1”占位符。

    2. 在左侧菜单中,选择​ 上下文属性

    3. 选择​ Journey Orchestration > 事件 > 事件名称,然后展开​ productListItems ​节点。

      在此示例中,event_name ​表示事件的名称。

    4. 将​ Name ​令牌添加到表达式中。

      表达式编辑器显示此表达式:

      code language-handlebars
      {%#if context.journey.events.`event_ID`.productListItems.name%}
         render_1
         {%else%} default_render
      {%/if%}
      

  6. 修改表达式:

    1. 在表达式编辑器中,在name令牌之后指定产品名称。

      使用以下语法,其中​ product_name ​表示产品的名称:

      code language-javascript
      = "product_name"
      

      在此示例中,产品名称为“Juno Jacket”:

      code language-handlebars
      {%#if context.journey.events.`event_ID`.productListItems.name = "Juno Jacket" %}
         render_1
         {%else%} default_render
      {%/if%}
      
    2. 将“render_1”占位符替换为注释文本。

      示例:

      code language-handlebars
      {%#if context.journey.events.`event_ID`.productListItems.name = "Juno Jacket" %}
         Due to longer than usual lead times on the Juno Jacket, please expect item to ship two weeks after purchase.
         {%else%} default_render
      {%/if%}
      
    3. 从表达式中删除“default_render”占位符。

  7. 单击​ 验证,然后单击​ 保存

  8. 保存消息。

步骤6:测试并发布旅程 test-and-publish

  1. 打开​ 测试 ​切换开关,然后单击​ 触发事件

  2. 在​ 事件配置 ​窗口中,输入输入值,然后单击​ 发送

    测试模式仅适用于测试用户档案。

    电子邮件将发送到测试用户档案的地址。

    在此示例中,电子邮件包含有关Juno Jacket的注释,因为该产品位于购物车中:

  3. 验证没有错误,然后发布历程。

相关主题 related-topics

Handlebars函数 handlebars

用例 use-case

操作方法视频 video

了解如何使用辅助函数。

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