【第144回】 Journey Builder の連絡先の更新アクティビティの使い方
Salesforce Marketing Cloud には Journey Builder で使える「連絡先の更新」というアクティビティがあります。今回、このアクティビティの使い方についてまとめておきたいと思います。
■ 連絡先の更新 - 公式ヘルプドキュメント
この「連絡先の更新」アクティビティを使うと、ジャーニー上で連絡先がこのアクティビティに到達したときに、特定の値(静的な値 or 動的な値)でデータエクステンション内の値を更新することができます。
この更新方法については、ターゲットとなるデータエクステンションの中にすでに連絡先がいる場合は、上書き更新されます。もし該当の連絡先がいない場合は、新規でレコードが追加がされる仕組みになっています。
そして、ターゲットとなるデータエクステンションは「送信可能データエクステンション」であることが重要です。もし「送信可能データエクステンション」でなければ、ターゲットとして選択するときに表示がなされません。
また「連絡先の更新」アクティビティを使用して連絡先をターゲットとなるデータエクステンションに新規で追加する場合は、すべての必須フィールド値を含めないと連絡先は追加されませんので注意して下さい。
それでは、以上を踏まえて、設定の手順を確認してみましょう。
■「静的な値」で更新する場合
以下のように、エントリーソース用のデータエクステンションを構成しました。
後ほど、以下の「最終購入商品」の項目を使って、ジャーニーに判断分岐を設け、パスの分岐をしたいと思います。
続いて、ターゲットとなるデータエクステンションを作成します。今回、どのパスを通過したのかを識別する「Path」という項目を設けました。また、前述の通り「送信可能」でデータエクステンションを作成し、「送信リレーションシップ」の設定も行います。
データエクステンションの設定が一通り完成したら、ジャーニーにて「最終購入商品」が「Apple PC」の場合は上側のパスを通り、「Windows PC」の場合は下側のパスを通るように「判断分岐」を構成します。
最後に、「連絡先の更新」アクティビティを配置して、格納先として、先ほど作成したターゲットとなるデータエクステンションを選択したら、左の属性の欄に「Path」を選択し、右の値の欄に「1」を入力します。この「1」が「静的な値」となります。
同様に、下側の「連絡先の更新」アクティビティには「2」を入力します。
以上、「連絡先の更新」アクティビティの設定が完了したら、ジャーニーをアクテイブ化して、連絡先を流します。
連絡先が流れた後、ターゲットとなるデータエクステンションを確認しに行くと、下記のように「Path」に「1」か「2」の値が入っていました。
ダミーのレコードとして作成していた AOR501 には「Path」に「XXX」が入っていましたが、そちらは上書き更新されて「1」となっており、連絡先レコードが存在しなかった AOR502 と AOR503 は、新規でレコードが追加されて、それぞれのパスが記載されていることが確認できます。
以上が「静的な値」で更新する場合の説明になります。
続いて、エントリーソースとなるデータエクステンションのエントリー時の値(「ジャーニーデータ」と呼ばれるもの)を動的に入力したり、「連絡先データ」と呼ばれるリアルタイムデータを動的に入力することも可能ですので、そちらの説明をしたいと思います。
■「ジャーニーデータ」で更新する場合
この入力方法は、標準の「パーソナライズ文字列」が使用できませんので、下記のような入力を行います。こちらは、エントリーソースが「データエクステンション」の場合の例であり、「API」などの場合は異なります。
この「イベント定義キー」は探し出すのが少しだけ面倒です。以下のような方法で探し出して下さい。
ジャーニーキャンバス上で少なくとも、エントリーソースとなるデータエクステンションだけは設定して下さい。次に、そのジャーニーキャンバス上で右クリックをして、ブラウザの「検証」の機能を呼び出し「開発者コンソール」を開きます。この画面が開いたら「Ctrl + F」を押して「Search」を呼び出し「Event.DEAudience」と入力して検索を実行します。すると、下記のように検索された箇所にマークがされるので、その上にカーソルを持ってきて、右クリックをして、要素をコピーしてください。
このコピーしたものをメモ帳などに貼り付けると、以下のようなコードが貼り付けされます。そこに「イベント定義キー」の記載がありますので、その値を使用します。
<li data-value="{{Event.DEAudience-9b897ef4-f37a-ce4d-9468-ac8e01c5a1ee."Email"}}" data-selected="true"><a href="#">Email</a></li>
「イベント定義キー」取得後は、「静的な値」の時と同様に「連絡先の更新」アクティビティを構成します。今回は、取得される値がパーソナライズされる前提となるので、判断分岐は設けていません。
ここで「連絡先の更新」アクティビティの属性の欄に、以下の値を入力し、エントリーソースに格納されている各連絡先の「Last_Purchase_Product」の値をターゲットとなるデータエクステンション側に返してみます。
{{Event.DEAudience-9b897ef4-f37a-ce4d-9468-ac8e01c5a1ee."Last_Purchase_Product"}}
設定が完了したら、ジャーニーをアクテイブ化して連絡先を流します。
すると、以下のように、エントリーソース内で各連絡先が持っていた「Last_Purchase_Product」の値が入力されたことが分かります。
■「連絡先データ」で更新する場合
最後に、リアルタイムデータとなる「連絡先データ」を使用する場合は、以下のような形になります。
これを行うには、事前に Contact Builder のデータデザイナーでリンクを作成する必要がありますので、まずはデータデザイナーでデータエクステンションのリンクの処理を行って下さい。このリンクの処理を忘れますと、すべて空の値が返されてしまいます。
ここで注意をすべきは(ジャーニーデータであれば、エントリーソースとなっているデータエクステンションの項目から「Id」を探しに行くため、当然にすべての連絡先キーをマッチングさせることができるわけですが・・・)連絡先データの場合は、同じ連絡先キーを持つレコードが必ずしも存在するとは限りません。さらには「1 : N」のデータであれば、複数のレコードがマッチングする可能性もあります。
故に、レコードが存在しない場合は、空の値が入力されます。そして、複数のレコードがマッチングするような場合は、最初にマッチングしたレコードの値が入力されます。このルールに注意して下さい。
ここで、以下のように処理を行い、検証したいと思います。
連絡先データを取得するためのデータエクステンションとして、以下のようなデータエクステンションを作成します。
そして、先ほども述べた通り、データデザイナーでデータエクステンションをリンクします。
ここまで完了しましたら、先ほどと同様に「連絡先の更新」アクティビティを構成します。今回も値自体がパーソナライズされる前提となるため、判断分岐は設けません。
こちらは「イベント定義キー」を使う必要はありませんので、以下の値を入力し、連絡先データとして格納されている各連絡先の「Purchase_Product」の値をターゲットとなるデータエクステンション側に返します。
{{Contact.Attribute."PurchaseData"."Purchase_Product"}}
設定が完了したら、ジャーニーをアクテイブ化して連絡先を流します。
すると以下のように、連絡先データとして、各連絡先が持っていた「Purchase_Product」の値が入力されたことが確認できます。
先ほどの検証の内容も、想定どおりになっているかと思います。
いかがでしたでしょうか?
「連絡先の更新」アクティビティを使用するほとんどのケースでは、前半で説明した「静的な値」の方を用いるとは思うのですが、各連絡先ごとに「動的な値」を入力したいというアイデアが思い浮かんだ方は、後半で説明した「動的な値」の方についても試してみて下さい。
今回の記事が、少し内容が多くて読むのが大変だった・・・・という方は、Mai Yamashita さんの記事の方が簡潔に書かれていますので、そちらも参考にして下さい。
今回は以上です。
Click here for English version
次の記事はこちら
前回の記事はこちら
私の note のトップページはこちら
この記事が気に入ったらサポートをしてみませんか?