見出し画像

【第155回】 データエクステンションや自動連絡禁止リストからのレコードの削除方法

Salesforce Marketing Cloud において、データエクステンションから一部のレコードを部分的に削除したい場合は、どのように対処すべきでしょうか?

例えば、データエクステンションに格納されているレコードを一度すべてエクスポートして、該当のレコードだけを削除して、再度インポートし直すという方法もあるかと思います。

但し、セキュリティ上、個人情報が含まれるデータのため、ローカル環境にエクスポートできない場合や、自動連絡禁止リストのようにそもそもエクスポートができない場合もあります

このような場合は、Automation Studio のスクリプトアクティビティを用いて、データエクステンションから部分的にレコードを削除することを検討できます。

以下で、単数レコードを削除する場合と、複数レコードを削除する場合に分けて検討してみましょう。


■ 単数レコードの削除

レコードの削除を実行するには、以下の DeleteData という関数を使用します。

以下のスクリプトに「データエクステンション名」「項目名」「値」を記載して、Automation Studio でスクリプトアクティビティを 1 回実行してください。

<script runat="server">
 var rows = Platform.Function.DeleteData('データエクステンション名',['項目名'],['値']);
</script>

・「データエクステンション名」「項目名」「値」は、日本語でも問題ありません。また、大文字・小文字も区別しません。
・ 1 回の呼び出しに複数の「項目名」と「値」のペアを含めることができますが、仮に単数であっても [ ] は削除しないで下さい。

ちなみに、自動連絡禁止リストはデータエクステンションの扱いのため、上記のスクリプトで処理が可能です。自動連絡禁止リストは、購読者キー管理では無く、メールアドレス管理になっています。メールアドレスを指定する際は、以下のような形になります。

<script runat="server">
 var rows = Platform.Function.DeleteData('自動連絡禁止リスト名',['Email Address'],['xxx@gmail.com']);
</script>

・ Email と Address の間にスペースを設けてください。


■ 複数レコードの一括削除

それでは、複数のレコードをまとめて消したい場合はどうすれば良いでしょうか?

このような場合は、削除用のブール値の項目を設けて、削除対象のレコードに「True」を持たせ、その項目が「True」の場合に削除するという方法を採用することができます。

まず、以下のようなデータエクステンションがあるとして、削除のために「DeleteFlag」のようなブーリアンの項目を設けます。

ここで「奇数の ID」のものだけを削除する目的で、フラグを更新するためのインポート用の CSV を用意して、先ほどのデータエクステンションにインポートしましょう。

下記の通り、インポートが完了しました。

こちらのデータエクステンション(「DeleteExtension」)に対して、以下のようなスクリプトを実行します。

<script runat="server">
 var rows = Platform.Function.DeleteData('DeleteExtension',['DeleteFlag'],['True']);
</script>

すると、データエクステンションの中身から、奇数の ID であるものが削除されましたね。成功です。


ちなみに、自動連絡禁止リストに対しても「フィールドの追加」は可能です。まず、上記と同様にブーリアンの項目を追加してください。(その際、デフォルトで「False」の値を持たせても良いと思います。)

その後、Automation Studio のインポートアクティビティで Email Address をキーにして、True の値をインポートします。これにより上記と同じ方法で削除が可能です。

インポートの際は、Email Address の他、Date Added も必須項目になっていますので、インポート用の CSV を作成する時は注意してください。

<script runat="server">
 var rows = Platform.Function.DeleteData('自動連絡禁止リスト名',['Flag'],['True']);
</script>

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

この方法を知ることで、より一層、データエクステンション内のレコードを柔軟にコントロールすることができるようになりましたね。是非活用してみてください。

今回は以上です。


Click here for English version

次の記事はこちら

前回の記事はこちら

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

この記事が気に入ったらサポートをしてみませんか?