【第407回】 Data Cloud : セグメント演算子の解説
Data Cloud では、セグメントのキャンバスに属性をドラッグすると、データ型に応じて「演算子(オペレーター)」を選択できます。これらを正確に理解することで、オーディエンスを精密に絞り込むことが可能になります。

演算子は、以下の 4 種類に分類されます。
日付(Date / DateTime)
数値(Numeric)
テキスト(Text)
ブール値(Boolean)
この記事では、それぞれの演算子がどう機能するのかを解説します。
日付(Date / DateTime)演算子
日付型属性に使用できる演算子です。
重要:このセグメントの画面では「タイムゾーン変換後」の日時データが利用されます。そのため、Salesforce 組織で設定されているタイムゾーンが適用されています。
小話:少し背景を説明すると、Data Cloud では取り込んだ日時データをいったんすべて UTC タイムゾーンに変換して保存しています。内部的には UTC で保持されていますが、そのままだと扱いにくいため、画面に表示する際に組織のタイムゾーンへ再変換(例:UTC → JST の場合は +9 時間)して表示しています。
セグメント画面やセグメントのプレビュー画面でも、このタイムゾーン変換後(例:JST)の日時を基準に動作するという話になります。
一方で、タイムゾーン変換が適用されない(取り込んだデータのまま表示される)代表例としては以下が挙げられます。
- クエリエディターで日時項目をクエリで実行した場合
- データグラフでコンテンツに日時を表示する場合
これらでは UTC のままの値、つまり日本時間より 9 時間前の取り込まれた時刻で表示されますのでご注意ください。
※ Marketing Cloud Engagement の環境は、CST タイムゾーンで動いていますので、Marketing Cloud Engagement の日付データは、すべて 15 時間プラスされてセグメントでは表示されていることになります。(取り込みデータは 6 時間プラスです。CST ⇒ UTC)Marketing Cloud Engamgenet の Date データ(実質、すべて Datetime データ)で 9 時以降の時間データを持っている場合は、15時間がプラスされた結果、日付が翌日に繰り上がりますので注意が必要してください。MC からのデータの場合は、セグメントの条件で利用する日付項目がどのように処理されて、取り込まれているかを、インプリ担当者へ事前にご確認ください。
① Has No Value (値なし)
日付型属性の値が Null のオーディエンスを探します。
② Has Value (値あり)
日付型属性の値が Null ではなく、値があるオーディエンスを探します。
③ Is On (当日)
カレンダーで指定した日(当日)に、イベントが発生したオーディエンスを探します。
④ Is Before (次の日の前)
カレンダーで指定した日より前に、イベントが発生したオーディエンスを探します。指定した日(当日)は含みません。
⑤ Is After (次の日の後)
カレンダーで指定した日より後に、イベントが発生したオーディエンスを探します。指定した日(当日)は含みません。
⑥ Is Between (次の範囲内にある)
カレンダーで指定した開始日(00:00:00)から終了日(23:59:59)までにイベントが発生したオーディエンスを探します。指定した日をそれぞれ含みます。
⑦ Is Anniversary Of (次のアニバーサリーの日付)
属性の日付の「月」と「日」が、今日の「月」と「日」と一致するオーディエンスを探します。この演算子では、「年」の部分は無視されます。例えば、今日が誕生日である人や、今日が結婚記念日である人を抽出します。
⑧ Is Not Anniversary Of (次のアニバーサリーの日付ではない)
属性の日付の「月」と「日」が、今日の「月」と「日」と一致しないオーディエンスを探します。「年」の部分は無視されます。
⑨ Greater Than Last Number Of Days (最後の日数より大きい)
この「大きい」の意味は、時間的に古いものという意味になります。
今日の日付から 指定した日数分を遡り、それより前の日付で発生したイベントを探します。遡った結果の日付自体は、その結果に含まれません。
例えば、入会年月日が 180 日より前の人(入会して半年が経過している人)だけに絞りたいような時に利用できます。
例:2025 年 11 月 30 日の任意の時間で再計算をする場合に、5 を指定したとすると、5 日前の 11 月 25 日 00:00:00 より前(過去)のイベントがすべて抽出されます。この場合の 5 日前自体のデータは含まれません。
⑩ Last Number Of Days (最後の日数)
抽出を開始する現在の時刻までの「直近で過去 〇 日間」でイベントが発生したオーディエンスを探します。
3 ヶ月以内(90 日)に入会したした人を探す場合など
例:6 を指定して 2025 年 11 月 30 日 15:00 に再計算 →
2025 年 11 月 24 日 00:00:00 〜 2025 年 11 月 30 日 15:00:00 が対象となります。
Tips:
「今日から○日前“だけ”を取得する」ための専用演算子は存在しませんが、⑨「最後の日数で □ 日間」 と ⑩「最後の日数より大きい □ 日」 を組み合わせることで、実現できます。
例えば、11 月 30 日にセグメントが再計算されるケースで、
“今日から 6 日前(= 11 月 24 日)だけのデータを取得したい” 場合は、次のように指定します。
⑨ 最後の日数で:6(11 月 24 日以上のデータが取得される)
⑩ 最後の日数より大きい:5(11 月 24 日以下のデータが取得される)
この 2 つの条件を重ねることで、結果的に 11 月 24 日分のデータのみに絞り込まれます。このテクニックは、「入会日から○日目にメールを送る」 といったシナリオでも非常に有効です。
⑪ Next Number Of Days (次の日数)
抽出を開始する現在の時刻から「将来の 〇 日間の終わり(23:59:59)まで」に発生するイベントを探します。
例:2 を指定して 2025 年 11 月 30 日 15:00 に再計算 →
2025 年 11 月 30 日 15:00 〜 2025 年 12 月 2 日 23:59:59 が対象となります。
⑫ Last Number Of Months (最後の月数)
過去の「〇 ヶ月」でイベントが発生したオーディエンスを探します。
当月は含まれません。
例:2 を指定し 2025 年 11 月 30 日に再計算 →
2025 年 9 月〜 10 月のすべてのイベントが対象となります。11 月は含まれません。
⑬ Next Number Of Months (次の月数)
将来の「〇 ヶ月」でイベントが発生する予定のオーディエンスを探します。
当月は含まれません。
例:1 を指定し 2025 年 11 月 30 日に再計算 →
来月(2025 年 12 月)のすべてのイベントが対象となります。当月は含まれません。
⑭ Last Year (昨年)
前年全体を対象にして、イベントが発生したオーディエンスを探します。
⑮ This Year (今年)
今年全体を対象にして、イベントが発生したオーディエンスを探します。
⑯ Next Year (来年)
来年全体を対象にして、イベントが発生するオーディエンスを探します。
⑰ Day Of Week (曜日)
指定した「曜日」にイベントが発生したオーディエンスを探します。
⑱ Day Of Month (月の日)
指定した日(1〜31)にイベントが発生したオーディエンスを探します。
⑲ Not Day Of Month (月の日ではない)
指定した日(1〜31)以外にイベントが発生したオーディエンスを探します。
⑳ Before Day Of Month (月の日の前)
このオペレーターは 日付の “日” の部分だけ を比較します。
つまり、月や年は比較せず、日付の「何日か」だけを使ってフィルターします。例えば、フィルターで次のように設定したとします。
Before Day Of Month = 10(※数字だけを入力)この場合、
「1 日〜 9 日の間の日付」を持つレコードだけが対象となります
月や年は無視されます
㉑ After Day Of Month (月の日の後)
このオペレーターは 日付の “日” の部分だけ を比較します。
つまり、月や年は比較せず、日付の「何日か」だけを使ってフィルターします。例えば、フィルターで次のように設定したとします。
After Day Of Month = 10(※数字だけを入力)この場合、
「11 日〜 31 日の日付」を持つレコードだけが対象となります
月や年は無視されます
※ この結果、⑳も㉑も 〇 月 10 日のデータは含みません。
㉒ Month Of The Year (今年の月)※ 日本語では「月」と表示
指定した月(1〜12)にイベントが発生したオーディエンスを探します。
㉓ Not Month Of The Year (今年の月ではない)※ 日本語では「月ではない」と表示
指定した月(1〜12)以外でイベントが発生したオーディエンスを探します。
㉔ Is This Month (今月)
今月イベントが発生したオーディエンスを探します。
㉕ Is Next Month (来月)
来月イベントが発生する予定のオーディエンスを探します。
㉖ Is Last Month (先月)
昨月イベントが発生したオーディエンスを探します。
㉗ Is Today (今日)
今日イベントが発生したオーディエンスを探します。
㉘ Is Tomorrow (明日)
明日イベントが発生する予定のオーディエンスを探します。
㉙ Is Yesterday (昨日)
昨日イベントが発生したオーディエンスを探します。
㉚ Last Number Of Years (最後の年数)
※ ㉚は、計算済みインサイト限定の演算子です。
過去の「カレンダー年(〇 年前)」でイベントが発生したオーディエンスを探します。
例:2025 年にセグメントが再カウントされた場合、5 の値を指定すると、2020 年 1 月から 2020 年 12 月に発生したすべてのイベントが返されます。
数値(Numeric)演算子
数値型属性に使用できる演算子です。パーセンテージ型も含まれます。
① Has Value (値あり)
値が Null または 空 でないオーディエンスを探します。
② Has No Value (値なし)
値が Null または 空 のオーディエンスを探します。
③ Is Equal To (次の値と等しい)
指定した値と一致するオーディエンスを探します。
④ Is Not Equal To (次の値と等しくない)
指定した値と一致しないオーディエンスを探します。
※ 対象のフィールドが Null の場合はセグメントに含まれません。
Null も含めたい場合は、「Has No Value」と「Is Not Equal To」を OR ブロックに入れます。
⑤ Is Less Than (次の値未満)
指定した値より小さいオーディエンスを探します。
⑥ Is Less Than or Equal To (次の値以下)
指定した値以下のオーディエンスを探します。
⑦ Is Greater Than (次の値より大きい)
指定した値より大きいオーディエンスを探します。
⑧ Is Greater Than or Equal To (次の値以上)
指定した値以上のオーディエンスを探します。
⑨ Is Between (次の範囲内にある)
開始値と終了値の範囲に含まれるオーディエンスを探します。
⑩ Is Not Between (次の範囲内にない)
開始値と終了値の範囲外のオーディエンスを探します。
テキスト(Text)演算子
URL、メール、電話番号などもテキスト型として扱われます。
※ すべて大文字・小文字は区別されません。
① Has Value (値あり)
値が Null または 空 でないオーディエンスを探します。
② Has No Value (値なし)
値が Null または 空 のオーディエンスを探します。
③ Is Equal To (次の値と等しい)
指定した文字列と一致するオーディエンスを探します。
④ Is Not Equal To (次の値と等しくない)
指定した文字列と一致しないオーディエンスを探します。
※ 対象のフィールドが Null の場合はセグメントに含まれません。
Null も含めたい場合は、「Has No Value」と「Is Not Equal To」を OR ブロックに入れます。
⑤ Contains (次の文字列を含む)
指定した文字列を含むオーディエンスを探します。
⑥ Does Not Contain (次の値を含まない)
指定した文字列を含まないオーディエンスを探します。
⑦ Matches(一致)
正規表現パターンに一致するオーディエンスを探します。
例えば、属性の値に TestSearch という文字列が含まれているかを調べたい場合、正規表現を使うと TestSearch を含むすべてのデータ が検索結果としてヒットします。
例:
TestSearch Results
TestingSearching(⇒ Test(ing)Search(ing)のように、部分でも OK)
このように、完全一致だけでなく「部分的に含まれているもの」もまとめて検索できるのが、正規表現演算子の便利なポイントです。
⑧ Doesn’t Match (一致しません)
正規表現パターンと一致しないオーディエンスを探します。
⑨ Begins With (次の値で始まる)
指定した文字列で始まるオーディエンスを探します。
⑩ Exists As A Whole Word (次の単語が存在する)
指定した文字列が「単語として」存在するかを判定します。
例:hello world には hello は存在、hel は存在しない
⑪ Is Not In (次の値のいずれとも一致しない)
指定した複数の値のいずれにも一致しないオーディエンスを探します。
最大 100 個まで指定可能で、「値の提案」機能が有効ならドロップダウンから選択できます。
カンマ区切りも投入が可能です。以下のような例です。
alpha,beta,gamma,delta,echo,foxtrot,golf,hotel,india,juliet,kilo,lima,mike,november,oscar,papa,quebec,romeo,sierra,tango,uniform,victor,whiskey,xray,yankee,zulu,apple,banana,cherry,date,elderberry,fig,grape,honeydew,ice,juice,kiwi,lemon,mango,nectarine,orange,peach,quince,raspberry,strawberry,tomato,ugli,vanilla,watermelon,xenon,yogurt,zephyr,cloud,storm,rain,snow,wind,sky,river,lake,forest,mountain,valley,desert,ocean,beach
⑫ Is In (次の値のいずれかと一致する)
指定した複数の値のいずれかに一致するオーディエンスを探します。
最大 100 個まで指定可能で、「値の提案」機能が有効ならドロップダウンから選択できます。カンマ区切りも投入が可能です。
ブール値(Boolean)演算子
① Has Value (値あり)
値が Null でないオーディエンスを探します。
② Has No Value (値なし)
値が Null のオーディエンスを探します。
③ Is True (True)
値が Null でなく、True のオーディエンスを探します。
④ Is False (False)
値が Null でなく、False のオーディエンスを探します。
いかがでしたでしょうか。
特に注意したいポイントは、やはり 日付データのタイムゾーン変換 の部分かと思います。それ以外については、比較的シンプルに使える印象です。
たとえば、「今日の日付から過去 6 カ月分」というような取得は直接できないため、“過去 180 日” のように日数へ変換して指定する必要がある など、少し痒いところに手が届かない部分も存在します。この点は注意してください。
Data Cloud のセグメンテーション演算子は、データ型ごとに豊富で奥が深い機能です。それぞれの演算子が どのようなレコードを対象にするのか を理解しておくことで、より精度の高いオーディエンスセグメントを構築できるようになります。迷ったときは、ぜひこのページを参考にしてください。
今回は以上です。
次の記事はこちら
前回の記事はこちら
私の note のトップページはこちら
