見出し画像

【第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)」を実行したとき

(手動の Full Refresh 機能は、2025 年 11 月 の Data Cloud 新機能)

つまり、CRM の最新状態が常に自動で完全同期され続けるわけではない という点には注意が必要です。

特に、数式項目の値が変わっていても、最終更新日時が更新されないケース では、データスペース側に反映されません。

運用時には、この挙動を必ず意識しておきましょう。


参考:数式で値が変わっても、最終更新日時が更新されない例

  • 例 1.「関連オブジェクトの項目更新により、レコードの数式項目が更新される」ケース

例えば、商談(Opportunity)と取引先(Account)の関係 において、

  1. 商談オブジェクトに数式項目 Account_Industry__c を作成し、関連する取引先の「業種」フィールドを参照します。数式:TEXT(Account.Industry)

  2. 取引先(Account)の「業種」フィールドを変更すると、商談(Opportunity)の数式項目の値が変わります。

  3. この時、取引先の「最終更新日」は変更されて「業種」が連携されますが、商談の「最終更新日」は変更されず、「業種」が連携されません。

  • 例 2. 取引先責任者の 誕生日を元に「年齢」を計算 しているケース

誕生日の「月日」は、カレンダーが進むと自動的にやってくるわけですが、誕生日当日に取引先責任者のレコードに更新がかかって、「年齢」が計算されるわけではありません。よって「最終更新日」は変更されないので、Data Cloud に最新の値として連携されません。

今回は以上です。


次の記事はこちら

前回の記事はこちら

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