【第69回】 Marketing Cloud の除外スクリプトについて
Salesforce Marketing Cloud における 除外スクリプトとは、あるメールの設定時に特定のスクリプトを記述しておくことで、配信対象から特定の購読者を除外しメールが送信されないようにする機能です。
以下の箇所で、除外スクリプトを設定します。

除外スクリプトを使って連絡先を除外する場合、除外される購読者の数が、事前に何人になるかは分からないので、何となく使うのに躊躇しますよね。
もし設定を間違えて全員に配信されてしまったらどうしようとか、逆に全員が除外されてしまって誰にも配信されなかったらどうしようとか、考えてしまってなかなか使用に踏み切れない方も多いのではないでしょうか?
送信パフォーマンスという意味においても、除外スクリプトの処理が入ることで、処理に時間を要しますので、大量配信の際は除外スクリプトは使用せず、事前にフィルターや SQL を使用して配信リスト自体から除外しておくのがベストプラクティスとなります。
それでは、除外スクリプトが必要な場面で正しく使用できるように、その内容を見てみましょう。
■ スクリプトの式の結果 True と False で評価されるものである必要がある
■ スクリプトの式の結果 True であったものが送信されない
また、以下のポイントも押さえて下さい。
■ %%[ ]%%、%%= =%% の記載は不要
■ 等号では「 = 」ではなく「 == 」を使用する
■ 「 OR 」を使用して、式を連ねることは可能
■ ジャーニー上では送信が成功したように見える(Successes で表示)
■ トラッキング、標準レポート、データビュー、インテリジェンスレポート上では、送信数としてカウントされない
■ Extract Not Sent の理由は Excluded by Send Time Filter と表示される
■ 「メールアドレスがないこと」や「List Detective」の評価が終わった後に評価される(※強制退出が先に実施されます)
除外スクリプトの代表的なものを見てみましょう。
Competitor
Competitor というブーリアン項目が True の人には送信されない
Point < 500
現在の保有ポイントが 500 より少ない人には送信されない
※ Point は数字型
Empty(LastName)
姓が Null の人には送信されない
※ Empty は引数がテキスト型のときのみ使用可能
Domain(emailaddr) == 'gmail.com'
メールアドレスのドメインが gmail.com の人には送信されない
Domain(emailaddr) != 'gmail.com'
メールアドレスのドメインが gmail.com の人だけに送信される
FormatDate(SystemDateToLocalDate(Now()),'MMMM d, yyyy') > end_date
end_date に入っている日付が、将来の日付の人のみ送信される
FormatDate(SystemDateToLocalDate(Now()),'YYYYMMDD') >= '20240101'
2024年1月1日以降、そのメールアクティビティからは誰も送信されない
Format(SystemDateToLocalDate(Now()),'ddd') == 'Sat'
OR
Format(SystemDateToLocalDate(Now()),'ddd') == 'Sun'
土日には送信されない
RowCount(LookupRows('SuppressionDE','email',emailaddr)) > 0
「SuppressionDE」というデータエクステンションの email 項目中に、宛先のメールアドレスと同じメールアドレスがあった場合は送信されない
RowCount(LookupRows('SuppressionDE','id',_subscriberkey)) > 0「SuppressionDE」というデータエクステンションの id 項目中に、配信で使用している購読者キーがあった場合は送信されない
emailaddr == 'abc@gmail.com'
abc@gmail.com宛には送信されない
(すべての購読者のメールアドレスを使用する。一般的はこちらを使用)
email == 'abc@gmail.com'
abc@gmail.com宛には送信されない
(ジャーニーデータのメールアドレス項目 email を使用する)
前述の通り、この除外スクリプトに関しては、送信されるまで「除外されるか」「除外されないか」の結果は分かりません。また、除外スクリプトの記述ミスによるコンパイルエラーにより、配信が強制停止することもあります。そのため、実装時は、皆さんの環境で入念なテストしてから使用するようにしてください。
今回は以上です。
