配信の失敗について delivery-failures
バウンスは、配信の試行とエラーの結果、ISP からエラー通知が返されたものを表します。バウンス処理は、リストの衛生状態の重要な部分です。特定のメールが連続して複数回バウンスした後、このプロセスにより、抑制のフラグが設定されます。
このプロセスでは、システムが無効なメールアドレスの送信を継続するのを防ぎます。バウンスは、IP レピュテーションを判断するために ISP が使用する、データの重要な要素の 1 つです。この指標に目を通すことが重要です。「配信済み」と「バウンス済み」は、おそらくマーケティングメッセージの配信を測定する際の、最も一般的な方法です。配信率が高いほど、より良い結果が得られます。
メッセージをプロファイルに送信できない場合、リモートサーバーは自動的にエラーメッセージを Adobe Campaign に送信します。このエラーは、メールアドレス、電話番号、またはデバイスを強制隔離する必要があるかどうかを判断するために適合されます。バウンスメールの管理を参照してください。
メッセージを送信すると、各プロファイルの配信ステータス、関連するエラーのタイプと理由が配信ログに表示されます。
メールアドレスが強制隔離された場合、またはプロファイルがブロックリストに登録されている場合、配信の準備段階で受信者が除外されます。除外されたメッセージのリストは、配信ダッシュボードに表示されます。
メッセージの配信が失敗した理由 delivery-failure-reasons
メッセージエラーには次の 2 つのタイプがあります。それぞれの配信エラータイプによって、アドレスが強制隔離されるかどうかが決まります。
-
ハードバウンス
ハードバウンスは、ISP が加入者アドレスへのメーリングの試行を配信不能と判断した後に生成される、永続的なエラーです。Adobe Campaign 内では、配信不能と分類されたハードバウンスは強制隔離リストに追加され、再試行されません。エラーの原因が不明な場合、ハードバウンスが無視されることがあります。ハードバウンスの一般的な例:アドレスが存在しない、無効なアカウント、無効な構文、無効なドメイン
-
ソフトバウンス
ソフトバウンスは、メールの配信が困難な場合に ISP によって生成される、一時的なエラーです。ソフトエラーは、配信を成功させる試みとして、複数回(カスタム配信設定または標準の配信設定を使用するかによって異なります)再試行されます。継続的にソフトバウンスを行うアドレスは、再試行の最大回数に到達するまで強制隔離に追加されません(設定によって異なります)。ソフトバウンスの一般的な原因:メールボックス容量超過、受信メールサーバーの停止、送信者の評判の問題
無視 は、一時的であることがわかっているエラー(「外出中」など)、または技術的エラー(送信者タイプが「postmaster」である場合など)です。
フィードバックループはバウンスメールのように機能します。ユーザーがメールをスパムとみなしたら、Adobe Campaign でメールルールを設定して、このユーザーへのすべての配信をブロックできます。このようなユーザーのアドレスは、購読解除リンクをクリックしなかった場合でも、ブロックリストに登録されます。アドレスは受信者テーブル(NmsRecipient)ではなく、強制隔離テーブル(NmsAddress)に追加され、「ブロックリスト登録済み」ステータスとなります。フィードバックループのメカニズムについて詳しくは、Adobe 配信品質のベストプラクティスガイドを参照してください。
同期エラーと非同期エラー synchronous-and-asynchronous-errors
メッセージの配信は、即座に失敗することがあります。その場合は、同期エラーと見なします。メッセージの送信が失敗した場合や送信後に失敗した場合、エラーは非同期的になります。
これらのタイプのエラーは、次のように管理されます。
-
同期エラー:Adobe Campaign 配信サーバーからアクセスされたリモートサーバーが即座にエラーメッセージを返します。配信をプロファイルのサーバーに送ることは許可されません。メール転送エージェント(MTA)は、バウンスのタイプを決定してエラーを検証し、その情報を Campaign に返して、関係するメールアドレスを強制隔離する必要があるかどうかを判断します。バウンスメールの選定を参照してください。
-
非同期エラー:バウンスメールまたは SR が受信サーバーによって後で再送信されます。このエラーは、エラーに関連するラベルで検証されます。非同期エラーは、配信の送信から 1 週間は発生する可能性があります。
バウンスメールの選定 bounce-mail-qualification
Adobe Campaign でのバウンスメールの選定の処理方法は、エラータイプによって異なります。
-
同期エラー: MTA は、バウンスのタイプと検証を決定し、その情報を Campaign に返します。配信ログの検証 テーブルのバウンス選定は、同期 配信の失敗エラーメッセージには使用されなくなりました。
-
非同期エラー:非同期の配信エラーを検証するために Campaign で使用されるルールは、管理/キャンペーン管理/配信不能件数の管理/配信ログの検証 ノードに一覧表示されます。非同期バウンスは、引き続き、インバウンドメール ルールを通じて inMail プロセスで選定されます。詳しくは、Adobe Campaign Classic v7 ドキュメントを参照してください。
再試行管理 retries
一時的なエラー(ソフト または 無視)の後でメッセージ配信が失敗した場合、Campaign は送信を再試行します。これらの再試行は、配信期間が終了するまで実行できます。
ソフトバウンスの再試行とその間隔は、メッセージのメールドメインから返されるバウンス応答のタイプと重大度に基づいた MTA によって決定します。
有効期間 valid-period
Campaign 配信の有効期間の設定は、3.5 日以内 に制限されています。配信に対して Campaign で 3.5 日を超える値を定義すると、その値は考慮されません。
例えば、Campaign で有効期間がデフォルト値の 5 日間に設定されている場合、ソフトバウンスメッセージは MTA の再試行キューに入り、そのメッセージが MTA に到達してから最大 3.5 日間再試行されます。その場合、Campaign で設定された値は使用されません。
メッセージが MTA キューに置かれた日数が 3.5 日に達しても配信に失敗した場合は、タイムアウトになり、配信ログでのステータスは、送信済み から 失敗 に更新されます。
有効期間について詳しくは、Adobe Campaign Classic v7 ドキュメントを参照してください。
メールのエラータイプ email-error-types
メールチャネルについて、配信エラーの考えられる理由を以下に示します。
プッシュ通知のエラータイプ push-error-types
モバイルアプリチャネルの場合に考えられる配信エラーの理由を次に示します。
iOS での強制隔離 ios-quarantine
HTTP/V2 プロトコルでは、プッシュ配信ごとの直接フィードバックおよびステータスを使用できます。HTTP/V2 プロトコルコネクタを使用する場合、フィードバックサービスが mobileAppOptOutMgt ワークフローによって呼び出されることはありません。モバイルアプリケーションのアンインストールまたは再インストールがおこなわれた場合、トークンは登録解除されたものとみなされます。
同時に、APNs がメッセージに対して登録解除ステータスを返した場合、ターゲットトークンはただちに強制隔離されます。
Android での強制隔離 android-quarantine
Android V1 の場合
Adobe Campaign は通知ごとに FCM サーバーから直接同期エラーを受け取ります。Adobe Campaign はこれを即時に処理し、エラーの重大度に応じてハードエラーまたはソフトエラーを生成します。これにより再試行が実行できるようになります。
- ペイロードの長さの超過、接続の問題、サービスの使用可否の問題:再試行が実行され、ソフトエラーが生成されます。エラーの理由は「拒否」です。
- デバイスの割当量の超過:再試行はなく、ソフトエラーが生成されます。エラーの理由は「拒否」です。
- 無効または登録解除されたトークン、予期しないエラー、送信者のアカウントの問題:再試行はなく、ハードエラーが生成されます。エラーの理由は「拒否」です。
mobileAppOptOutMgt ワークフローは 6 時間ごとに実行されます。このワークフローは AppSubscriptionRcp テーブルを更新します。登録解除または無効と宣言されたトークンについて、「無効」フィールドが「True」に設定され、そのデバイストークンにリンクされている購読は自動的にそれ以降の配信から除外されます。
配信分析中に、ターゲットから除外されたすべてのデバイスが自動的に excludeLogAppSubRcp テーブルに追加されます。
- 配信開始時の接続の問題:エラータイプは「未定義」で、エラーの理由は「未到達」です。再試行は実行されます。
- 配信中の接続切断:ソフトエラーが生成され、エラーの理由は「拒否」です。再試行は実行されます。
- 送信中に Baidu により同期エラーが返される:ハードエラーが生成され、エラーの理由は「拒否」です。再試行はありません。
Android V2 の場合
Android V2 の強制隔離メカニズムでは、Android V1 と同じプロセスを使用しており、同じことがサブスクリプションと除外の更新にも当てはまります。詳しくは、Android V1 の節を参照してください。
SMS の強制隔離 sms-quarantines
標準コネクタの場合
SMS チャネル特有の方式を以下に示します。
拡張された汎用 SMPP コネクタの場合
SMPP プロトコルを使用して SMS メッセージを送信する場合のエラー管理の方法は異なります。
SMPP コネクタは、返された SR(ステータスレポート)メッセージからデータを取得し、正規表現(regex)を使用して、そのコンテンツをフィルター処理します。このデータは、次に、配信ログの検証 テーブル(管理/キャンペーン管理/配信不能件数の管理 メニューから使用できます)に見つかった情報と照合されます。
新しいタイプのエラーが検証される前に、エラーの理由はデフォルトで常に「拒否」に設定されます。
生成されるメッセージの例:
SR Generic DELIVRD 000|#MESSAGE#
-
SMS のエラーコードをメールのエラーコードと区別するために、すべてのエラーメッセージは SR で始まります。
-
エラーメッセージの 2 つ目の部分(この例では Generic)は、SMSC 実装の名前(例えば、SMS 外部アカウントの「SMSC 実装名」フィールドに定義されている名前)を指します。
同じエラーコードであってもプロバイダーごとに意味が異なる場合があるので、エラーコードを生成したプロバイダーがこのフィールドでわかります。これにより、該当するプロバイダーのドキュメントでエラーを調べることができます。
-
エラーメッセージの 3 つ目の部分(この例では DELIVRD)は、SMS 外部アカウントに定義されたステータス抽出用正規表現を使用して SR から取得されたステータスコードに対応します。
この正規表現は、外部アカウントの「SMSC 特異性」タブで指定します。
デフォルトでは、SMPP 3.4 仕様 の 付録 B に規定されているとおり、stat: フィールドが抽出されます。 -
エラーメッセージの 4 つ目の部分(この例では 000)は、SMS 外部アカウントに定義されたエラーコード抽出用正規表現を使用して SR から抽出されたエラーコードに対応します。
この正規表現は、外部アカウントの「SMSC 特異性」タブで指定します。
デフォルトでは、SMPP 3.4 仕様 の 付録 B に規定されているとおり、err: フィールドが抽出されます。
-
パイプ記号(|)以降の文字列は、配信ログの検証 テーブルの 最初のテキスト 列にのみ表示されます。このコンテンツは、常に、メッセージが正規化された後に #MESSAGE# で置き換えられます。これにより、同じようなエラーに対して複数のエントリが含まれるのを防ぐことができます。メールの場合と同じです。
拡張された汎用 SMPP コネクタは、ヒューリスティックを適用して実用的なデフォルト値を見つけます。例えば、DELIV で始まるステータスは、ほとんどのプロバイダーでよく使用されている DELIVRD または DELIVERED と一致するので、成功とみなされます。これ以外のステータスはハードエラーとみなされます。