在此示例中,您将个性化电子邮件正文。 此消息面向在购物车中遗留商品,但尚未完成购买的客户。
您将使用以下类型的辅助函数:
upperCase
字符串函数,以大写字母插入客户的名字。 了解详情。each
帮助程序,用于列出购物车中的商品。 了解详情。if
帮助程序,在购物车中包含相关产品时插入特定于产品的注释。 了解详情。在开始之前,请确保您知道如何配置这些元素:
执行以下步骤:
购物车内容是历程中的上下文信息。 因此,您必须先将初始事件和电子邮件添加到历程,然后才能将购物车特定的信息添加到电子邮件。
创建其架构包含 productListItems
数组。
将此数组中的所有字段定义为此事件的有效负荷字段。
了解有关产品列表项数据类型的更多信息 Adobe Experience Platform文档.
创建从此事件开始的历程。
添加 电子邮件 历程的活动。
在 电子邮件 活动,单击 编辑内容,然后单击 电子邮件设计工具.
从Email Designer主页的左侧面板中,将三个结构组件拖放到消息正文上。
将HTML内容组件拖放到每个新结构组件上。
在Email Designer主页上,单击要添加客户名字的HTML组件。
在上下文工具栏上,单击 显示源代码.
在 编辑HTML 窗口,添加 upperCase
字符串函数:
在左侧菜单中,选择 辅助函数.
使用搜索字段查找“大写”。
从搜索结果中,添加 upperCase
函数。 为此,请单击旁边的加号(+) {%= upperCase(string) %}: string
.
表达式编辑器显示此表达式:
{%= upperCase(string) %}
从表达式中删除“string”占位符。
添加名字令牌:
在左侧菜单中,选择 配置文件属性.
选择 人员 > 全名.
添加 名字 表达式的令牌。
表达式编辑器显示此表达式:
{%= upperCase(profile.person.name.firstName) %}
在中了解有关人员姓名数据类型的更多信息 AdobeExperience Platform文档.
单击 验证,然后单击 保存.
保存消息。
重新打开消息内容。
在Email Designer主页上,单击要在其中列出购物车HTML的内容组件。
在上下文工具栏上,单击 显示源代码.
在 编辑HTML 窗口,添加 each
辅助函数:
在左侧菜单中,选择 辅助函数.
使用搜索字段查找“each”。
从搜索结果中,添加 each
助手。
表达式编辑器显示此表达式:
{{#each someArray as |variable|}} {{/each}}
添加 productListItems
数组的表达式:
从表达式中删除“someArray”占位符。
在左侧菜单中,选择 上下文属性.
上下文属性 仅在历程上下文已传递到消息后可用。
选择 Journey Optimizer > 活动 > event_name,然后展开 productListItems 节点。
在此示例中, event_name 表示事件的名称。
添加 产品 表达式的令牌。
表达式编辑器显示此表达式:
{{#each context.journey.events.event_ID.productListItems.product as |variable|}} {{/each}}
在此示例中, event_ID 表示事件的ID。
修改表达式:
此示例显示了修改后的表达式:
{{#each context.journey.events.event_ID.productListItems as |product|}}
将此代码粘贴到开始 {{#each}}
标记和结束 {/each}}
标记:
<table>
<tbody>
<tr>
<td><b>#name</b></td>
<td><b>#quantity</b></td>
<td><b>$#priceTotal</b></td>
</tr>
</tbody>
</table>
为项目名称、数量和价格添加个性化令牌:
重复这些步骤两次:
此示例显示了修改后的表达式:
{{#each context.journey.events.event_ID.productListItems as |product|}}
<table>
<tbody>
<tr>
<td><b>{{context.journey.events.event_ID.productListItems.name}}</b></td>
<td><b>{{context.journey.events.event_ID.productListItems.quantity}}</b></td>
<td><b>${{context.journey.events.event_ID.productListItems.priceTotal}}</b></td>
</tr>
</tbody>
</table>
{{/each}}
单击 验证,然后单击 保存.
在Email Designer主页上,单击要插入注释的HTML组件。
在上下文工具栏上,单击 显示源代码.
在 编辑HTML 窗口,添加 if
辅助函数:
在左侧菜单中,选择 辅助函数.
使用搜索字段查找“if”。
从搜索结果中,添加 if
助手。
表达式编辑器显示此表达式:
{%#if condition1%} render_1
{%else if condition2%} render_2
{%else%} default_render
{%/if%}
从表达式中删除此条件:
{%else if condition2%} render_2
此示例显示了修改后的表达式:
{%#if condition1%} render_1
{%else%} default_render
{%/if%}
将产品名称令牌添加到条件:
从表达式中删除“condition1”占位符。
在左侧菜单中,选择 上下文属性.
选择 Journey Orchestration > 活动 > event_name,然后展开 productListItems 节点。
在此示例中, event_name 表示事件的名称。
添加 名称 表达式的令牌。
表达式编辑器显示此表达式:
{%#if context.journey.events.`event_ID`.productListItems.name%}
render_1
{%else%} default_render
{%/if%}
修改表达式:
在表达式编辑器中,在 name
令牌。
请使用此语法,其中 product_name 表示产品的名称:
= "product_name"
在此示例中,产品名称为“Juno Jacket”:
{%#if context.journey.events.`event_ID`.productListItems.name = "Juno Jacket" %}
render_1
{%else%} default_render
{%/if%}
将“render_1”占位符替换为注释文本。
示例:
{%#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%}
从表达式中删除“default_render”占位符。
单击 验证,然后单击 保存.
保存消息。
打开 测试 切换,然后单击 触发事件.
在 事件配置 窗口中,输入输入值,然后单击 发送.
测试模式仅适用于测试用户档案。
电子邮件将发送到测试用户档案的地址。
在此示例中,电子邮件包含有关Juno Jacket的注释,因为该产品位于购物车中:
验证没有错误,然后发布历程。
了解如何使用辅助函数。