概述
购物车放弃是挽回流失收入的最高影响力机会之一。大多数放弃购物车的用户仍有购买意向 — 他们只是需要一个及时的提醒。 本指南向您展示如何在 OneSignal 中构建一个自动化购物车放弃 Journey,它可以:- 检测购物车活动
- 等待一段短暂的非活跃期
- 发送个性化提醒
- 在购买或清空购物车后立即停止消息发送
- 自定义事件(推荐用于大多数实现)
- 标签(更简单,适用场景有限)
- 发送到 OneSignal 的购物车活动(通过标签或自定义事件)
- 一个清晰的、代码定义的放弃信号
- 个性化购物车数据的消息模板
- 一个 Journey,它可以:
- 在收到放弃信号时启动
- 在发送前等待
- 发送购物车放弃消息
- 在购物车被清空或完成购买时立即退出
- 用于衡量消息和收入表现的分析
cart_updated 事件:
- 用户将有资格进入 Journey
- 等待期给他们时间自然返回
- 仅在他们未退出时才发送消息
- 当购物车被清空时,用户立即退出
设置
步骤 1. 规划您的购物车数据和来源
决定您想展示哪些购物车信息以及该数据来自哪里。 常见的购物车数据包括:- 产品名称、图片、价格和数量
- 购物车中的商品数量
- 返回购物车的深度链接
| 数据来源 | 推荐方法 |
|---|---|
| 应用或网站 | OneSignal 前端 SDK |
| 后端或数据库 | OneSignal REST API |
| 第三方平台 | 基于集成的自定义事件 |
完成此步骤后,您将知道要发送什么数据以及如何发送它。
步骤 2. 向 OneSignal 发送购物车活动
当购物车状态发生变化时,将更新后的购物车数据发送给 OneSignal,以便跟踪活动。 本指南使用cart_updated 事件或标签来跟踪购物车活动,并至少包含一个属性。
选择您在步骤 1 中选择的方法:
- 自定义事件
- 标签
每次购物车发生变化时发送一个
前端 SDK 自定义事件 API 示例
cart_updated 自定义事件。当购物车中有商品时包含产品属性,购物车清空时省略。| 参考 | 描述 |
|---|---|
trackEvent 方法 | 通过前端 SDK 发送(Mobile SDK、Web SDK) |
| 自定义事件 API | 通过 REST API 发送 |
| 集成 | 通过集成发送 |
trackEvent 方法示例购物车活动现在正在发送到 OneSignal。每次购物车发生变化时,OneSignal 都会收到触发和个性化消息所需的更新数据。
步骤 3. 创建购物车放弃消息模板
创建动态引用购物车数据的消息模板。 有关本节中使用的概念的更多详情,请参阅:- 自定义事件推送模板
- 标签推送模板
使用 Liquid 语法格式引用事件属性:消息:图片:启动 URL:
Liquid
Liquid
Liquid
Liquid

使用自定义事件个性化消息
在 Journeys 中使用自定义事件的完整指南。包括事件存储、Journey 配置、购物车放弃示例、最佳实践和故障排除。
使用属性个性化消息
在 Journeys 中使用属性和标签的完整指南。包括事件存储、Journey 配置、购物车放弃示例、最佳实践和故障排除。
步骤 4. 创建购物车放弃细分(仅限标签)
细分将决定谁可以进入 Journey。有关更多详情,请参阅细分。 向细分添加两个筛选器:- User Tag —
cart_updatedexists - Last Session —
less than7days ago

现在我们可以跟踪更新了购物车且在过去 7 天内访问过应用或网站的用户。当满足以下任一条件时,用户将自动从细分中移除:
- 距离他们上次访问应用/网站已超过 7 天
- 当
cart_updated标签被移除时
步骤 5. 创建购物车放弃 Journey
创建一个对购物车活动做出反应的 Journey。有关更多详情,请参阅 Journeys。
Journey 设置
查看 Journey 设置指南,了解有关进入、退出和重新进入规则的更多详情。 进入规则:- 自定义事件: 进入规则
- 标签: 进入规则
- 选择 Custom Event
- Custom Event Name:
cart_updated - 按属性筛选:包含以下所有属性:
product_nameexists

- 自定义事件: 退出规则
- 标签: 退出规则
当用户清空购物车或完成 Journey 时,他们应退出 Journey。
- 选择 Meet a certain condition
- 勾选 Exit when custom event condition occurs
- Custom Event Name:
cart_updated

此配置对进入和退出规则均使用相同的自定义事件名称(
cart_updated)。这允许用户在同一时间只处于一个 Journey 实例中。每次他们更新购物车,该用户实例将退出,同一用户的新实例将进入 Journey。这就是为什么在进入规则中使用属性筛选用户非常重要。- 选择 Yes, after a certain amount of time
- 将重新进入时间设置为
1day

如果您已完整按照本指南操作到此处,那么用户将:
- 在放弃/更新购物车时进入 Journey
- 在清空购物车或完成 Journey 时退出 Journey。
- 有资格重新进入 Journey:
- 自定义事件:每次执行
cart_updated事件时 - 标签:在上次退出 Journey 后经过 1 天且仍在细分中时。
- 自定义事件:每次执行
Journey 步骤
用户将根据进入规则进入 Journey。这通常在收到事件/标签后几分钟内发生。 用户将逐步完成 Journey 中的各个步骤,直到到达终点或满足退出规则。 对于基本的购物车放弃 Journey,我们需要做 2 件事:- 给用户足够的时间来清空购物车(进行购买或手动清空购物车)
- 如果他们没有清空购物车,向他们发送一条关于购物车中商品的提醒消息
- 将等待时间设置为您想要的时长。我们建议设置为
1hour,这样您可以在他们仍有购买意向时发送消息。
- 选择您在步骤 3 中创建的 Abandoned Cart 推送通知模板。

基本购物车放弃 Journey 现已配置完成。当用户进入 Journey 时,他们将等待 1 小时。如果他们没有退出 Journey,将收到购物车放弃推送通知。
高级 Journey 设置
扩展 Journey 以在更长的时间内发送更多消息,以获得更高的挽回率。消息序列
一个常见的高效节奏是:- 在 1 小时后发送第一条消息(在本指南中已完成)。
- 添加另一个 Wait 步骤等待 1 天,然后发送第二条消息(自更新购物车起约 24 小时)。
- 添加另一个 Wait 步骤等待 2 天,然后发送第三条消息(自更新购物车起约 72 小时)。
消息类型和内容
根据您在 OneSignal 中设置的渠道,使用全渠道方法将获得更好的效果。- 本指南展示了如何在第一个小时后发送推送通知消息。这用作一个有用的提醒,在用户可能仍在线时尝试促成销售。
- 考虑在第二条消息中同时使用推送和邮件。使用第二条消息来突出好处和社会认同,配合适度的紧迫感来鼓励他们购买。
- 对于序列中的最后一条消息,使用邮件或短信(取决于使用场景)作为”最后通知”。考虑使用折扣码或其他激励措施来鼓励他们购买。
备用消息
OneSignal 的 Journeys 提供 Wait Until 分支逻辑,您可以使用它来检查消息是否已确认送达、被点击或被打开,如果在一定时间内未执行,则发送备用消息。 这对于可能已取消订阅特定消息渠道的用户非常有用。有关如何设置备用消息的更多详情,请参阅我们的备用消息指南。跟踪表现
Journey 分析可用于跟踪 Journey 整体的表现。您还可以使用模板分析来跟踪每条消息的表现。使用 Outcomes 跟踪收入
要跟踪此 Journey 的收入,您可以使用自定义 Outcomes。 当完成购买时,您可以将事件作为 “Custom Outcome” 发送,以跟踪与发送的特定消息相关的收入。 Custom Outcomes 可通过 Mobile SDK 或 Web SDK 发送。Example: Send purchase outcome via frontend SDK
Outcomes 可以在定义的归因窗口内将收入归因于用户点击或受影响的消息。
您已成功实现了购物车放弃 Journey。当您准备好开始发送消息时,选择 Set Live。
常见问题
购物车跟踪应该使用自定义事件还是标签?
自定义事件推荐用于大多数实现。它们支持更丰富的数据,允许在 Journey 进入规则中进行基于属性的筛选,并在同一事件再次触发时自动处理重新进入。标签适用于只需跟踪购物车是否存在的更简单场景,但需要手动创建细分和配置重新进入。发送第一条提醒前应该等待多长时间?
一到两小时是常见的起点。这给用户足够的时间在购买意向仍然新鲜时自然返回。测试不同的等待时间,并使用 Journey 分析找到最适合您受众的方式。如果用户在 Journey 中更新了购物车会发生什么?
使用自定义事件时,用户会退出当前 Journey 实例(因为cart_updated 作为退出条件触发),并立即以更新后的事件数据重新进入。使用标签时,由于标签仍然存在,用户保持在同一 Journey 实例中——他们只有在退出并等待重新进入期后才会重新进入。
需要帮助?与我们的支持团队聊天或发送邮件至
support@onesignal.com请包含以下信息:- 您遇到的问题详情以及复现步骤(如有)
- 您的 OneSignal 应用 ID
- 外部 ID 或订阅 ID(如适用)
- 您在 OneSignal 控制台中测试的消息 URL(如适用)
- 任何相关的日志或错误信息


