【第120回】 Journey Builder でメール送信ができなかった理由を確認する方法
Salesforce Marketing Cloud の Journey Builder のメールアクティビティにおいて、メール送信ができなかった場合、そのメール送信ができなかった理由を確認したい場合があると思います。
このメール送信ができなかった理由を調べるには、いくつかの方法がありますので、今回、以下の 3 つの方法で確認してみます。
これら 3 つの方法では、それぞれで確認ができる範囲やデータの保管期間が異なります。方法 1 が、最も狭い範囲の確認方法であり、方法 3 に向かうに従って、より広い範囲で確認ができるというイメージになります。
それでは一つずつ確認していきましょう。
■ 方法 1:Journey Builder のメールアクティビティ上で確認する
この方法は、メールアクティビティ単位で送信できなかった理由を確認したい場合に使用できます。
手順は以下の通りです。
1. メールアクティビティの下にある数字をクリックします。
2.「連絡先の詳細の表示」のリンクをクリックします。
3. 「詳細の表示」のリンクをクリックします。
4. ハードエラーの「ステータスの詳細」の列にて、送信できなかった理由が表示されます。連絡先キーを使って検索も可能です。
あるメールアクティビティにてメール送信ができなかった場合は、この方法で確認してみてください。上記の注意点の通り、一部の送信できない理由は検索できませんので注意してください。
また、画面上に連絡先リストのダウンロードボタンはありません。画面の下の方にある「さらに読み込み」を最後のページまで押し続けて表示すれば、表示されているリストをエクセルなどへコピペすることは可能です。
一方で REST API を使用すれば、連絡先リストを CSV ファイルでダウンロードすることが可能です。以下の記事を参考に、連絡先のリストをダウンロードしてみてください。API のサンプルコードも記載しておきます。
--- メソッド
POST
--- スキーム
[REST ベース URL].rest.marketingcloudapis.com/interaction/v1/interactions/journeyhistory/download?columns=ContactKey,Result.Messages
--- ヘッダー
Content-Type:application/json
Authorization:Bearer [アクセストークン]
x-direct-pipe:true
--- ボディ(サンプル)
{
"activityIds": ["24da6e39-df68-4318-87ac-d864306cdb06"],
"statuses": ["Failed"]
}
■ 方法 2:Journey Builder の履歴タブから確認する
続いて、Journey Builder の履歴タブから検索するこの方法は、ジャーニー単位で確認したい場合や、複数のジャーニーをまとめて確認したい場合に使用できます。
こちらの履歴タブの機能では、方法 1 のような「あるメールアクティビティを選択して」という形では検索ができません。あるジャーニーに含まれている全メールアクティビティが選択の対象となります。
それでは、手順は以下の通りです。
1. Journey Builder の履歴タブを開き、フィルターボタンをクリックします。
2. フィルターのパラメーターを設定します。この方法で検索できる最小単位は「ジャーニーのバージョン」までとなります。先ほども記載した通り、メールアクティビティ単位では確認できません。
ジャーニーのバージョンの選択後、アクティビティは「メール」にして、ステータスは「失敗」に設定します。その後、「適用」ボタンを押してフィルターの設定画面を閉じます。
3. フィルタリングの結果が画面に表示されます。デフォルトでは、直近 24 時間内のデータを表示していますので、必要があれば、最大 30 日間の範囲で調整を行って下さい。
さて、こちらの方法 2 では、方法 1 には無いメリットがあります。それは CSV ダウンロード機能がついていることです。CSV は UTF-8 でダウンロードされます。
但し、このダウンロード機能には一点、使いずらさがあります。それは、現在表示されている範囲のみがダウンロードの対象となることです。
この画面のデフォルトの表示件数は 100 件です。ダウンロードする際、上の画像のように 4 件のみのダウンロードであれば、そのままダウンロードすることは可能ですが、これが例えば 10,000 件あった場合は、10,000 件すべてが表示されるまでスクロールが必要になります。このスクロールは 100 件ずつ増える仕様のため、なかなかの作業量になります。
ですので、このような場合は、先ほども方法 1 で説明しましたが REST API によるダウンロードを活用してみてください。
ジャーニー単位でダウンロードする場合はアクティビティ ID を使うのではなく、definitionIds を使用します。この definitionIds はジャーニーのバージョン ID になりますので、以下の SQL で検索が可能です。
SELECT VersionID
FROM _Journey
WHERE JourneyName = 'ジャーニー名'
AND VersionNumber = 'バージョンの数字'
API のコードサンプルは以下です。
--- メソッド
POST
--- スキーム
[REST ベース URL].rest.marketingcloudapis.com/interaction/v1/interactions/journeyhistory/download?columns=ContactKey,Result.Messages
--- ヘッダー
Content-Type:application/json
Authorization:Bearer [アクセストークン]
x-direct-pipe:true
--- ボディ(サンプル)
{
"definitionIds": ["24da6e39-df68-4318-87ac-d864306cdb06"],
"activityTypes": ["emailv2"],
"statuses": ["Failed"]
}
■ 方法 3:Automation Studio の Extract Not Sent から確認する
この方法は、Marketing Cloud アカウント内の「すべての」送信できなかった履歴を抽出して、メール送信ができなかった理由を確認したい場合に使用されます。
それでは、手順は以下の通りです。
1. 新規のオートメーションを立ち上げます。
2. オートメーションのステップ 1 に、データ抽出アクティビティをドラッグアンドドロップします。
3. 新規でデータ抽出アクティビティを構成します。
4. 名前は適当で問題ないです。ファイルの命名パターンは「*.zip」とする必要があります。名前を適当につけた後、ZIP の拡張子をつけてください。
抽出タイプは「Tracking Extract」を選択してください。「Tracking Extract」が表示されない方は、サポートに依頼して機能の有効化をしてください。
5. フィルター条件を設定します。直近 90 日間分のデータを抽出できるように設定が可能です。
抽出の種別は「Extract Not Sent」を選択してください。
6. 続いて、オートメーションのステップ 2 に、ファイル転送アクティビティをドラッグアンドドロップします。
7. こちらでは「Safehouse からファイルの移動」を選択します。
8. ここでのファイルの命名パターンは先ほどデータ抽出アクティビティで決定した名前と同じである必要があります。同じ名前を入力してください。こちらでも ZIP の拡張子を追加することを忘れずにお願いします。
デスティネーションは ZIP ファイルが格納される FTP のディレクトリを選択してください。
9. 設定は以上になります。オートメーションの設定画面でスケジュールを配置してください。スケジュールを配置することで「一回実行」が可能になります。スケジュール自体の設定は不要です。その後、「保存」を押します。
10. 一回実行をクリックします。
11. このオートメーションが完了すると、FTP に ZIP ファイルが置かれます。そちらをダウンロードして開封してください。
以下のようなデータが格納されており、Reason 列で理由を確認できます。
最後に、こちらの「Extract Not Sent」で抽出される「メールが送信できなかった理由」の代表的なものを記載しておきます。参考にしてください。
これ以外でメールが送信されない理由は下記ヘルプドキュメントよりご確認ください。
いかがでしたでしょうか?
今回、Journey Builder でメール送信ができなかった理由を確認する方法 として 3 つの方法を紹介しました。それぞれ、使い道や使い易さも異なりますので、ご自身が調べたい内容に合わせて、選択して使用して下さい。
今回は以上です。
Click here for English version
次の記事はこちら
前回の記事はこちら
私の note のトップページはこちら
この記事が気に入ったらサポートをしてみませんか?