セグメント条件や配信トリガー条件の設定で否定条件(「次を除く」)を複数組み合わせるとき、OR条件とAND条件のどちらで結合するかによって配信対象が大きく変わります。直感に反する結果になりやすいため、この記事ではよくあるケースごとに正しい設定方法を説明します。
セグメント条件や配信トリガー条件の基本的な設定方法については、対象ユーザーの設定/仕様と配信トリガーの設定/仕様をご確認ください。
「いずれにも該当しない」ユーザーに絞り込む方法
「セグメントA、B、Cのいずれにも該当しないユーザーに配信したい」というのは、否定条件を複数組み合わせる代表的なケースです。
このケースでは、否定条件をAND条件で組み合わせることで正しく配信対象を絞り込むことができます。一方で否定条件をOR条件で組み合わせると意図しない結果になるため注意が必要です。
セグメント条件の設定画面では、同じ行に追加したセグメントはOR条件(「または」で結合)、「セグメントを追加」で追加した行はAND条件で結合されます。
この構造を踏まえると、管理画面では次の2通りの方法で設定できます。
「除く」で複数セグメントをまとめて指定する(方法1)
1つの行にセグメントA、B、Cをまとめて指定し、「次を除く」を選択します。
接客サービスの「対象ユーザー」設定画面を開きます
セグメントの行で「次を除く」を選択します
セグメントAを指定し、「または」の横をクリックしてセグメントB、Cを追加します
この設定は「AまたはBまたはC」に「該当しない」、すなわち「Aでない、かつBでない、かつCでない」と同じ意味になります。否定条件をAND条件で組み合わせた形です。
「次を除く」はOR条件でつないだセグメント全体に適用されます。例えば、「AまたはB」の行に「次を除く」を設定すると「AまたはB」に「該当しない」という意味になります。
セグメントごとに行を分けて指定する(方法2)
セグメントA、B、Cをそれぞれ別の行で「次を除く」として追加します。
接客サービスの「対象ユーザー」設定画面を開きます
セグメントの行で「次を除く」を選択し、セグメントAを指定します
「セグメントを追加する」をクリックします
新しい行で「次を除く」を選択し、セグメントBを指定します
同様にセグメントCの行を追加します
行ごとの条件はAND条件で結合されるため、否定条件をAND条件で組み合わせた形になります。「Aでない、かつBでない、かつCでない」となり、方法1と同じ配信対象に絞り込むことができます。
否定条件の結合方法による違い
方法1・方法2をそのまま使えば正しく絞り込めますが、否定条件がAND条件とOR条件で結果がどう変わるかを理解しておくと、自分で条件を組み立てる場面で役立ちます。このセクションでは、それぞれの振る舞いを解説します。
AND条件で組み合わせた場合
次のように否定条件をAND条件で組み合わせた場合を考えます。
(1) Aでない
AND
(2) Bでない
AND
(3) CでないAND条件は「すべての条件を満たした場合のみ配信対象」です。例えば、セグメントAに該当するユーザーの場合を見てみます。
| 条件 | 結果 |
|---|---|
| (1) Aでない | 満たさない |
| (2) Bでない | 満たす |
| (3) Cでない | 満たす |
セグメントAに該当するユーザーは、(1)を満たさないため配信対象外になります。セグメントBやCに該当するユーザーも同様に(2)や(3)を満たさないため配信対象外です。つまり「A、B、Cのいずれにも該当しないユーザー」だけがすべての条件を満たして配信対象になります。
方法1・方法2はどちらも、結果として否定条件がAND条件で組み合わさった形になるため、意図通りに絞り込むことができます。
OR条件で組み合わせた場合
一方、否定条件をOR条件で組み合わせた場合を考えます。
(1) Aでない
OR
(2) Bでない
OR
(3) CでないOR条件は「どれか1つでも満たせば配信対象」です。例えば、セグメントAに該当するユーザーの場合を見てみます。
| 条件 | 結果 |
|---|---|
| (1) Aでない | 満たさない |
| (2) Bでない | 満たす |
| (3) Cでない | 満たす |
セグメントAに該当するユーザーは、(2)と(3)を満たすため配信対象になります。BやCに該当するユーザーも同様に(1)〜(3)のうち2つを満たし配信対象になります。
このように、否定条件をOR条件で組み合わせると「A、B、Cのいずれにも該当しないユーザー」だけに絞り込むことができません。
管理画面で直接設定できないケースと対処法
ここまでは、否定条件を組み合わせて「いずれにも該当しない」ユーザーに絞り込む方法を説明しました。ここでは、KARTE管理画面の構造上そのままでは設定できないケースとその対処法を紹介します。
KARTE 管理画面の構造
KARTEの管理画面では、セグメント条件と配信トリガー条件それぞれに設定できるAND/ORの構造が決まっています。
| 設定項目 | 同じ行内の条件 | 行間の条件 |
|---|---|---|
| セグメント条件 | OR(複数セグメントを「または」で結合) | AND(「セグメントを追加する」で結合) |
| 配信トリガー条件 | AND(複数のユーザーデータ条件を結合) | OR(条件グループ間を結合) |
セグメント条件で「AかつB」に該当しないユーザーに配信する
上の表のとおり、セグメント条件では行内がOR・行間がANDに固定されています。この構造が制約になる例として、「セグメントAとセグメントBの両方に該当するユーザーだけを除外したい」というケースを見てみます。
なぜ管理画面で直接設定できないのか
「AかつBに該当しない」を設定するには、AとBをAND条件で結合してから全体を否定する必要があります。しかし、セグメント条件の「除く」は行単位で適用され、行内のセグメントは常にOR条件で結合されるため、「AかつB」をひとまとまりとして否定する手段がありません。
新しいセグメントを作成して対処する
セグメント画面で、セグメントAとセグメントBの両方に該当する条件を持つセグメントCを作成します
接客サービスの対象ユーザー設定で、セグメントCに「次を除く」を設定します
セグメントCは「AかつB」に該当するユーザーを表すため、セグメントCを除外すれば「AかつBに該当しない」ユーザーだけが配信対象になります。AとBの両方に該当するユーザーだけがセグメントCに該当して除外され、それ以外のユーザーは配信対象です。
配信トリガー条件でOR条件同士をANDで組み合わせる
もう1つの「直接設定できないケース」として、配信トリガー条件の例を紹介します。配信トリガー条件は、行内がAND条件、行間がOR条件です。そのため「(条件Aまたは条件B)かつ(条件Cまたは条件D)」のようなOR条件同士のANDは直接設定できません。
条件を展開して設定する
OR条件同士のANDは、すべての組み合わせを列挙することで、配信トリガーの構造に沿った形に変換できます。
例えば、「(条件Aまたは条件B)かつ(条件Cまたは条件D)」は次の4行に展開できます。
行1: 条件A AND 条件C
OR
行2: 条件A AND 条件D
OR
行3: 条件B AND 条件C
OR
行4: 条件B AND 条件D