メインコンテンツへスキップ
見出し画像
Photo byakisuke0925

【第451回】 トランザクション送信の照合:保証された送信状況レポート

    Nobuyuki Watanabe

    Marketing Cloud Engagement の Summer ’25 新機能リリース では、新しい 「Sendable Reconcilable Data Extension」データエクステンションテンプレート が導入されました。

    これにより、注文確認や発送通知などの トランザクションメールや SMS の送信結果(送信済み/送信不可)を追跡・記録 できるようになりました。

    送信状況は、最大 72 時間までの任意の時間枠を指定して、新しいデータビュー 「Reconcilable Disposition(_ReconcilableDispositionView)」 に保存されます。

    この機能を活用することで、メッセージ配信の成否をより正確に把握し、配信監視やトラブルシューティング、再送制御などの運用を強化できます。

    注意:この機能は Summer ’25 でリリースされ、過去約半年間、トランザクションメールの UI には表示されていたにもかかわらず実際には動作していませんでしたが、ようやく正式に利用可能となりました。

    画像

    72 時間の時間枠の活用例

    時間枠は、ビジネスプロセスのニーズに合わせて、1 時間 ~ 72 時間の枠で選択できます。

    • 例えば、注文確認メールのように 送信直後の配信状況を確認し、未配信であれば別チャネルで通知する といった、即時性が重視されるビジネスプロセスでは、時間間隔を短く設定します。

    • 一方で、週次・月次のレポート作成や、規制報告に向けた一定期間のデータ集計 など、即時性がそれほど求められない用途では、より長い時間間隔を設定することが可能です。

    この機能がサポートされる送信方法

    機能利用時の考慮事項

    画像
    • 「メッセージ設定」で送信分類を「トランザクション」にすることで、「配信オプション」のセクションに「Transactional Reconciliation」の設定画面が表示されます。

    • 「配信オプション」のセクションで、各メールアクティビティごとに、「Transactional Reconciliation」を有効化することができます。

    • デフォルトの時間枠は 12 時間です。これにより、配信後 12 時間以内にデータビューに保存されます。

    • 時間枠内にメッセージの処理が完了していない場合は、メッセージは期限切れとしてマークされ、指定期間を過ぎた配信が防止されます。

    • Journey Builder 送信の場合は、ハイスループット送信(HTS)を有効化してください。(※ Hyperforce 環境で HTS は利用できません。)

    • 送信された MessageKey については、Sendable Reconcilable Data Extension テンプレート内に自動的に追加されます。空白のまま送信した場合は、送信時にシステムによって MessageKey が生成されます。

    • MessageKey 値は 72 時間、一意の値が保持されます。何らかの問題により Salesforce にメッセージが複数回送信された場合、Salesforce はそれらを 1 回だけ送信します。

    重要:Transactional 送信ジャーニーでは、仕様上 Sendable Reconcilable Data Extension は選択できません。そのため、データエクステンションは Triggered Send Data Extension テンプレートから作成してください。このテンプレートを使用しても、トランザクション送信の仕組み自体は問題なく動作します。

    なお、Triggered Send Data Extension では messageKey 項目の作成は必須ではありません。もし messageKey をデータエクステンションに保持したい場合は、attributes 側にも messageKey を含めて定義してください。

    --- Transactional 送信ジャーニーの例
    
    {
      "definitionKey": "reservation_api",
      "recipients": [
        {
          "contactKey": "BOR501",
          "messageKey": "reservation_202602200001",
          "to": "n.watanabe@nac-plus.co.jp",
          "attributes": {
            "CustomerName": "Nobuyuki Watanabe",
            "ReservationDate": "2026-02-20T19:00:00",
            "StoreName": "NAC-Plus Shibuya",
            "MessageKey": "reservation_202602200001"
          }
        }
      ]
    }

    Reconcilable Disposition データビュー

    このデータビューを利用すると、

    ✅ 本当に送信されたか
    ✅ キューに入っただけか
    ✅ エラーで送信失敗したか
    ✅ 失敗理由(エラーコード・内容)⇒ 例:必須項目に値が無かったなど

    といった 配信の最終ステータス(Disposition)を購読者単位で確認 できます。

    どこで使える?

    Automation Studio の Query Activity から利用できます。

    画像
    SELECT
        JobId,
        Channel,
        Disposition,
        MessageKey,
        SubscriberKey,
        SubscriberId,
        ErrorCodeId,
        ErrorName,
        StartTime
    FROM _ReconcilableDispositionView

    ⚠ 注意点

    • 保存期間は 7 日間のみ

    • 長期保存したい場合はデータエクステンションへ退避が必要です。
      → ログ保存の自動化を推奨します。

    ※ 現時点では、ErrorDescription は エラーで返されるため、上のクエリから除外してあります。


    取得できる情報

    ① JobId

    送信ジョブの識別子。
    どの Send Job に属するかを判別できます。


    ② Channel(配信チャネル)

    どのチャネルで送信されたかを示します。

    • 0 = Email

    • 1 = SMS

    通常のメール配信確認では 0(Email) が入ります。


    ③ Disposition(配信ステータス)

    各購読者ごとの最終結果であり、これが最も重要な項目です。

    • 0 = Queued(キュー待ち)

    • 1 = Sent(送信成功)

    • 2 = NotSent(送信失敗)

    活用例

    • Sent のみ抽出 → 実配信数確認ができます。

    • NotSent 抽出 → エラー分析ができます。


    ④ MessageKey

    顧客側システムと突合するためのキーです。
    API 送信時やトリガー送信時に指定可能で、

    Marketing Cloud の結果 = 自社システムの送信ログ

    を 正確に照合(Reconcile) できます。
    外部システム連携では非常に重要な項目です。


    ⑤ SubscriberKey

    顧客側で定義している購読者キーです。
    通常の送信分析や既存データ拡張子との JOIN に使用します。


    ⑥ SubscriberId

    Marketing Cloud 内部のユニーク ID です。
    ⚠ 無効な購読者の場合は NULL になることがあります。


    ⑦ ErrorCodeId / ErrorName / ErrorDescription

    送信失敗時の詳細情報で、NotSent の場合に値が入ります。

    例

    • 無効メールアドレス

    • 抑制(Suppression)

    • バウンス

    • システムエラー

    トラブルシューティングや配信品質改善に役立ちます。


    ⑧ StartTime

    送信開始時刻です。
    送信方法によって意味が変わります。

    • データエクステンション送信の場合
      → ジョブがスケジュール開始された時間

    • API 送信の場合
      → API が受信した時間

    リアルタイム送信のタイミング確認に便利です。


    データエクステンションの作成方法

    1. 新規の送信可能データエクステンションの作成方法で「テンプレートから作成」を選択します。

    画像

    2. 「Sendable Reconcilable Data Extension」を選択します。

    画像

    3. SubscriberKey と MessageKey がデフォルトで準備されていますが、それ以外は通常のトランザクションメールで利用する項目を用意します。

    画像

    ※ このデータエクステンションがエントリーソースとして利用されます。


    いかがでしたでしょうか。

    この新しいデータビュー(_ ReconcilableDispositionView)は、「本当に送れたか?」を 購読者単位で保証する公式ログ です。

    特に以下のケースでは、今後必須になりそうです。

    • トランザクションメール

    • API 送信

    • 外部システム連携

    • 配信監査

    • 送信エラー分析

    通常の _Sent データビューよりも「結果保証・突合用途」に強いデータビュー と覚えておくと分かりやすいですね。

    最後に Marketing Cloud の専門家である Lukas Lunow さんの指摘によると

    確かに、この新しいデータビューでは送信が成功したことは分かるようになるが、メッセージが実際に受信トレイに届いたかどうかは分からず、スパムフィルターで黙って拒否されたり、迷惑メールフォルダに振り分けられたり、あるいは完全に消えてしまう可能性もあることに注意してください。

    と仰っていました。確かにそうですよね。大事な洞察を頂きました。

    今回は以上です。


    次の記事はこちら

    前回の記事はこちら

    私の note のトップページはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。