【第82回】 すべての連絡先の中にあるすべての Contact Key をデータエクステンションに格納する方法
すべての連絡先の中にあるすべての Contact Key をデータエクステンションに格納してみたいと思ったことはありませんか?
Contact Key をデータエクステンションへ格納後のユースケースとしては、例えば「すべての連絡先にはいるが、すべての購読者にいない人は誰であるか?」を知りたいときに SQL を使って抽出できそうですよね。今回はそれを実現するための「すべての Contact Key をデータエクステンションへ格納する方法」のご紹介です。
今回の記事は Salesforce のナレッジにも英語で掲載させて頂きました。下記のリンクになります。
この記事が「役に立った!」と思ったら、英語版ナレッジ記事の最下部にある Feedback で 「Yes」でお応えください。投票は無記名です。
コメントは私の方では見れません。無しでも、適当な内容でも結構です。「Yes」押下後「Submit」 を押してください。
(投票にご対応頂いた方へ、事前に)
ありがとうございます!励みになります!
さて、本題に戻ります。方法としては非常に簡単です。Contact Builder で GroupConnect のフィルター済みモバイルリストを作成すると、自動的にデータエクステンションが作成される仕組みになっています。モバイルリストの作成に不慣れな方のために図を交えて作成の手順を追ってみます。
まず Contact Builder の「すべての連絡先」のタブに進みます。すると画面の左上に「モバイルリスト」タブがありますので、そちらに進んで「モバイルリストの作成」ボタンをクリックしてください。

すると、下記のような「リスト作成」の画面が表示されますので、チャネルの選択で GroupConnect を選択してください。この GroupConnect とは LINE 配信用のリストを意味しますが、この GroupConnect のモバイルリストだけが、データエクステンションとして作成されるようになっています。
※ MobileConnect(SMS 配信用のリスト)や MobilePush(アプリプッシュ用のリスト)などのモバイルリストもそれ自体は作成できますが、それらを作成してもデータエクステンションは作成されません。
チャネルの選択後は「フィルター済みリスト」のラジオボタンを選択してください。

続いて「フィルター条件」の設定画面になりますが、左側の属性ライブラリより System Data > Contact と選択したら Contact ID をドラッグアンドドロップします。設定条件としては「Contact ID 値あり」にします。これで、すべての連絡先が抽出される設定がされました。

次に「フィルターとして保存」をクリックすると、このリストの名前を決める形になります。これがデータエクステンションの名前になります。今回は「AllContacts」とします。形式は「標準」のままで大丈夫です。

最後に「保存」ボタンを押しますと、フィルター済みモバイルリストが完成します。私の環境は、デモ環境なので 349名と少なめです。

さて、これが、どこでデータエクステンションとして作成されているかと言いますと、Email Studio でも Contact Builder でも良いのですが、データエクステンションの一覧の中にある「オーディエンス」(Audiences)というフォルダに格納されています。

このデータエクステンションのレコードを開いてみますと、一番左側に Contact Key(SubscriberKey と表記)がいますね。もちろん、このデータエクステンションは CSV ファイル でのエクスポートも可能です。

また今回は「すべての Contact Key」を抽出しましたが、モバイルリスト作成時のフィルターの条件を変えれば、その変えたなりの条件でデータエクステンションが作成されます。例えば「Einstein MC Predictive Scores」のデータなども条件として使用可能です。必要に応じた活用をしてみて下さい。

なお、今回のユースケースで紹介した「すべての連絡先にはいるが、すべての購読者にいない人は誰であるか?」は、以下の SQL で抽出できます。
SELECT a.Subscriberkey
FROM AllContacts a
LEFT OUTER JOIN _Subscribers b on a.Subscriberkey = b.Subscriberkey
WHERE b.Subscriberkey IS NULL余談となりますが、Contact Builder で表示されるすべての連絡先の数と上記の方法でモバイルリストを使って抽出された連絡先の数が微妙にずれる場合があります。これはどのようなケースかと言いますと、例えば Journey Builder のジャーニーのテストでテストメッセージを送信していた場合です。

この機能を使用してテストメッセージを送信してしまうと、そのテスト送信のテストユーザーとして選択された連絡先が新たに課金対象連絡先となり、下記の図の様に重複してしまいます。同じ連絡先が作られたのが分かると思います。

このテストメッセージを送信したことで作成された課金対象連絡先は、ソースの Integration にまとめて格納されます。なお、これらの連絡先を画面から一括削除しようとすると、通常の連絡先削除と同じように、送信可能データエクステンションからはすべて連絡先が削除されてしまいます。連絡先の削除時は、その点に注意して行って下さい。

私の顧客には Journey Builder のジャーニーのテストでテストメッセージを送信すると、余計な課金対象連絡先が増えてしまうので極力対応しないように注意をしています。このような連絡先の重複の例は、他にもあります。それはまた別の機会に・・・。
今回は以上です。
2023年8月4日 追記:本国の Salesforce for Success Newsletter August 2023 でも記事を取り上げて頂けました。感謝!
