推送通知活动测量

推送通知营销活动测量

跟踪和测量 iOS 和 Android 上的推送通知活动性能,将再互动事件归因于特定的推送活动,并优化用户保留策略。

Singular为Firebase Cloud Messaging(FCM)、Apple Push Notification Service(APN)以及CleverTap、MoEngage、WebEngage、OneSignal、Salesforce Marketing Cloud和Braze等第三方平台上的推送通知活动提供无缝跟踪。


推送通知跟踪的工作原理

Singular通过在通知有效载荷中嵌入跟踪链接来跟踪推送通知活动,并将应用程序的打开归因于发起的活动。

跟踪流程

  1. 创建营销活动:创建推送通知,并将Singular跟踪链接作为自定义键值/值数据嵌入其中
  2. 用户接收通知:推送提供商向用户设备发送通知
  3. 用户点击通知:用户点击通知打开应用
  4. SDK 处理有效载荷:Singular SDK 从通知有效载荷中提取跟踪数据
  5. 记录归因:Singular 将应用程序的打开归因于推送活动的再互动事件

再互动与获取:推送通知跟踪测量的是再互动(现有用户返回到您的应用程序),而不是新用户获取。跟踪链接必须配置为启用再互动。


支持的推送通知提供商

Singular支持所有主要推送提供商和营销自动化平台的推送通知跟踪。

平台支持矩阵

提供商 平台 集成类型 Singular 支持
Firebase 云消息 (FCM) 安卓 自定义数据有效载荷 ✔
苹果推送通知服务(APN) 苹果 自定义数据有效载荷 ✔
CleverTap iOS、安卓 自定义数据有效载荷 ✔
MoEngage iOS、安卓 自定义数据有效载荷 ✔
WebEngage iOS、安卓 自定义数据有效载荷 ✔
OneSignal iOS、安卓 自定义数据或启动 URL ✔
销售力营销云 (SFMC) iOS、安卓 自定义数据或 OpenDirect ✔
Braze iOS、安卓 自定义数据或点击行为 ✔

集成灵活性:某些提供商(OneSignal、SFMC、Braze)支持通过 CTA 字段直接集成跟踪链接,无需自定义 SDK 配置。有关详情,请参阅替代集成方法。


前提条件

在实施推送通知跟踪之前,请确认您的应用程序符合这些要求。

所需设置

Singular SDK 集成

安装和配置 Singular SDK,并启用推送通知支持。


推送通知基础架构

在应用程序和后台系统中配置推送通知交付。

  • 安卓:使用有效的服务器密钥配置 Firebase Cloud Messaging
  • iOS 系统:苹果开发者账户中配置的 APNs 证书或令牌
  • 设备注册:应用程序成功注册推送通知并存储令牌
  • 交付测试:验证推送通知是否成功到达设备

推送提供商帐户

设置和配置推送通知服务提供商。

  • 提供商账户:FCM、APN 或第三方平台的活动账户
  • 自定义数据支持:验证提供商是否支持有效载荷中的自定义键/值对
  • API 访问:为以编程方式发送通知而配置的凭证

实施步骤

按照以下步骤使用 Singular 实施推送通知活动跟踪。

步骤 1:创建 Singular 跟踪链接

生成再互动链接

创建专门为推送通知活动的再互动跟踪配置的Singular链接。

  1. 导航至Singular链接:访问 Singular 面板中的 Singular 链接部分
  2. 创建新链接:单击 "创建新链接 "并选择您的应用程序
  3. 启用再互动:将 "再互动 "设置切换为启用(对于推送跟踪至关重要
  4. 配置参数:为归因添加营销活动参数(来源、媒介、营销活动名称
  5. 生成链接:保存并生成长短两种 URL 格式

完整指南:构建Singular跟踪链接

关键:跟踪链接必须启用再互动功能。未启用再互动功能的链接将无法正确归因于推送通知的打开。

链接配置示例:

Singular Link Creation

再互动切换:

Enable Re-engagement

生成链接:

Generated Singular Link

步骤 2:在推送通知有效载荷中添加链接

配置自定义数据

使用标准密钥名称将 Singular 跟踪链接嵌入推送通知的自定义数据部分。

配置要求:

  • 键名:使用sng_link 作为自定义数据键(区分大小写
  • 值:粘贴完整的 Singular 跟踪链接(短或长格式
  • 数据类型:自定义数据有效载荷中的字符串值

Firebase 云消息示例

通过 Firebase 控制台或 API 向 FCM 通知添加自定义数据。

Firebase 控制台配置:

Firebase Custom Data
FCM API
{
  "notification": {
    "title": "Special Offer Inside!",
    "body": "Open now to claim your reward"
  },
  "data": {
    "sng_link": "https://your-app.sng.link/Abc12/xyz9?pcn=push_campaign"
  },
  "to": "device_registration_token_here"
}

苹果推送通知服务示例

使用标准 aps 字典格式在 APNs 有效负载中包含自定义数据。

APNs 有效负载结构:

APNs Custom Data
APNs JSON
{
  "aps": {
    "alert": {
      "title": "Special Offer Inside!",
      "body": "Open now to claim your reward"
    },
    "sound": "default",
    "badge": 1
  },
  "sng_link": "https://your-app.sng.link/Abc12/xyz9?pcn=push_campaign"
}

支持两种格式:Singular 既接受短链接(sng.link),也接受长链接(自定义域格式)。请使用适合您的跟踪基础设施的格式。


第 3 步:配置 SDK 以处理自定义密钥

安卓 SDK 配置

配置 Singular Android SDK,以便从 FCM 通知中提取和处理sng_link 自定义数据密钥。

Kotlin
// In your FirebaseMessagingService
override fun onMessageReceived(remoteMessage: RemoteMessage) {
    super.onMessageReceived(remoteMessage)
    
    // Extract custom data from notification
    val data = remoteMessage.data
    
    // Check for Singular tracking link
    if (data.containsKey("sng_link")) {
        val singularLink = data["sng_link"]
        
        // Pass to Singular SDK for attribution
        Singular.setGCMData(data)
    }
    
    // Display notification to user
    showNotification(remoteMessage)
}

完整集成指南:支持安卓推送通知


iOS SDK 配置

配置 Singular iOS SDK,从 APNs 通知中提取并处理sng_link 自定义数据密钥。

Swift
// In your AppDelegate
func application(_ application: UIApplication, 
                 didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    
    // Check for Singular tracking link
    if let singularLink = userInfo["sng_link"] as? String {
        // Pass to Singular SDK for attribution
        Singular.setAPNSData(userInfo)
    }
    
    completionHandler(.newData)
}

// For iOS 10+ UNUserNotificationCenter
func userNotificationCenter(_ center: UNUserNotificationCenter,
                           didReceive response: UNNotificationResponse,
                           withCompletionHandler completionHandler: @escaping () -> Void) {
    
    let userInfo = response.notification.request.content.userInfo
    
    // Check for Singular tracking link
    if let singularLink = userInfo["sng_link"] as? String {
        // Pass to Singular SDK for attribution
        Singular.setAPNSData(userInfo)
    }
    
    completionHandler()
}

完整集成指南:iOS 推送通知支持


第 4 步:测试和验证

测试程序

在启动营销活动之前,验证推送通知跟踪是否正常。

  1. 发送测试通知:使用自定义数据中的 Singular 链接触发测试推送通知
  2. 在设备上接收:确认通知出现在测试设备上
  3. 点击通知:点击通知打开应用程序
  4. 检查 SDK 日志:验证 SDK 日志是否显示Singular链接提取
  5. 验证仪表板:确认再互动事件在 5 分钟内出现在 Singular 面板中

特定平台验证:

常见问题:

  • 缺少事件:验证sng_link关键名称是否准确(区分大小写
  • 错误归因:确认跟踪链接已启用再互动功能
  • SDK 未处理:检查 SDK 是否在通知处理前初始化

步骤 5:监控营销活动性能

分析推送通知结果

在 Singular 的分析报告中跟踪推送通知活动的再互动性能和投资回报率。

可用指标:

  • 再互动事件:推送通知导致的应用程序打开总数
  • 再互动率:通过推送打开应用的用户百分比
  • 收入归因:再互动用户产生的收入
  • 活动比较:不同推送活动的表现
  • 群组分析:再互动后的用户行为

仪表板示例:

Singular Analytics Dashboard

通过以下方式访问报告:分析 → 汇总分析报告 → 按再互动来源过滤


其他集成方法

某些推送提供商支持直接跟踪链接集成,无需在 SDK 中进行自定义数据配置。

直接 CTA 集成

某些平台允许在通知 CTA 字段中直接配置 Singular 跟踪链接,从而自动启动带有归因数据的应用程序。

OneSignal 启动 URL

OneSignal 通过启动 URL 功能支持直接跟踪链接。

  • 配置:在通知组成器中的启动 URL 字段中添加 Singular 链接
  • 行为:点击通知打开应用程序,并自动处理 Singular 链接
  • SDK 要求:最低标准的 Singular SDK 集成即可

文档:OneSignal 启动 URL


Salesforce 营销云 OpenDirect

SFMC 提供 OpenDirect 功能,用于启动带有跟踪链接的应用程序。

  • 配置:在消息设置中将 Singular 链接设置为 OpenDirect URL
  • 行为:通知点按通过 OpenDirect 协议触发应用程序启动
  • 平台支持:适用于 iOS 和 Android

文档:SFMC OpenDirect


Braze 点击行为

Braze 允许在通知点击行为设置中配置 Singular 跟踪链接。

  • 配置:在推送组成器中的点击行为字段中添加Singular链接
  • 行为:通知点击打开应用程序并自动处理链接
  • 操作类型:支持深度链接和外部 URL 选项

文档:Braze 点击行为

建议在可用时使用直接 CTA 集成--它可简化实施并减少 SDK 配置要求。不过,自定义数据方法可为所有提供商提供最大的灵活性。


最佳实践

请遵循以下指导原则,以最大限度地提高推送通知营销活动跟踪的准确性和有效性。

营销活动结构

链接配置

  • 每个营销活动的唯一链接:为每个推送活动创建单独的跟踪链接,以隔离性能
  • 描述性参数:在跟踪链接参数中使用清晰的广告系列名称
  • 一致的命名:为推送活动建立命名约定(例如,push_promo_2025_q1
  • 启动前测试:通过测试通知验证每个新的跟踪链接

技术实施

  • 大小写敏感性:始终使用sng_link(小写
  • URL 编码:确保在 API 请求中对跟踪链接进行正确的 URL 编码
  • 有效载荷大小:监控通知有效载荷大小--保持在平台限制范围内(APN 为 4KB,FCM 为 4KB
  • 错误处理:如果通知中缺少自定义数据,则实施回退逻辑
  • SDK 版本:使用最新的 Singular SDK 版本,以获得最佳推送通知支持

性能优化

  • 细分:将推送活动定位到参与的用户群,以提高打开率
  • 定时:根据用户行为在最佳参与窗口发送通知
  • A/B 测试:使用单独的跟踪链接测试不同的消息传递和时间安排
  • 频率上限:限制推送频率,避免用户疲劳和退出
  • 深度链接:将推送跟踪与特定应用内内容的深度链接相结合

故障排除

常见问题和解决方案

问题 原因 解决方案
仪表板中未显示事件 未在链接上启用再互动 验证跟踪链接是否已在 "Singular链接 "中启用 "再互动 "切换。
SDK 无法提取链接 自定义数据密钥名称不正确 确认关键字正是sng_link (区分大小写)
归因到错误的营销活动 在不同营销活动中使用相同链接 为每个营销活动创建唯一的跟踪链接
事件报告延迟 网络延迟或脱机模式 SDK 将事件排成队列,并在恢复连接时发送--最多允许 24 小时
未跟踪 iOS 通知 缺少 APN 数据处理器 在通知委托方法中实施setAPNSData()
未跟踪 Android 通知 缺少 FCM 数据处理器 在 FirebaseMessagingService 中调用setGCMData()

支持:如需更多故障排除帮助,请联系 Singular 支持,并提供推送通知有效载荷示例、SDK 日志和显示问题的仪表盘截图。