跳转到主要内容
个性化允许您发送包含动态数据的消息——例如用户姓名、购物车商品、账户余额、预订详情或一次性密码。 本指南帮助您根据以下因素选择正确的个性化方法:
  • 您的数据存储在哪里
  • 数据是否需要持久化
  • 消息是如何触发的

个性化的工作原理

OneSignal 中的个性化包含两个部分:
  1. Liquid 语法 — 定义值如何在消息中渲染
  2. 数据源 — 决定值来自哪里
在发送时,OneSignal 使用选定的数据源解析您的 Liquid 变量。
Liquid 控制格式和逻辑(变量、循环、条件语句)。数据源决定哪些值可用。
示例:
Liquid
Hi {{ user.tags.first_name }},

Your verification code is {{ message.custom_data.otp }}.
  • user.tags.first_name 是存储的属性
  • message.custom_data.otp 是通过 API custom_data 字段传递的

数据源比较

如果您需要……
常见错误须知
  • 将属性(Tags)用于一次性值,如 OTP 或验证码
  • 期望 custom_data 在 Journeys 或后续消息中可用
  • 假设 Custom Event 属性在事件触发的 Journey 入口或 Wait Until 步骤之外可用
  • 将 Data Feeds 用于很少变化的静态数据

数据源

Data Feeds

Data Feeds 在发送时调用您的 API,并将响应注入您的消息中。 何时使用 Data Feeds:
  • 您需要在投递时获取最新值
  • 数据存储在您的后端
  • 值可能在不同发送之间发生变化

Data Feeds

在发送时将实时后端数据拉取到消息中。

Custom Events

Custom Events 可以使用事件属性在 Journeys 中个性化消息。 当事件启动 Journey匹配 Wait Until 条件时,OneSignal 会存储该事件,以便其属性可以使用 Liquid 在消息模板中被引用。 何时使用 Custom Events:
  • 使用 Journeys 的事件触发消息
  • 消息应反映事件特定的数据
只有触发 Journey 入口或 Wait Until 步骤的事件才会被存储用于个性化。在这些时刻之外发送的事件不可用于 Journey 消息。

Custom Event 个性化

在 Journeys 中使用事件属性的完整指南。

属性

属性包括用户 Tags、External ID、订阅数据和应用级字段。 它们具有以下特点: 何时使用属性:
  • 值已存在于 OneSignal 中
  • 值是持久化的
  • 您需要在多个活动中重复使用

使用属性个性化

了解如何引用存储的持久化属性数据。

API custom_data

创建消息 API 中的 custom_data 字段允许您从后端发送消息特定的值。 此数据:
  • 仅在当前请求中存在
  • 不会存储在 OneSignal 中
  • 不可用于 Journeys
何时使用 custom_data
  • 发送一次性或敏感值(OTP、安全链接)
  • 传递数组(购物车商品、订单行项目、排行榜分数)
  • 发送事务性或 API 触发的消息

使用 API custom_data 个性化

了解如何传递临时个性化数据。

动态内容 CSV

在 OneSignal 仪表板中上传 CSV 文件,并使用 Liquid 引用其中的值。 何时使用 CSV:
  • 为批量活动中的每位接收者自定义不同部分
  • 每位接收者的翻译或自定义数据可导出为 CSV 文件
  • 您不想使用 API

动态内容 CSV

使用 CSV 上传个性化仪表板活动。

详细指南

使用以下指南获取分步实施详情和高级示例。

教程

这些指南展示如何在实践中实现个性化。