【第405回】 Marketing Cloud Next : データスペースフィルターの設定
Marketing Cloud Next Growth & Advanced Edition の運用を開始すると、データキットをインストールします。このタイミングで、CRM(取引先責任者・リード)のレコードが、データスペース内の DLO / DMO に自動的に取り込まれます。
ここで重要なのは、取り込み時点ではすべてのレコードが一度全量で取り込まれるという点です。このインストールの段階では、事前にデータを絞り込む(フィルタリングする)ことはできません。
そのため、マーケティングに不要なレコードを除外したい場合は、取り込み後にデータスペースフィルターを設定する必要があります。

データスペースフィルターとは
データスペースフィルターとは、CRM と Marketing Cloud Engagement との接続でお馴染みの Marketing Cloud Connect を利用した経験がある方であれば、イメージしやすい機能 です。
MCC と同様に、次のような条件で データスペースに挿入・可視化される対象を制御 できます。
メールアドレスを持つ人だけ をデータスペースへ挿入
指定日以降に作成されたレコードだけ を対象に含める
特定のブーリアン項目が TRUE の場合のみ 同期する
Data Cloud には Marketing Cloud Engagement のような「課金対象連絡先」という概念はありませんが、
“マーケティングで使用したくないレコードは除外したい”
というニーズは確実に存在します。
そのときに役立つのが、この データスペースフィルター です。
本記事では、このフィルターをどのように設定すればよいか、具体的な手順とポイント をわかりやすく解説します。
CRM 側の設定手順
まずは CRM 側で、連携対象のフラグとなる数式項目を作成します。
1. 対象オブジェクトで「数式項目」を新規作成
今回の例では、取引先責任者(Contact)を使用します。データ型で「数式」を選択します。

2. 項目名・データ型の設定
項目名:
Data Space Integration
→ 製品名が変わっても意味が変わらず、長期的に使える名称が推奨です数式のデータ型:
チェックボックス

今回行いたいことは、
❌ NG 条件に該当する → FALSE(チェックなし)
✅ NG 条件に該当しない → TRUE(チェックあり)
というロジックです。
3. NG 条件の定義
以下が今回の「NG 条件」です。
Email が NULL
Email Opt Out が TRUE
FirstName または LastName に SAMPLE を含む
FirstName または LastName に BLOCKED を含む
これらに該当しない場合だけ TRUE にしたいので、NOT(OR()) を使用します。
AND(
NOT(ISBLANK(Email)),
NOT(HasOptedOutOfEmail = TRUE),
NOT(
OR(
AND(
NOT(ISBLANK(FirstName)),
OR(
CONTAINS(UPPER(FirstName), "SAMPLE"),
CONTAINS(UPPER(FirstName), "BLOCKED")
)
),
AND(
NOT(ISBLANK(LastName)),
OR(
CONTAINS(UPPER(LastName), "SAMPLE"),
CONTAINS(UPPER(LastName), "BLOCKED")
)
)
)
)
)
✔︎ この数式のポイント
OR() で「NG 条件」をまとめる
NOT() で反転させて「OK の人だけ TRUE」にする
4. 項目レベルセキュリティの設定
アクセス権を設定して 次へ をクリック。

5. 動的フォーム対応の設定
動的フォーム対応ページに追加する設定は、デフォルトのままで問題ありません。

6. ページレイアウトへの配置
これは任意ですが、今回はページに表示することにします。

7. 実際のレコードで確認
完成後、実際の取引先責任者レコードを確認すると、
SAMPLE / BLOCKED を名前に含む
Email が無い
Email Opt Out が TRUE
上記のような条件に該当するレコードは、
Data Space Integration が未チェック であることが確認できます。

Data Cloud 側の設定手順
まず、上で作った Data Space Integration を データストリームで項目取得してください。ここでデータストリームのフルリフレッシュが発生して、最新の値(True / Flase)が取得されます。
1. 現状のデータを確認
フルリフレッシュ後に、Data Cloud のデータエクスプローラーを見ると、この時点では、まだフィルターの設定をしていないので、
SAMPLE / BLOCKED を含むレコード
Email が空のレコード
などは、そのまま存在していることが分かります。

2. データスペースフィルターの設定
次に「データスペース」タブから、Contact_Home(取引先責任者)を見つけて、アクションボタンをクリックして、Set Filters をクリックします。

Tips:Marketing Cloud Engagement のデータエクステンションのデータスペースフィルターもこの画面から設定できます。
3. フィルター条件を設定
ここでフィルター条件を設定しますが、今回は連携対象にする条件として「Data Space Integration = True」を入力して保存します。

注意:条件ロジックとしては AND または OR のどちらか一つが利用でき、AND または OR を組み合わせた条件ロジックは利用できません。

4. フィルター結果の確認
保存すると、すでに連携済みのデータに対して、即座(1 分以内くらい)に適用され、データエクスプローラー上の表示も即反映されます。
以下の図の通り、
SAMPLE / BLOCKED を含む人
Email が無い人
が データスペースに含まれなくなった ことが確認できます。

5. Marketing Cloud Next への影響
Marketing Cloud Next では、
セグメント
ID 解決
データグラフ
など、あらゆる処理で「データスペース」が参照されていますので、今回の設定により、不要な取引先責任者はデータスペースから除外され、次回以降の対象外 になります。

いかがでしたでしょうか。
今回設定したフィルターは「Data Cloud に連携されるレコード自体を除外するもの」ではなく、あくまで データスペース内で、可視化され、利用可能な対象を制限しているに過ぎません。
そのため、データストリームで取り込まれる 総レコード数自体は変化しませんので注意してください。
データストリームの「連携済み件数」が減らないからといって、悩む必要はありません。ここはフィルターの設定とは無関係で、データストリームの全数が変動しないのは仕様です。
CRM の更新が差分連携されるまでの時間
先ほど、既存データに対するデータフィルターは即時に反映されることをお伝えしましたが、多くの方が気になるのが 「CRM でフラグを更新してから Data Cloud に反映されるまでの時間」 だと思います。
現在は、約 10 分おきに差分連携 が実行されています。
実際には内部処理の状況にも左右されるため、体感としてはおおむね 15 分程度 で反映されるイメージです。
Marketing Cloud Connect とほぼ同じ感覚なので、覚えやすいですね。
重要なポイント
そして、データスペースに最新の状態でレコードが連携されるのは、次のいずれかのパターンなので、覚えておいてください。
差分連携されるケース
CRM 側で、最終更新日時(LastModifiedDate)(※下図の日時)が変更される形でレコードが編集されたとき
※ より正確には、SystemModStamp の日時が変更された場合に検知されます。LastModifiedDate:人が変更した日時
SystemModStamp:人 or システムが変更した日時
※ SystemModStamp と LastModifiedDate の違いの詳細は、Salesforce の公式ヘルプをご確認ください。LastModifiedDate が変更されている場合は、SystemModStamp も変更されています。

全件連携されるケース
自動的に実行される 完全置換(フルリフレッシュ) のタイミング
データストリームに CRM の新しい項目を追加 したタイミング
データストリームで 手動の「一括更新(「今すぐ更新」の Full Refresh)」を実行したとき

つまり、CRM の最新状態が常に自動で完全同期され続けるわけではない という点には注意が必要です。
特に、数式項目の値が変わっていても、最終更新日時が更新されないケース では、データスペース側に反映されません。
運用時には、この挙動を必ず意識しておきましょう。
参考:数式で値が変わっても、最終更新日時が更新されない例
例 1.「関連オブジェクトの項目更新により、レコードの数式項目が更新される」ケース
例えば、商談(Opportunity)と取引先(Account)の関係 において、
商談オブジェクトに数式項目 Account_Industry__c を作成し、関連する取引先の「業種」フィールドを参照します。数式:TEXT(Account.Industry)
取引先(Account)の「業種」フィールドを変更すると、商談(Opportunity)の数式項目の値が変わります。
この時、取引先の「最終更新日」は変更されて「業種」が連携されますが、商談の「最終更新日」は変更されず、「業種」が連携されません。
例 2. 取引先責任者の 誕生日を元に「年齢」を計算 しているケース
誕生日の「月日」は、カレンダーが進むと自動的にやってくるわけですが、誕生日当日に取引先責任者のレコードに更新がかかって、「年齢」が計算されるわけではありません。よって「最終更新日」は変更されないので、Data Cloud に最新の値として連携されません。
今回は以上です。
