概述
如果您在服务器上跟踪用户的弃置购物车或想要使用OneSignal实现提醒功能,本指南将解释如何通过邮件或推送通知构建和发送个性化消息。您可以选择:- 使用
custom_data
API参数从服务器传递结构化数据,或 - 利用数据标签和Journeys在OneSignal内实现可扩展的消息自动化。
选项1:使用 custom_data
使用我们的创建消息API和custom_data
属性来发送存储在您服务器上的购物车数据。这非常适合服务器端数据,并支持完全个性化。
示例 custom_data
负载:
选项2:数据标签
标签允许您存储和引用简单的key: value
键值对进行个性化。由于不支持数组和对象,您通常只存储最后添加的商品以及购物车中商品的总数。示例:
购物车弃置邮件模板
此邮件模板示例将演示如何使用Liquid语法显示以下项目:- 购物车中的商品总数
-
用户购物车中的商品包括:
- 商品图片
- 商品名称
- 商品数量
- 商品价格
- 指向客户个性化购物车URL的链接

Abandoned cart email template example
邮件模板设置
1
创建新邮件模板
导航到 消息 > 模板 > 新邮件模板。
2
使用拖放编辑器
3
创建包含以下内容的5行:
- 第1、2、4行各有1列,包含一个文本块。
- 第3行有4列,包含:HTML块 | 文本块 | 文本块 | 文本块
- 第5行有1列,包含一个按钮块

购物车弃置邮件模板设置
在邮件中显示商品数量
使用Liquid语法显示商品数量:- 自定义数据:使用
size
属性。示例:{{ message.custom_data.[key].size }}
。 - 数据标签:使用
cartItemsCount
标签。示例:{{ cartItemsCount }}
。
在邮件中显示商品
- 自定义数据:使用Liquid for循环遍历您的
custom_data
购物车数组。 - 数据标签:根据您的标签结构,只会显示最近的商品。
{% for product in message.custom_data.cart %}
来开始for循环。
第3行的4列中,第1列的HTML块将包含以下内容:
{{product.cartProductName}}
{{product.cartQuantity}}
{{product.cartPrice}}
{% endfor %}
for循环检查我们传入custom_data
的cart
数组中的每个product
,并在列中显示每个商品的值。
如果使用数据标签,您可以删除包含for循环的行。记住根据您的标签结构更改liquid语法。

Abandoned cart email template example to show items
在邮件中添加自定义购物车URL
这是可选的,仅当您的购物车对每个客户都有特定URL时才需要。 设置购物车URL有多种方式。在此示例中,我们在custom_data
或标签中传入购物车的完整URL,如:"cart_url": "https://yourdomain.com/cart"
详细信息请参阅动态URL。
在按钮块 > 内容属性 > 动作 > URL中,设置:
- 如果使用
custom_data
:{{message.custom_data.cart_url}}
- 如果使用标签:
{{cart_url}}

Abandoned cart email template example for custom URL
完成邮件模板
有关自定义模板的更多详细信息,请参阅使用拖放设计邮件。准备就绪后,您可以在创建消息 API请求中使用
template_id
配合custom_data
属性。对于标签,您可以使用任何方法发送。购物车弃置推送设置
此推送模板示例将演示如何显示用户购物车中的商品,包括其图片和名称。它还显示购物车中的商品总数,并链接到客户的个性化购物车URL。
Abandoned cart push template example
推送模板设置
推送通知只能发送有限的数据量。我们不列出购物车中的所有商品,而是显示第一个商品并提及总商品数量。 导航到 消息 > 模板 > 新推送模板在推送中显示商品和商品数量
Liquid语法提供if语句,我们可以用它根据custom_data
对象的cart
数组中的商品数量或cartItemsCount
标签来改变消息内容。
在模板消息字段中,添加以下内容:
item_count
赋值为custom_data.cart.size
或标签cartItemsCount
,如果计数等于1、2或大于2,则显示不同的内容。
由于购物车可能有超过1个商品,我们使用first
属性获取购物车中的第一个商品。
我们使用minus
功能将购物车商品总数减1,因为我们已经提到了它。
在推送中显示商品图片
在模板图片字段中,使用liquid语法添加图片URL属性。如果图片不存在,则不会显示图片。您也可以设置default
默认图片。示例:
{{message.custom_data.cart.first.cartImageURL | default: "https://i.imgur.com/ssPCfbC.png"}}
{{cartImageURL | default: "https://i.imgur.com/ssPCfbC.png"}}
在推送中添加自定义购物车URL
在模板启动URL字段中,使用liquid语法添加购物车URL属性。如果购物车不存在,推送将导向网站或应用的首页。 模板中启动URL的注意事项:需要设置https://
或x://
格式的其他架构。如果您在标签中设置了这个,可以使用liquid语法的remove
功能,如下所示:
https://{{message.custom_data.cart_url | remove: "https://"}}
https://{{cart_url | remove: "https://"}}
更新推送模板并发送消息
有关推送模板中提供选项的更多详细信息,请参阅发送消息。需要帮助?与我们的支持团队聊天或发送邮件至
support@onesignal.com
请包含以下信息:- 您遇到的问题详情以及复现步骤(如有)
- 您的 OneSignal 应用 ID
- 外部 ID 或订阅 ID(如适用)
- 您在 OneSignal 控制台中测试的消息 URL(如适用)
- 任何相关的日志或错误信息