
OneSignal + Amplitude 集成概览
主要优势
- 向 Amplitude 发送消息事件:跟踪推送、应用内、电子邮件和短信的交付、点击、失败等。
- 向 OneSignal 发送自定义事件:从 Amplitude 向 OneSignal 发送您的自定义事件。
- 从 Amplitude 导入群体:自动将基于行为的群体同步到 OneSignal 作为定向的筛选器。
要求
- Amplitude 账户
- OneSignal 付费套餐
- 已设置 用户 和外部 ID 的 OneSignal 应用。
此集成不会创建用户。它将 Amplitude 中的用户映射到 OneSignal 中的用户。
设置
将 Amplitude 添加到 OneSignal
在 OneSignal 中,导航到数据 > 集成 > Amplitude 并点击激活。
OneSignal 中的 Amplitude 集成卡片
- 找到您项目的 API 密钥,然后复制粘贴到 OneSignal 中。
- 如果使用 Amplitude 的欧盟服务器,请勾选仅向 Amplitude 的欧盟居留端点发送事件。您可以通过 Amplitude URL 验证这一点。如果您看到
eu.amplitude.com
,则您正在使用 Amplitude 的欧盟服务器。
选择消息事件
选择要发送到 Amplitude 的 OneSignal 消息事件。完成后,点击激活。
OneSignal 中的 Amplitude 设置
将 OneSignal 添加到 Amplitude
在您的 Amplitude 目标中,搜索 OneSignal。
在 Amplitude 中添加 OneSignal 目标
- 群体:从 Amplitude 向 OneSignal 同步群体。
- 事件用户属性:从 Amplitude 向 OneSignal 发送自定义事件。
- 名称:您在 Amplitude 中标识目标的方式。设置为易于识别的名称,如
OneSignal - APP_NAME
,其中APP_NAME
是 OneSignal 中应用的名称。 - 应用 ID:OneSignal 应用 ID。可在 OneSignal 设置 > 密钥和 ID 中获取
- API 密钥:OneSignal API 密钥。可在 OneSignal 设置 > 密钥和 ID 中获取
发送事件
测试功能。您必须在 OneSignal 中启用自定义事件功能才能将自定义事件发送到 OneSignal。

要发送到 OneSignal 的 Amplitude 事件
用户 ID 映射
此步骤对于群体同步和事件跟踪正常工作至关重要。
- 使用共享标识符:OneSignal 中的**外部 ID** 必须与选择的 Amplitude 用户 ID 属性(如 user_id)匹配。
- 验证所选用户属性在您的 Amplitude 和 OneSignal 用户配置文件中存在。
附加属性
您可以向 OneSignal 发送附加属性,这些属性将包含在自定义事件中。 这对于在 OneSignal 中处理事件很有用,_仅当_它们包含特定属性时。完成后点击保存。现在您应该能够将群体和自定义事件从 Amplitude 导出到 OneSignal,并从 OneSignal 收集消息事件到 Amplitude。
测试自定义事件
- 在 Amplitude > OneSignal 事件目标中,点击“测试连接”按钮。

Amplitude > OneSignal 事件目标
- 确保负载中的
"user_id"
设置为 OneSignal 应用中现有用户的外部 ID。 - 点击发送测试事件按钮
- 响应框应保持为空,您应该看到一条消息,内容为
"OneSignal 已成功接收测试事件。"

响应示例
如果您遇到错误,请确保您的 OneSignal 应用 ID 和 REST API 密钥已正确添加到 Amplitude,并且应用已配置为自定义事件。
- 在 OneSignal 中,导航到数据 > 自定义事件,您应该在列表中看到测试事件。

OneSignal 中的自定义事件
如果您没有看到事件,请确保
"user_id"
设置为 OneSignal 应用中现有用户的外部 ID。自定义事件现在正在从 Amplitude 发送到 OneSignal!了解更多关于如何使用自定义事件的信息。如果您对这个早期访问集成有任何问题或反馈,您可以联系
integrations@onesignal.com
。将 Amplitude 群体导出到 OneSignal
您可以将 Amplitude 群体中的用户同步到 OneSignal 中的用户,前提是它们具有上一步中讨论的匹配的用户 ID/外部 ID 属性。 从 Amplitude 导出用户数据不会在 OneSignal 中创建用户,用户必须已经存在并具有匹配的外部 ID。 要将用户从 Amplitude 导出到 OneSignal:- 在 Amplitude 中,创建一个群体。请参阅 Amplitude 的群体文档。
- 点击同步并选择 OneSignal 作为目标。
- 选择同步频率。

图片显示如何为您的群体设置与 OneSignal 的同步
OneSignal 细分创建
- 同步的群体在 OneSignal 中显示为 Amplitude 细分筛选器。
- 如果满足以下条件,系统将自动为该群体创建一个细分:
- Amplitude 群体中的用户在 OneSignal 中也存在并具有匹配的外部 ID。
- 您不能超过 OneSignal 中的细分限制。

如何从 Amplitude 群体创建细分
Common questions:
在 Amplitude 中跟踪消息事件
连接后,OneSignal 将实时向 Amplitude 发送消息事件。消息事件
以下是 OneSignal 发送到 Amplitude 的消息事件类型。您可以在 OneSignal 集成设置中选择要发送到 Amplitude 项目的事件。Message Event Kind (OneSignal) | Message Event Name (Amplitude) | Event Description |
---|---|---|
Push Sent | [OneSignal] Push Sent | 推送通知成功发送。 |
Push Received | [OneSignal] Push Confirmed delivery | 推送通知成功接收 |
Push Clicked | [OneSignal] Push Clicked | 推送通知在设备上被触摸 |
Push Failed | [OneSignal] Push Failed | 推送发送失败。请检查 OneSignal 中的失败消息报告。 |
Push Unsubscribed | [OneSignal] Push Unsubscribed | 订阅 取消了推送订阅。 |
In-App Impression | [OneSignal] IAM Displayed | 应用内消息成功在设备上显示 |
In-App Clicked | [OneSignal] IAM Clicked | 应用内消息在设备上被点击 |
In-App Page Displayed | [OneSignal] IAM Page Displayed | 应用内消息页面已显示 |
Email Sent | [OneSignal] Email Sent | 电子邮件成功发送 |
Email Received | [OneSignal] Email Confirmed delivery | 收件人收到电子邮件 |
Email Opened | [OneSignal] Email Opened | 收件人打开电子邮件 |
Email Link Clicked | [OneSignal] Email Clicked | 电子邮件链接被点击 |
Email Unsubscribed | [OneSignal] Email Unsubscribed | 收件人取消订阅电子邮件 |
Email Reported As Spam | [OneSignal] Email Reported As SPAM | 收件人将电子邮件报告为垃圾邮件 |
Email Bounced | [OneSignal] Email Hard Bounced | 由于永久错误,电子邮件退回给发件人 |
Email Failed | [OneSignal] Email Failed delivery | 无法将电子邮件送达到收件人的收件箱 |
Email Suppressed | [OneSignal] Email Not delivering to suppressed email address | 电子邮件未送达,因为收件人已屏蔽发送该邮件的邮箱地址 |
SMS Sent | [OneSignal] SMS Sent | 短信发送给收件人 |
SMS Failed | [OneSignal] SMS Failed delivery | 短信发送失败 |
SMS Delivered | [OneSignal] SMS Confirmed deliveery | 短信成功送达 |
SMS Undelivered | [OneSignal] SMS Undelivered | 无法发送短信。 |
事件属性
以下是从 OneSignal 发送到 Amplitude 的任何事件中存在的属性PROPERTY NAME | DESCRIPTION |
---|---|
Distinct ID | The external_id associated with the message |
Message ID | 单个消息的标识符 |
Message Name | 消息名称 |
Message Title | 消息标题 |
Message Contents | 消息内容 |
message_type | 发送的消息类型:推送、应用内、电子邮件、短信 |
template_id | 使用的消息模板(API 和旅程消息) |
subscription_id | OneSignal 设置的设备/电子邮件/短信标识符 |
device_type | 接收消息的设备类型 |
language | 设备的两字符语言代码 |
source | onesignal (is indicated as the source for all events) |
常见问题
为什么我的群体和细分数量不匹配?
- 缺失或不匹配的外部 ID 只有具有匹配的 OneSignal 外部 ID 和 Amplitude 用户 ID 的用户才会被包括。此集成不会创建用户或订阅。
- 未订阅用户 OneSignal 细分只显示已订阅订阅的数量。未订阅的订阅可用于旅程或应用内消息。
- 在 OneSignal 中不存在或具有错误的外部 ID。
- 具有未订阅的订阅。
未订阅的用户会从 Amplitude 同步吗?
是的,但目前它们被排除在 OneSignal 细分数量之外。如果他们具有其他订阅或其订阅类型支持,您仍然可以通过旅程或应用内消息向他们发送消息。为什么交付数据不匹配?
单个用户可能具有多个订阅(推送设备、电子邮件地址、电话号码)。每个订阅都会生成自己的交付事件。例如:- 1 个用户 = 2 个 Android + 1 个 iOS + 2 个 Web = 5 个推送订阅
- 1 条推送消息 = 最多 5 个发送/接收/点击事件
subscription_id
来追踪确切的来源。
要排除缺失事件的故障:
- 确保在识别用户时调用
OneSignal.login
来设置外部 ID。 - 验证
OneSignal.logout
未删除外部 ID。 - 检查可能更改外部 ID 的 API 请求或 CSV 上传。
我们如何发送用户/订阅事件?
用户和订阅级别的事件(例如,授予权限、用户登录/注销)不会自动发送。 OneSignal SDK 具有事件监听器,可用于追踪这些事件以便您发送到 Amplitude:- 用户状态观察者:Mobile SDK、Web SDK
- 权限观察者:Mobile SDK、Web SDK
为什么 OneSignal 订阅 ID 作为 device_id 添加到 Amplitude?
Amplitude 期望使用device_id
进行去重。OneSignal 使用 subscription_id
来实现此功能,它会自动映射到 device_id
。
有关更多信息,请参阅 Amplitude 的文档。