プッシュ通知の配信を理解する
プッシュ通知の配信について、配信方法や配信に失敗する理由などを確認します。
プッシュ通知の配信
プッシュ通知の配信とは、プッシュ通知が受信者のデバイスに正常に配信されたタイミングを指します。
プロファイルに複数のデバイスでモバイルアプリがインストールされている場合、プロファイルには 1 つ以上のプッシュトークンが設定されることがあります。プッシュ通知は、プロファイルに保存されているトークンを持つすべてのデバイスに対して試行されます。
デリバビリティ の概念は、受信者のデバイスが通知を正常に受信した後に並べ替えが行われないため、メールの場合とは異なりプッシュ通知には適用されません。
キャンペーンまたはフローを通じてプッシュ通知を送信すると、Klaviyo はプッシュ通知を確認したうえで、iOS の場合は Apple Push Notification Service(APNs)に、Android の場合は受信者のデバイスに配信するために Android のプッシュ通知サービスである Firebase Cloud Messaging(FCM)に送信します。配信に問題がある場合、一部のプッシュ通知がスキップされることがあります。
APNs と FCM は通知を受け入れて受信者のデバイスへの配信を試みるか、複数のエラーのいずれかで通知を拒否します。
Klaviyo でインサイトを得られるのは、これらのサービスが通知を受け付けるか、または拒否するかどうかのみです。Klaviyo は、APNs または FCM がプッシュを受け付けた後に通知が失敗したかどうかを確認できません。
Klaviyo のプッシュ通知の機能をリクエストしますか?この Google フォームに記入してお知らせください!
却下の理由
Klaviyo が通知の送信後に APNs または FCM からエラーレスポンスを受け取った場合、配信に失敗した影響を受けた各トークンに対して、Bounced push というイベントが作成されます。これは、通知の送信元となった該当フローまたはキャンペーンの受信者アクティビティとともに、受信プロファイルのアクティビティフィードに表示されます。
バウンスしたプッシュイベントには、APNs または Firebase から返されるエラーコードメッセージ(例:ExpiredToken)を示すメタデータが含まれます。配信の問題が発生している場合は、イベント内の説明に基づいて、アプリ開発者と協力してエラーを解決してください。
イベントのメタデータを表示するには、プロファイルのアクティビティログで対象イベントの [アクティビティの詳細] をクリックしてください。
サイレントプッシュ
個々のサイレント プッシュ通知については配信率とバウンス率を確認できますが、サイレント プッシュ通知は Klaviyo のすべての集計パフォーマンス レポート作成から除外されます。これには、開封やコンバージョンがないため、モバイルプッシュの開封率の経時推移などが含まれます。
サイレントプッシュでは標準プッシュとは異なるイベントが表示されます。具体的には、サイレントプッシュの受信 と サイレントプッシュのバウンスです。
iOS でサイレントプッシュ通知の配信に問題がある場合、iOS ではサイレントプッシュ通知の配信が保証されない点にご注意ください。バッテリー残量やネットワーク接続など、デバイスの現在の状態に基づいて 配信されない 場合があります。
iOS
APNs 経由で送信された iOS のプッシュ通知では、Apple のリファレンスにある APNs からの通知応答の処理 に記載の理由のうち、少なくとも1つの理由により拒否が発生する場合があります。
ステータスコード | APNs エラー文字列 | APNs の説明 |
400 | BadDeviceToken | 指定されたデバイストークンが不正でした。リクエストに有効なトークンが含まれていること、およびそのトークンが環境と一致していることを確認してください。 |
400 | BadTopic | apns-topic の値が無効です。 |
400 | DeviceTokenNotForTopic | デバイス トークンが指定されたトピックと一致しません。 |
400 | DuplicateHeaders | 1 つ以上のヘッダーが重複していました。 |
400 | IdleTimeout | アイドル タイムアウト。 |
400 | InvalidPushType | apns-push-type の値が無効です。 |
400 | PayloadEmpty | メッセージ ペイロードが空でした。 |
403 | BadCertificate | 証明書が不正でした。 |
403 | BadCertificateEnvironment | クライアント証明書が誤った環境のものでした。 |
403 | InvalidProviderToken | プロバイダートークンが無効であるか、トークン署名を検証できませんでした。 |
404 | 不正なパス | リクエストに不正な :path 値が含まれていました。 |
405 | MethodNotAllowed | 指定された :method は POST ではありませんでした。 |
410 | ExpiredToken | デバイストークンの有効期限が切れました。 |
410 | 未登録 | 指定されたトピックのデバイス トークンは非アクティブです。 |
429 | TooManyProviderTokenUpdates | プロバイダー トークンが頻繁に更新されすぎています。 |
500 | InternalServerError | 内部サーバーエラーが発生しました。 |
503 | サービスをご利用いただけません | サービスは利用できません。 |
Android
FCM を通じて送信される Android のプッシュ通知では、FCM エラーコード。に関する Google のリファレンスに記載されている理由の少なくとも 1 つにより、拒否される場合があります。
ステータスコード | FCM エラー文字列 | FCM の説明 |
400 | INVALID_ARGUMENT | サーバーに渡す登録トークンの形式を確認してください。Firebase Notifications への登録によりクライアントアプリが受け取る登録トークンと一致していることを確認してください。切り詰めたり、追加の文字を加えたりしないでください。 |
400 | INVALID_ARGUMENT | メッセージの宛先が、リクエストで渡された値と一致するパッケージ名を持つ登録トークンであることを確認します。 |
400 | INVALID_ARGUMENT | メッセージに含まれるペイロード データの合計サイズが FCM の上限を超えないことを確認してください。ほとんどのメッセージでは 4096 バイト、トピック宛てのメッセージの場合は 2048 バイトです。これにはキーと値の両方が含まれます。 |
400 | INVALID_ARGUMENT | ペイロードデータに、FCM によって内部的に使用されるキー(from、gcm、または google で始まる任意の値など)が含まれていないことを確認してください。一部の単語(collapse_key など)も FCM で使用されますが、ペイロード内で許可されています。その場合、ペイロードの値は FCM の値で上書きされます。 |
400 | INVALID_ARGUMENT | ttl で使用されている値が、0~2,419,200(4 週間)の範囲で秒単位の期間を表す整数であることを確認します。 |
400 | INVALID_ARGUMENT | 指定されたパラメータの名前と種類が正しいことを確認してください。 |
403 | SENDER_ID_MISMATCH | 認証済み送信者 ID は、登録トークンの送信者 ID とは異なります。 |
404 | 未登録 | アプリ インスタンスが FCM から登録解除されました。これは通常、使用されているトークンが無効になっており、新しいトークンを使用する必要があることを意味します。 |
429 | QUOTA_EXCEEDED | メッセージターゲットの送信上限を超えました。どのクォータを超過したかを指定するために、type google.rpc.QuotaFailure の拡張が返されます。 |
500 | INTERNAL | 不明な内部エラーが発生しました。 |
503 | 利用不可 | サーバーが過負荷です。 |
受信者が存在しない場合、または無効なプッシュトークンを持っている場合は、Bounced push イベントも表示されます。
ベストプラクティス
ユーザーの同意を収集
プロファイルに標準のプッシュ通知を送信するには、まず明示的な同意 を得る必要があります。
プッシュ通知の同意を取得するには、顧客がモバイルアプリを初めて利用する際に、許可を求めるプロンプトを画面に表示する必要があります。
許可画面のプロンプトには、以下の情報を含む同意文言を記載し、ユーザーがオプトインまたはオプトアウトできるようにすることがベストプラクティスです。
- ブランドが送信する通知の種類
ブランドが送信する予定のさまざまなプッシュ通知(たとえば、アカウントの変更、アカウントの変更、リマインダー、特別割引など)に関する詳細を記載します。 - ユーザーがオプトインすべき理由
重要な最新情報を得られる、セールに先行アクセスできるなど、顧客が通知を許可することで得られるメリットを説明します。
プッシュ通知同意の取得について詳細はこちら。
関連する通知を送信
プッシュ通知キャンペーンを送信する際は、Klaviyo の セグメンテーション を活用して、購読者に合わせてパーソナライズされ、関連性の高いコンテンツを送信することが重要です。
たとえば、熱心なリピート顧客のセグメントがある場合、プッシュ通知を使用して、他の誰よりも先に新しいお得情報やプロモーションを知らせることができます。
送信するコンテンツがお客様の興味や好みに関連していることを確保することで、お客様が購読を解除する可能性を減らし、プッシュ通知でお客様にリーチできる可能性を最大化できます。
パフォーマンスを監視して分析する
配信の問題や主要なプッシュ メトリックの低下を迅速に特定するために、Klaviyo でプッシュ通知のパフォーマンスを継続的にモニタリングすることが不可欠です。
そのための最適な方法は、次のプッシュ通知イベントをモニタリングすることです:
- プッシュを受信
- 開封されたプッシュ
- バウンスプッシュ
Klaviyo で マルチメトリックレポート を設定して、これらのイベントのパフォーマンスが時間の経過とともにどのように変化するかを監視できます。
その他のリソース
- プッシュ通知の同意について理解する
プッシュ通知同意と、コンプライアンス遵守のためのベスト プラクティスについて学びましょう。これらのガイドラインは、同意収集の実務におけるコンプライアンス順守に役立ち、お客様との良好な関係を維持するのに役立ちます。
- プッシュ通知キャンペーンを送信する方法
Klaviyo を使用して、iOS または Android アプリ経由でプッシュ通知キャンペーンを送信する方法をご確認ください。
- プッシュ通知の設定を理解する
プッシュ通知の設定ページについて確認します。ここでは、モバイルアプリ用のプッシュ通知を設定し、スマート送信の送信制限時間を調整できます。