メインコンテンツへスキップ
見出し画像
Photo bymysterion_note

【第405回】 Marketing Cloud Next : データスペースフィルターの設定

    Nobuyuki Watanabe

    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 のトップページはこちら


     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。