プッシュ通知キャンペーンの測定
iOSとAndroidのプッシュ通知キャンペーンのパフォーマンスを追跡・測定し、リエンゲージメントイベントを特定のプッシュキャンペーンに関連付け、ユーザー維持戦略を最適化します。
Singularは、Firebase Cloud Messaging (FCM)、Apple Push Notification Service (APNs)、CleverTap、MoEngage、WebEngage、OneSignal、Salesforce Marketing Cloud、Brazeなどのサードパーティプラットフォームのプッシュ通知キャンペーンをシームレスにトラッキングします。
プッシュ通知トラッキングの仕組み
Singularは、通知ペイロードにトラッキングリンクを埋め込み、アプリの開封を元のキャンペーンに帰属させることで、プッシュ通知キャンペーンをトラッキングします。
トラッキングの流れ
- キャンペーンを作成します:カスタムキー/バリューデータとしてSingularトラッキングリンクを埋め込んだプッシュ通知を作成します。
- ユーザーが通知を受け取る:プッシュプロバイダがユーザーのデバイスに通知を配信します。
- ユーザーが通知をタップユーザーが通知をタップしてアプリを開く
- SDKがペイロードを処理Singular SDKは通知ペイロードからトラッキングデータを抽出します。
- アトリビューションの記録:Singularはアプリを開いたことをプッシュキャンペーンのリエンゲージメントイベントとして記録します。
リエンゲージメントと獲得:プッシュ通知のトラッキングは、新規ユーザーの獲得ではなく、リエンゲージメント(既存ユーザーがアプリに戻ってくること)を測定します。トラッキングリンクは、リエンゲージメントを有効にして設定する必要があります。
サポートしているプッシュ通知プロバイダー
Singularは、すべての主要なプッシュ通知プロバイダーとマーケティングオートメーションプラットフォームのプッシュ通知トラッキングをサポートしています。
プラットフォームサポートマトリックス
| プロバイダー | プラットフォーム | 統合タイプ | Singularのサポート |
|---|---|---|---|
| Firebaseクラウドメッセージング (FCM) | アンドロイド | カスタムデータペイロード | ✔ |
| Appleプッシュ通知サービス(APNs) | iOS | カスタム・データ・ペイロード | ✔ |
| クレバータップ | iOS、Android | カスタムデータペイロード | ✔ |
| MoEngage | iOS、アンドロイド | カスタムデータペイロード | ✔ |
| ウェブエンゲージ | iOS、Android | カスタムデータペイロード | ✔ |
| ワンシグナル | iOS、Android | カスタムデータまたは起動URL | ✔ |
| セールスフォース・マーケティング・クラウド(SFMC) | iOS、アンドロイド | カスタムデータまたはOpenDirect | ✔ |
| ブレイズ | iOS、Android | カスタムデータまたはオンクリック動作 | ✔ |
統合の柔軟性:一部のプロバイダー(OneSignal、SFMC、Braze)は、CTAフィールドを介した直接トラッキングリンクの統合をサポートしており、カスタムSDKの設定が不要です。詳細については、別の統合方法を参照してください。
前提条件
プッシュ通知トラッキングを実装する前に、アプリがこれらの要件を満たしていることを確認してください。
必要なセットアップ
Singular SDKの統合
プッシュ通知サポートが有効になっているSingular SDKをインストールし、設定します。
- Android SDK: Android SDKインテグレーションガイドに従ってインテグレーションします。
- iOS SDK: iOS SDKインテグレーションガイドに従ってインテグレーションします。
- プッシュサポート:SDKの初期化時にプッシュ通知のサポートを有効にします。
プッシュ通知インフラ
アプリとバックエンドシステムでプッシュ通知配信を設定します。
- Androidの場合Firebase Cloud Messaging が有効なサーバーキーで設定されていること。
- iOSApple Developerアカウントで設定されたAPN証明書またはトークン
- デバイスの登録:アプリが正常にプッシュ通知に登録され、トークンが保存されている。
- 配信テスト:プッシュ通知が正常にデバイスに届くことを確認
プッシュプロバイダアカウント
プッシュ通知サービスプロバイダの設定と構成を行います。
- プロバイダーアカウント:FCM、APN、またはサードパーティプラットフォームのアクティブアカウント
- カスタムデータのサポート:プロバイダがペイロード内のカスタムキー/値ペアをサポートしていることを確認する。
- APIアクセス:プログラムで通知を送信するために設定された認証情報
実装ステップ
Singularでプッシュ通知キャンペーントラッキングを実装するには、以下の手順に従ってください。
ステップ 1: Singularトラッキングリンクを作成する
リエンゲージメントリンクの作成
プッシュ通知キャンペーンのリエンゲージメント追跡専用に設定されたSingular Linkを作成します。
- Singular Linksに移動します:SingularダッシュボードのSingular Linksセクションにアクセスします。
- 新しいリンクを作成する:新しいリンクを作成 "をクリックし、アプリを選択します。
- リエンゲージメントを有効にする:Re-engagement "設定をONに切り替えます(プッシュトラッキングには重要です)。
- パラメータを設定する:アトリビューション用のキャンペーンパラメーターを追加する(ソース、媒体、キャンペーン名
- リンクを生成:短いURLと長いURLの両方のフォーマットを保存、生成
完全ガイド:Singularトラッキングリンクの構築
重要:トラッキングリンクはリエンゲージメントを有効にしなければなりません。リエンゲージメントが有効になっていないリンクは、プッシュ通知の開封を適切に反映しません。
リンクの設定例
リエンゲージメント切り替え:
生成リンク:
ステップ2:プッシュ通知のペイロードにリンクを追加する
カスタムデータを設定する
プッシュ通知のカスタムデータセクションにSingularトラッキングリンクを埋め込みます。
設定要件
-
キー名:カスタムデータキーとして
sng_linkを使用(大文字と小文字を区別します - 値完全なSingularトラッキングリンク(短い形式または長い形式)を貼り付けます。
- データタイプカスタムデータペイロードの文字列値
Firebase Cloud メッセージングの例
FirebaseコンソールまたはAPIを通してFCM通知にカスタムデータを追加します。
Firebase コンソールの設定:
{
"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"
}
Apple プッシュ通知サービスの例
標準のaps辞書フォーマットを使用して、APNのペイロードにカスタムデータを含めます。
APNsペイロードの構造:
{
"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の設定
Android SDKの設定
SingularのAndroid SDKを設定し、FCM通知からsng_link カスタムデータキーを抽出して処理します。
// 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)
}
完全統合ガイド:Androidプッシュ通知サポート
iOS SDKの設定
SingularのiOS SDKを設定して、APNの通知からsng_link カスタムデータキーを抽出して処理します。
// 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:テストと検証
テスト手順
キャンペーンを開始する前に、プッシュ通知のトラッキングが正しく機能することを確認します。
- テスト通知を送信する:カスタムデータのSingularリンクを使用してテストプッシュ通知をトリガーします。
- デバイスで受信テストデバイスに通知が表示されることを確認
- 通知をタップする:通知をタップしてアプリを開く
- SDKログを確認する:SDKログにSingularリンク抽出が表示されていることを確認する。
- ダッシュボードを確認する:リエンゲージメントイベントが5分以内にSingularダッシュボードに表示されることを確認する
プラットフォーム固有の検証
- iOS: iOS検証ガイド
- Android: Androidバリデーションガイド
よくある問題
-
イベントの欠落
sng_linkキー名が正確であることを確認する(大文字と小文字は区別される - 誤ったアトリビューション:トラッキングリンクでリエンゲージメントが有効になっていることを確認する
- SDKが処理されない通知処理の前にSDKの初期化が行われているか確認する
ステップ5:キャンペーンパフォーマンスの監視
プッシュ通知結果の分析
Singularの分析レポートでプッシュ通知キャンペーンのリエンゲージメントパフォーマンスとROIを追跡します。
利用可能な指標
- リエンゲージメントイベント:プッシュ通知に起因するアプリの総開封数
- リエンゲージメント率:プッシュ通知からアプリを開いたユーザーの割合
- 収益帰属:リエンゲージメントされたユーザーが生み出した収益
- キャンペーン比較:異なるプッシュキャンペーンのパフォーマンス
- コホート分析:リエンゲージメント後のユーザー行動
ダッシュボードの例
アナリティクス → 集計アナリティクスレポート → リエンゲージメントソースによるフィルタリング
別の統合方法
一部のプッシュプロバイダは、SDKのカスタムデータ設定を必要とせずに、ダイレクトトラッキングリンクの統合をサポートしています。
ダイレクトCTAインテグレーション
一部のプラットフォームでは、Singularトラッキングリンクを通知CTAフィールドに直接設定することができ、アトリビューションデータを使って自動的にアプリを起動します。
OneSignal 起動URL
OneSignalは、Launch URL機能によるダイレクトトラッキングリンクをサポートしています。
- 設定方法通知コンポーザーのLaunch URLフィールドにSingularリンクを追加します。
- 動作:通知をタップすると、Singularリンクが自動的に処理されたアプリが開きます。
- SDKの要件最低限のSingular SDKインテグレーションで十分です。
ドキュメント:OneSignal Launch URL
Salesforce Marketing Cloud OpenDirect
SFMC は、トラッキングリンク付きのアプリを起動するための OpenDirect 機能を提供します。
- 設定メッセージ設定で、Singular リンクを OpenDirect URL として設定します。
- 動作通知をタップすると、OpenDirectプロトコルでアプリが起動します。
- 対応プラットフォームiOS と Android の両方で利用可能
ドキュメント:SFMC OpenDirect
Brazeのオンクリック動作
Brazeでは、通知のオンクリック動作設定でSingularトラッキングリンクを設定できます。
- 設定方法プッシュコンポーザーの「オンクリック時の動作」フィールドにSingularリンクを追加します。
- ビヘイビア通知タップで自動リンク処理でアプリを開く
- アクションタイプ:ディープリンクと外部URLオプションをサポート
ドキュメント:Braze On-Click Behavior
推奨事項実装が簡素化され、SDK設定の要件が軽減されます。ただし、カスタムデータ方式は、すべてのプロバイダーで最大の柔軟性を提供します。
ベストプラクティス
プッシュ通知キャンペーントラッキングの精度と効果を最大化するために、以下のガイドラインに従ってください。
キャンペーン構造
リンク構成
- キャンペーンごとのユニークリンク:パフォーマンスを分離するために、プッシュ通知キャンペーンごとに個別のトラッキングリンクを作成します。
- 説明的なパラメータ:トラッキングリンクパラメータに明確なキャンペーン名を使用
- 一貫したネーミング:プッシュキャンペーンの命名規則を確立する(例:push_promo_2025_q1
- ローンチ前のテスト:新しいトラッキングリンクをテスト通知で検証する
技術的な実装
-
大文字と小文字の区別:常に
sng_linkを正確に使用する(小文字)。 - URLエンコーディング:トラッキングリンクがAPIリクエストで適切にURLエンコードされていることを確認する。
- ペイロードサイズ:通知ペイロードサイズを監視し、プラットフォームの制限(APNは4KB、FCMは4KB)以下に保つこと
- エラー処理:通知からカスタムデータが欠落した場合のフォールバックロジックの実装
- SDKバージョン:最適なプッシュ通知サポートのために最新のSingular SDKバージョンを使用します。
パフォーマンスの最適化
- セグメンテーション:より高い開封率を実現するために、関与しているユーザーセグメントにプッシュキャンペーンをターゲティングします。
- タイミング:ユーザー行動に基づいた最適なエンゲージメントウィンドウに通知を送信
- A/Bテスト:個別のトラッキングリンクで異なるメッセージングとタイミングをテスト
- 頻度の上限:ユーザーの疲労やオプトアウトを避けるためにプッシュの頻度を制限します。
- ディープリンク:特定のアプリ内コンテンツへのディープリンクとプッシュトラッキングを組み合わせる
トラブルシューティング
よくある問題と解決策
| 問題点 | 原因 | 解決方法 |
|---|---|---|
| ダッシュボードにイベントが表示されない | リンクのリエンゲージメントが有効になっていない | トラッキングリンクのリエンゲージメントが有効になっていることを確認してください。 |
| SDKがリンクを抽出しない | カスタムデータキー名が正しくない |
キーが正確にsng_link (大文字と小文字は区別されます)であることを確認してください。 |
| 誤ったキャンペーンへのアトリビューション | キャンペーン間で同じリンクを使用している | キャンペーンごとに固有のトラッキングリンクを作成する |
| イベントレポートの遅延 | ネットワーク遅延またはオフラインモード | SDKはイベントをキューに入れ、接続が回復したときに送信します。 |
| iOS通知がトラッキングされない | APNデータハンドラの欠落 |
通知デリゲートメソッドにsetAPNSData() 。 |
| Androidの通知が追跡されない | FCMデータハンドラがない |
FirebaseMessagingServiceでsetGCMData() 。 |
サポートその他のトラブルシューティングについては、プッシュ通知ペイロードの例、SDKログ、問題を示すダッシュボードのスクリーンショットを添えて、Singularサポートまでお問い合わせください。