【第192回】 送信ログのクエリにプリヘッダーを組み合わせる方法
前回の記事で紹介したクエリを用いることで、「送信ログ」と「データビュー」を通して、以下の項目を各購読者の送信ジョブごとに取得できるようになりました。
このクエリは非常に便利なものなので、再度紹介します。
SELECT
SendLog.JobID,
_Sent.SubscriberKey,
DATEADD(hh, 15, _Sent.EventDate) AS SentEventDate,
_Subscribers.EmailAddress,
_Sent.Domain,
_Subscribers.Status AS SubscribersStatus,
_Job.EmailName COLLATE Japanese_CS_AS_KS_WS AS [EmailName],
_Job.EmailSubject COLLATE Japanese_CS_AS_KS_WS AS [EmailSubject],
_JourneyActivity.ActivityName COLLATE Japanese_CS_AS_KS_WS AS [ActivityName],
_Journey.JourneyName COLLATE Japanese_CS_AS_KS_WS AS [JourneyName],
_Journey.VersionNumber
FROM [SendLog_Name] AS SendLog
LEFT JOIN _Sent
ON SendLog.JobID = _Sent.JobID
AND SendLog.ListID = _Sent.ListID
AND SendLog.BatchID = _Sent.BatchID
AND SendLog.SubID = _Sent.SubscriberID
LEFT JOIN _Subscribers
ON SendLog.SubID = _Subscribers.SubscriberID
LEFT JOIN _Job
ON SendLog.JobID = _Job.JobID
LEFT JOIN _JourneyActivity
ON SendLog.TriggeredSendID = _JourneyActivity.JourneyActivityObjectID
LEFT JOIN _Journey
ON _JourneyActivity.VersionID = _Journey.VersionID
WHERE DATEDIFF(MM, _Sent.EventDate, GETDATE()) <= 6
🚀 プリヘッダーの取得方法
しかし、このクエリでは「Preheader(プリヘッダー)」が取得できていません。なぜなら、JOB のデータビューには「EmailSubject(メール件名)」は存在するものの、プリヘッダーが存在しないためです。
ここでカスタムでプリヘッダーを取得したい場合は、Intelligence Reports の Reports 機能を使用して取得しましょう。以下に簡単な手順を示します。
Intelligence Reports の Reports を開き、Rows のフィールドに「Email Job ID」と「Email Pre Header」を設定します。
CSV 形式で SFTP にエクスポートします。
エクスポートしたデータをデータエクステンションにインポートします。
インポートしたデータエクステンションとデータビューをクエリすることで、プリヘッダーを取得できます。
それでは、実際にこの手順で Intelligence Reports の操作を行ってみます。
🚀 Intelligence Reports の操作
まず、Intelligence Reports の Reports の新規作成画面にアクセスします。
まずは、レポート名を決めて、Export Format を CSV に設定します。Time Period は取得期間の範囲ですが、デフォルトが過去 30 日分ですので、こちらは必要に応じて調整して下さい。あとは Dimension の箇所に「Email Job ID」と「Email Pre Header」を設定します。
続いて、Advanced Report Settings をクリックして、CSV ファイル名を設定してください。ここに Preheader と入力すれば、毎回 Preheader.csv が生成され、上書きで更新されます。Headers のチェックは必ず外してください。余計なヘッダーが付いてしまい、取り込みの時に邪魔になります。
続いて、レポートを日次でスケジュール化して、SFTP に自動的にエクスポートします。Report Scheduling の Active にチェックを入れてください。Delivery Hour はデフォルトで 午前 0 時が入力されていますので、今回は、一旦そのままで設定します。SFTP 情報を入力してください。Import ディレクトリを設定する場合は「/Import」とし、頭の「/」は削除しないようにしてください。
すべての設定が完了したら、Add As New Scheduler をクリックします。
これでスケジュールがセットされました。それでは試しに、Save & Run ボタンをクリックして、設定を保存しながら、一回実行(Run)してみます。
一回実行が開始され、Status の部分がぐるぐる回ります。
その後、Success と表示されれば、Import ディレクトリにエクスポートが完了しています。
SFTP に CSV ファイルがエクスポートされているのを確認しました。
それでは、次に格納用のデータエクステンションを作成します。Email Job ID(数字型)、Email Pre Header(テキスト型:4,000字)という項目名を作成して、インポートを実行してみます。
インポートは、差分更新となりますので「追加と更新」で実行して下さい。
インポートの実行後、Email Pre Header がジョブ ID ごとに取得できました。
最後にプリヘッダーを含んだクエリを実行してみます。
SELECT
SendLog.JobID,
_Sent.SubscriberKey,
DATEADD(hh, 15, _Sent.EventDate) AS SentEventDate,
_Subscribers.EmailAddress,
_Sent.Domain,
_Subscribers.Status AS SubscribersStatus,
_Job.EmailName COLLATE Japanese_CS_AS_KS_WS AS [EmailName],
_Job.EmailSubject COLLATE Japanese_CS_AS_KS_WS AS [EmailSubject],
Preheader.[Email Pre Header] COLLATE Japanese_CS_AS_KS_WS AS [PreHeader],
_JourneyActivity.ActivityName COLLATE Japanese_CS_AS_KS_WS AS [ActivityName],
_Journey.JourneyName COLLATE Japanese_CS_AS_KS_WS AS [JourneyName],
_Journey.VersionNumber
FROM [SendLog_Name] AS SendLog /* replace SendLog_Name with your SendLog DE name */
LEFT JOIN _Sent
ON SendLog.JobID = _Sent.JobID
AND SendLog.ListID = _Sent.ListID
AND SendLog.BatchID = _Sent.BatchID
AND SendLog.SubID = _Sent.SubscriberID
LEFT JOIN _Subscribers
ON SendLog.SubID = _Subscribers.SubscriberID
LEFT JOIN _Job
ON SendLog.JobID = _Job.JobID
LEFT JOIN _JourneyActivity
ON SendLog.TriggeredSendID = _JourneyActivity.JourneyActivityObjectID
LEFT JOIN _Journey
ON _JourneyActivity.VersionID = _Journey.VersionID
LEFT JOIN Preheader
ON SendLog.JobID = Preheader.[Email Job ID]
WHERE DATEDIFF(MM, _Sent.EventDate, GETDATE()) <= 6
以下の通り、プリヘッダーが取得できました。成功です。
いかがでしたでしょうか。
実は、Intelligence Reports でしか取得できない項目も多く存在します。今回は、Intelligence Reports の Reports 機能の説明も交えながら紹介しました。一度、どのような項目が取得できるのかに関しては、確認しておくことをオススメします。ヘルプドキュメントにその一覧が掲載されています。
さて、今回の設定についてですが、一度、オートメーションを設定してしまえば、自動的にプリヘッダーが差分更新されて行きますが、注意点として、Intelligence Reports で新規分のデータが生成されるタイミングは 1 日 1 回の不定期であり、標準レポートや Email Studio のトラッキングのようにリアルタイムに近い形にはなっていません。よって、必ずしも「前日分のプリヘッダー」が取得できているとは限りませんので、その点は注意して下さい。
今回以上です。