个性化如何工作
个性化功能由 Liquid 语法 提供支持,这是一种模板语言,允许您将值注入消息字段。 您可以使用以下方式个性化消息:- 数据源:来自您 API 的实时数据。
- 属性:内置的用户、消息、应用程序或组织值。
- 数据标签:您自己的按用户保存的键:值字符串。
- 自定义数据:通过 API 在发送时传递的动态内容。
- 动态内容:通过仪表板上传的基于 CSV 的个性化。
关键考虑
个性化消息帮助用户与您的应用程序建立更深层的联系,潜在地提高参与度和收入。常见示例是在消息中放入用户姓名或特定信息(如废弃购物车物品),但用例是无穷的。 目标是什么?- 添加用户属性,如姓名或 ID
- 显示发票或 OTP
- 从 CSV 发送动态内容
- 数据是像属性或标签一样存储在 OneSignal 中吗?
- 数据是存储在您自己的数据库中吗?
- 您需要从您的后端向 OneSignal 传递数据吗?
- 您是希望从您的服务器还是通过 OneSignal 仪表板发送消息?
- 目标:发送一次性密码帮助用户登录。
- 数据:
- OTP 存储在您的后端。
- 用户名在 OneSignal 中作为标签存储。
- 外部 ID 在 OneSignal 中作为属性存储。
- 发送:
- 从您的服务器使用我们的 REST API。
- 从使用 Journey 的自动化工作流。
此示例的详细演示可在验证、魔法链接和 OTP 示例教程中找到。
数据源
数据传输
数据传输是一种在发送时直接从您的 API 将实时数据拉取到消息中的方法。只需将模板连接到您的数据源,我们就会从您的服务器拉取数据并将其注入到消息中。属性
您可以使用 Liquid 语法 引用的预定义字段。示例:属性在应用内消息或 Live activities 中不可用。
- 订阅属性
- 消息属性
- 模板属性
- OneSignal 属性
subscription.external_id
:与订阅相关联的外部 ID。subscription.email
:接收消息的电子邮件订阅的电子邮件地址。subscription.phone_number
:接收消息的短信订阅的电话号码。subscription.push_token
:接收消息的推送订阅的推送令牌。subscription.language
:用户的语言代码。subscription.unsubscribe_token
:用于标识取消订阅(对于电子邮件订阅)的令牌。
数据标签
数据标签是您可以在每个用户上设置的key: value
字符串数据。示例:
first_name: Jon
和 level: 5
,为用户 B 设置 first_name: Jeff
和 level: 100
,每个人都会在消息中看到他们的姓名和级别。否则,他们会看到默认值。
custom_data
(API Only)
使用 custom_data
和我们的创建消息 API直接从您的后端添加个性化。
步骤:
Example: Flat JSON
Template
API Request
客户看到:
- “您的 Widget 发票已准备好。”
- 最终 URL:
https://your-domain.com/invoice=463246732
Example: Array data
Template
API Request
客户看到:
- “您的毛衣正在等您!”
- 图像:
https://.../sweater.png
Example: Bulk personalization
在一个请求中为许多用户个性化单个消息:Template
API Request
客户看到:
- “嗨 John,您有 150 积分。您的级别是黄金。”
- “嗨 Sarah,您有 200 积分。您的级别是白金。“
动态内容
使用数据的 CSV,您可以将其上传到 OneSignal 仪表板以基于每个用户数据自定义活动。有关更多详情,请参阅动态内容。受限关键词
以下关键词不能用作标签键:message
, notification
, subscription
, user
, template
, app
, org
, dynamic_content
, data_feed
, journey
, custom_data
示例
验证、魔法链接和 OTP 示例教程
发送验证电子邮件、通过短信发送魔法链接、一次性密码或自定义 URL。
废弃购物车内容
向用户发送数据列表,如遗弃购物车或排行榜。
交易消息
通过任何渠道发送任何类型的交易消息。
应用内消息示例
基于标签显示个性化的应用内消息。