Skip to content
Last updated

メール配信イベントテーブル

Engage Studioは、Treasure Data CDP内でマーケターが効果的なメールキャンペーンを作成・管理するために設計された強力な機能です。効果的なメールマーケティングの重要な側面は、パフォーマンスを追跡する能力です。Engage Studioは、詳細なメールメトリクスを自動的に収集することで、メール配信パフォーマンスインサイトを提供します。 これらの貴重なメールメトリクスは、使用する各メールドメイン用に専用のTreasure Dataテーブルに自動的に保存されます。このテーブルを使用すると、メール送信の結果を詳細なレベルで分析できます。

メールパフォーマンスデータは、Treasure Dataアカウントの以下の場所に保存されます。

  • Database: delivery_email_<your email domain>

  • Table: events

メールパフォーマンス(events)テーブルのスキーマ

eventsテーブルには、メールキャンペーン中に発生する各イベントに関する詳細情報をキャプチャするさまざまな列が含まれています。このテーブルのスキーマには次のフィールドが含まれます。

  • time (int): delivery_timestampと同等で、時刻を表します。

  • email_sender_id (string): 送信者のID。

  • email_domain_id (string): メールドメインのID。

  • email_domain (string): 送信に使用されたメールドメイン。

  • message_id (string): 送信リクエストが成功した際にAmazon SESによってメッセージに割り当てられた一意のID。これはメッセージが送信されたときにAmazon SESが返したIDです。なお、Amazon SESはこのIDをmailオブジェクトのcommonHeadersにも含めます。

  • email_template_id (string): メッセージに使用されたEmail Template ID。このIDは、Engage Studioでメールテンプレートを編集する際のURLパスで確認できます。

  • from (string): FROMメールアドレス。

  • to (string): 受信者のTOメールアドレス。これは元のメールの受信者としてリストされているメールアドレスの1つです。

  • to_plain_address (string): 元々表示名が含まれていた場合でも、シンプルな形式の受信者のメールアドレス。

  • subject (string): メールの件名。これはmailオブジェクトのcommonHeadersで確認できます。

  • timestamp (string): 元のメッセージが送信された日時(ISO8601形式)。

  • event_type (string): 発生したイベントのタイプを示す重要なフィールド。このフィールドは、送信された各メールのさまざまな結果を説明します。

  • delivery_reporting_mta (string): 配信のMail Transfer Agent(MTA)アドレス。Amazon SESでは、これはメールを送信したSESメールサーバーのホスト名です。

  • delivery_smtp_response (string): 配信のMTAログ。これは、Amazon SESからのメールを受け入れたリモートISPからのSMTP応答メッセージです。

  • delivery_processing_time_millis (long): 配信処理にかかった時間(ミリ秒)。これは、Amazon SESがリクエストを受け入れてから受信者のサーバーにメッセージを渡すまでの時間です。

  • delivery_timestamp (string): メールが配信された時刻。

  • open_user_agent (string): メールが開封されたときに使用されたメールクライアントのUser Agent。

  • open_timestamp (string): メールが開封された時刻。

  • open_ip_address (string): 受信者がメールを開封したIPアドレス。

  • click_user_agent (string): メールがクリックされたときに使用されたメールクライアントのUser Agent。

  • click_timestamp (string): メールがクリックされた時刻。

  • click_ip_address (string): 受信者がメールをクリックしたIPアドレス。

  • click_link (string): 受信者がクリックしたリンクの完全なURL。このフィールドは、どのコンテンツがエンゲージメントを促進するかを理解するための貴重な分析データを提供します。

  • bounce_reporting_mta (string): バウンスが発生する前に配信を試みたMTAのIPアドレス。

  • bounce_feedback_id (string): バウンスに関連付けられた一意のID。

  • bounce_timestamp (string): Bounceとしてマークされた時刻。

  • bounce_subtype (string): バウンスのサブタイプ。

  • bounce_type (string): バウンスのタイプ(Undetermined、Permanent、またはTransient)。

  • bounce_recipient_status (string): DSNのStatusフィールドの値。これは、メッセージの配信ステータスを示す受信者ごとのトランスポート非依存ステータスコードです。

  • bounce_recipient_action (string): DSNのActionフィールドの値。これは、このレシピエントにメッセージを配信しようとした結果としてReporting-MTAが実行したアクションを示します。

  • bounce_recipient_address (string): バウンスした元のメールの受信者に関する情報を含むリスト

  • bounce_recipient_diagnostic_code (string): レポートMTAが発行したステータスコード。これはDSNのDiagnostic-Codeフィールドの値です。このフィールドはDSNに存在しない場合があります(したがってJSONにも存在しません)。

  • delayed_timestamp (string): 配信遅延が発生した日時(ISO8601形式)。

  • delayed_type (string): 遅延のタイプ(例:MailboxFull、MessageTooLarge、TransientCommunicationFailure)。

  • delayed_recipient_address (string): メッセージの配信が遅延した原因となったメールアドレス。

  • delayed_recipient_status (string): 配信遅延に関連付けられたSMTPステータスコード。これは受信者ごとのトランスポート非依存ステータスコードです。

  • delayed_recipient_diagnostic_code (string): 受信MTAが提供した診断コード。これは遅延に関する追加情報を提供します。

  • delayed_expiration_time (string): Amazon SESがメッセージの配信を停止する日時(ISO8601形式)。

  • custom_event_id (string): パフォーマンス計算に使用される任意のキャンペーンID。この識別子を使用すると、例えばCustomer Journey Orchestration(CJO)シナリオ内でメールキャンペーンを適切に追跡するのに役立ちます。このIDはメールActivationを設定する際に設定されます。

  • test_mode (boolean): メールがSendTest機能によって送信されたことを示す場合はTrue

メールイベントタイプの理解

event_type列は、送信アクティビティの監視とキャンペーンパフォーマンスの理解に不可欠です。送信された各メールの結果を分類します。この列で見つかる可能性のある値とその意味、およびテーブルでキャプチャされる関連情報は次のとおりです。

  • Send : メール送信リクエストが成功し、Amazon SESが配信を試みます。抑制によって配信が抑制された場合でも、送信としてカウントされます。

  • Delivery : Amazon SESがメールを受信者のメールサーバーに正常に配信しました。deliveryオブジェクトには、配信のtimestampdelivery_timestamp)、processingTimeMillisdelivery_processing_time_millis)、recipientssmtpResponsedelivery_smtp_response)、reportingMTAdelivery_reporting_mta)、およびremoteMtaIpが含まれます。

  • Bounce : 受信者のメールサーバーがメールを拒否したパーマネントまたはトランジェントバウンスを示します。パーマネントバウンスは、将来の送信が成功する可能性が低く、送信者の評判に悪影響を与える可能性があるため、受信者をリストから削除する必要があることを意味します。トランジェントバウンスは、一時的な問題が解決すれば、後で正常に配信される可能性があります。

  • Complaint : メールは配信されましたが、受信者がスパムとしてマークしました。complaintオブジェクトには、complainedRecipientstimestampfeedbackIdcomplaintSubType、およびオプションでuserAgentcomplaintFeedbackType、およびフィードバックレポートからのarrivalDateが含まれます。ほとんどのISPは苦情を申し立てた特定のメールアドレスを編集するため、complainedRecipientsリストには苦情を発行したドメインの受信者が含まれます。complaintFeedbackTypeは、苦情の理由(例:abuse、fraud、virus)を示すことができます。

  • DeliveryDelay : 受信トレイが満杯またはトランジェントサーバーの問題など、問題によりメール配信が一時的に遅延しました。delivery delayオブジェクトには、delayType(例:MailboxFull、MessageTooLarge)、delayedRecipientsexpirationTime(SESが配信を停止する時刻)、reportingMTA、およびtimestampが含まれます。

  • Open : 受信者がメールクライアントでメッセージを開封しました。これはHTMLメール用のオープンピクセルトラッキングに依存しています。openオブジェクトには、受信者のipAddressopen_ip_address)、timestampopen_timestamp)、およびuserAgentopen_user_agent)が含まれます。オープントラッキングはHTMLメールでのみ機能することに注意してください。テキストのみのメールクライアントはこのメトリクスを提供しません。

  • Click : 受信者がメール内の1つまたは複数のリンクをクリックしました。これはクリックトラッキングに依存しており、HTTPS + カスタムドメインをサポートしています。clickオブジェクトには、受信者のipAddressclick_ip_address)、timestampclick_timestamp)、userAgentclick_user_agent)、およびクリックされた完全なURLを含むlinkclick_link)が含まれます。

キャンペーントラッキングのためのcustom_event_idの活用

custom_event_id列は、個々のメールキャンペーンまたはジャーニーのパフォーマンスを追跡するために特別に設計されています。メールActivationを設定する際、キャンペーンの一意の識別子をCustom Event IDパラメータに入力できます。このIDはeventsテーブルに記録され、そのキャンペーン専用のパフォーマンスメトリクス(送信、配信、開封、クリック、バウンスなど)を簡単にフィルタリングして計算できるようになります。これは、Customer Journey Orchestration(CJO)経由でキャンペーンを実行する場合に特に有用です。

custom_event_idは基本的なキャンペーントラッキングを提供しますが、Output Column Mapping機能を使用することで、アクティベーションとジャーニーに関する追加のメタデータを取得できます。

Output Column Mappingによるメタデータ列の追加

概要

Output Column Mappingを使用すると、ジャーニーとアクティベーションのメタデータを追加の列としてメール配信イベントテーブルに追加できます。この機能は、ROIダッシュボードレポートや高度なキャンペーン分析に不可欠です。

利用可能なメタデータ列

配信イベントに以下のメタデータ列を追加できます:

列名説明
activation_idアクティベーション設定の一意の識別子(自動生成)
activation_nameアクティベーションの人間が読める名前。このフィールドは手動で入力するカスタム値を受け入れます。
journey_idカスタマージャーニーの一意の識別子。Journey Orchestrationワークフローからトリガーされた場合、String Builderで自動入力されます。その他のアクティベーションタイプでは手動で入力できます。ROIダッシュボードに必須。
journey_stage_idジャーニー内の特定のステージの識別子。このフィールドはカスタム値を受け入れ、String Builderで自動生成できません。

Output Column Mappingの設定方法

ステップ1:アクティベーション設定を開く

  1. Audience Studioに移動し、セグメントを選択します
  2. Activationに移動します
  3. Treasure Engageアクティベーションを作成または編集します

ステップ2:Output Column Mappingを設定する

  1. Output Column Mappingセクションまでスクロールします
  2. 含めたい各メタデータフィールドについて、Add Mappingをクリックします
  3. マッピングを設定します:
    • **activation_id**の場合:String Builderを使用して自動生成された値を選択します
    • **activation_name**の場合:カスタム値を手動で入力します
    • **journey_id**の場合:String Builderを使用してジャーニーIDを選択します(Journey Orchestrationアクティベーションで自動的に利用可能)、またはその他のアクティベーションタイプでは手動でカスタム値を入力します
    • **journey_stage_id**の場合:カスタム値を手動で入力します(String Builderは利用できません)
  4. 出力列名を入力します(一貫性のため、ソースと同じ名前を使用してください)
  5. 保存をクリックします

ステップ3:イベントテーブルで確認する

アクティベーションが実行されると、メタデータ列が標準の配信イベント列と一緒にdelivery_email_<your_domain>.eventsテーブルで利用可能になります。

メタデータ列のクエリ

activation_idjourney_idjourney_stage_id列はbase32エンコードされた文字列として保存されます。これらの列を人間が読める形式でクエリするには、from_base32()from_utf8()関数を使用してデコードします:

SELECT
  from_utf8(from_base32(activation_id)) AS activation_id_decoded,
  from_utf8(from_base32(journey_id)) AS journey_id_decoded,
  from_utf8(from_base32(journey_stage_id)) AS journey_stage_id_decoded,
  activation_name,
  email_template_id,
  event_type,
  to
FROM
  delivery_email_<your_domain>.events
WHERE
  TD_INTERVAL(time, '-1d', 'JST')

activation_name列はプレーンテキストで保存されており、デコードは不要です。

ユースケース:ROIダッシュボード

これらのメタデータ列により、Reporting Agentがメール配信イベントをジャーニーのパフォーマンスや収益データとリンクさせてROIレポートを生成できるようになります。詳細については、Report for Engageを参照してください。

ジャーニー固有のフィールド

journey_idjourney_stage_id列は、Journey Orchestrationワークフローからアクティベーションがトリガーされた場合にのみ入力されます。スタンドアロンアクティベーションの場合、これらのフィールドはNULLになります。