【第107回】 Journey Builder の Transactional 送信ジャーニーについて
Marketing Cloud の Journey Builder では、Transactional Messaging API を活用した Transactional 送信ジャーニーを利用することができます。このジャーニーを使用すると、トランザクションメールを迅速に送信できる上に、1 スーパーメッセージでの送信が可能という点も大きな魅力です。
従来のトリガー送信との違いやそのメリットやデメリットは以下をご確認ください。
また、トランザクションメールの特性上、購読者のステータスが「購読取り消し済み」の状態であっても送信されますので、利用には注意が必要です。また、この Transactional 送信ジャーニーは、コマーシャルメールへの変更はできません。
今回の記事では、REST API を使用します。過去の連載「Marketing Cloud REST API 超入門」の Part.1 と Part.2 で紹介した以下の 2 つが必要です。
■ Part.1 の REST ベース URL
■ Part.2 の アクセストークン
今回、以下のスコープがセットアップで選択されている必要があります。
■ CHANNELS - Email - Send
それでは、Journey Builder を使用して、Transactional 送信ジャーニーを設定し、トランザクションメールを送信する手順を見ていきましょう。
まずは専用のデータエクステンションを作成する必要がありますので Email Studio の「標準データエクステンションの作成」から「テンプレートから作成」を選択してください。

テンプレート一覧が表示されたら「TriggeredSendDataExtension」を選択します。名前を決めて「送信可能」にチェックを入れて作成して下さい。

「購読者キー」と「メールアドレス」はデフォルトです。追加で属性が必要な場合は項目を追加してください。下図の例では「氏名」(name)、「商品名」(product)、「価格」(price)の 3 つを作成しました。

続いて Journey Builder で Transactional 送信ジャーニーを選択します。

「エントリーソース」をクリックします。

任意の「イベント定義キー」を入力してください。このイベント定義キーは後ほど使用するのでメモしておいてください。
データエクステンションの選択をクリックし、先ほどテンプレートから作成した専用のデータエクステンションを選択してください。

データエクステンション選択後、「完了」をクリックします。

続いて、メールアクティビティを設定して「アクティブ化」ボタンをクリックしてください。これで Journey Builder 側の設定は完了です。

Journey Builder のアクティブ化が完了したら、Talend API Tester に移動します。新規リクエストを立ち上げて、以下の情報を入力してください。
--- メソッド
POST
--- エンドポイント
[REST ベース URL].rest.marketingcloudapis.com/messaging/v1/email/messages
--- ヘッダー
Content-Type:application/json
Authorization:Bearer [アクセストークン]
--- ボディ(サンプル)
{
"definitionKey": "[イベント定義キー]",
"recipients": [
{
"contactKey": "[購読者キー 1]",
"to": "[メールアドレス 1]",
"messageKey": "[メッセージキー 1]",
"attributes": { "name": "[名前 1]", "product": "[商品名 1]", "price":"[価格 1]"}
},
{
"contactKey": "[購読者キー 2]",
"to": "[メールアドレス 2]",
"messageKey": "[メッセージキー 2]",
"attributes": { "name": "[名前 2]", "product": "[商品名 2]", "price":"[価格 2]"}
} ]
}以下、入力の際の注意事項となります。大事なポイントになりますのでしっかりと把握してください。
■ すべての購読者に登録されていない購読者が contactKey で入力された場合は、すべての購読者に新規で購読者が登録されます。その際、to でメールアドレスが入力されていることが前提となります。
■ to(メールアドレス)の使用は任意です。to を使用しない場合、送信対象となる contactKey に入力された購読者がすべての購読者に登録されている必要があります。もしすべての購読者に登録されていない購読者である場合は、その購読者への送信は実行されません。
■ to で入力したメールアドレスがすべての購読者で管理されているメールアドレスと違う場合は、to 側に入力したメールアドレスで送信されます。
■ to(メールアドレス)を使用すると、すべての購読者へ入力したメールアドレスが上書きインポートされることになります。その際、List Detective が実行されます。これにより不正なドメインを持つ場合や「spam」などを含むメールアドレスを持つ購読者への送信は実行されなくなります。
■ messagekey の使用は任意です。messagekey を使用しない場合、ランダムな messagekey が自動的に生成されます。messagekey を使用する場合、その messagekey が過去に使用したものと重複してしまうとリクエスト全体がエラーとなりますので注意してください。
すべての情報を入力後、「送信」ボタンをクリックします。
今回のサンプルは、1 リクエストで 2 件分の購読者を含めるものとして作成してあります。1 リクエストには、最大で 2,000 件まで含めることが可能ですが、500 件以下に抑えることが推奨されています。

送信の結果、202 Accepted でレスポンスがあれば、リクエスト成功です。

今回入力したアクセストークン以外は、今後も Talend API Tester で使い回しができるので、必要に応じて保存してください。

作成した Journey Builder に戻り、エントリーソースのレコードカウントが「2」となっていることを確認します。

作成したデータエクステンションに値が格納されたことも確認します。

無事、送信されました。成功です。
いかがでしたでしょうか?
Transactional 送信ジャーニーの送信イメージは掴めましたでしょうか。
Transactional 送信ジャーニーでは、様々な制約事項がありますので、公式ヘルプより確認してみて下さい。
また、参考までに、Transactional 送信ジャーニーは、キャンバス上に送信結果が表示されませんし、Email Studio のトラッキング機能でもジャーニーの追跡ができません。(従来のトリガー送信ではトラッキング機能が有効になっています。)ではどうするかですが、以下のような対応が可能です。
①「ジャーニー分析」のボタンがキャンバスの右上に表示されるので、そこで最大 90 日分のカスタム日付を設置し、送信・開封・クリックのサマリーが確認できます。
② 各購読者ごとに調査したい場合は、データビューには含まれますので、ジャーニーアクティビティ ID を取得して検索をすることが可能です。
データビューにアクセスするサンプルクエリ
SELECT
s.SubscriberKey,
DateAdd(hh, 15, s.EventDate) AS EventDate
FROM
_Sent s
JOIN
_JourneyActivity ja
ON
s.TriggererSendDefinitionObjectID = ja.JourneyActivityObjectID
WHERE
ja.ActivityID = '642dcbea-7287-48d1-a3f3-0e9235170f5c'ジャーニーアクティビティ ID の取得方法については、以前に記事にしていますので、下記をご確認ください。

また、Marketing Cloud Connect を使用している場合、IER にデータは戻りません。この機能が必要な方は、以下の IdeaExchange への登録をお願いします。
今回は以上です。
