セグメント100選1つのフィルタ内で複雑な「AND」「OR」を正しく使いこなせるようになるコツとは?(第85回)フィルタでの「AND」「OR」指定を正しく使いこなして、よりピンポイントなセグメントを作れるようになろう。noteで書くこれは広告ですGoogleアナリティクスの分析でセグメントを使っていると、自分の知りたいことをピンポイントで抽出してくれるようなセグメントを作りたくなってくる。そのためには、フィルタでAND条件やOR条件を駆使して、細かい条件を指定する必要があるが、場当たり的に指定してもうまく行かないことが多い。今回は、1つのフィルタで複数条件を満たす場合の設定(AND)どれか1つでも条件を満たす場合の設定(OR)をどのように指定すれば、正しく思いどおりに機能するようになるのかを解説する。最初に「1つのフィルタ」とは何か、つまりフィルタを数える単位を定義づけしておこう。「1つのフィルタ」には、基本的に以下の3つの形式がある。実際の画面で確認してみよう。「新しいセグメント」を作成するときに出てくる設定画面の1つである「ユーザー属性」分類(図1赤枠部分)の画面を見てみよう。図1の青枠部分が「1チェックボックスで条件を指定する形式」、緑枠部分が「2プルダウンや値を記述するなどで条件を指定する形式」の一例だ。次に、「条件」分類(図2赤枠部分)の画面を見てみよう。図2の青枠部分が「3最初にユーザーベースのフィルタかセッションベースのフィルタかを選択して、条件を指定していく形式」だ。図2:「条件」分類のセグメント設定画面セグメントの指定形式はこの3種類のどれかに該当する。今回はこの3種類の中で「AND」や「OR」あるいはそれに相当する条件を指定する場合の原則と注意点を解説する。「1チェックボックスで条件を指定する形式」(図1青枠部分)は、次の場所にしか存在しない。「テクノロジー」分類の画面(図2緑枠部分)の「モバイル(タブレットを含む)」チェックボックスは複数の条件を「OR」で指定する機能だ。「年齢」で「25-34」と「35-44」をチェック(図3赤枠部分)したら、「25-34」歳と「35-44」歳の「OR」条件(25歳-34歳または35歳-34歳)となる。25歳~44歳ということだ。「年齢」が「25-34」歳かつ「35-44」歳といったAND条件は考えられない。したがってAND条件を指定する手段は用意されていない。次は「2プルダウンや値を記述するなどで条件を指定する形式」(図1緑枠部分)である。1つ目は指定条件が「ディメンション」の場合に見られるパターンだ。指定条件が「ディメンション」の場合は「OR条件」しか指定できない図4は「トラフィック」分類の画面だ。「メディア」というディメンションの値は、1つのセッションに対して「organic」など、値は一意的に決まる。そのため、「メディア」内での「AND条件」での指定(メディアが「organic」かつ「referral」という指定)はあり得ない(該当なしなので意味がない)ので、そのような指定方法は用意されていない。「メディアが『organic』あるいは『referral』であるセッションを抽出する」(OR条件)という指定は意味があるので、指定できるようになっていないとまずいだろう。この場合は、プルダウンから「正規表現に一致」を選択(図4赤枠部分)し、入力ボックスのところに「(organic|referral)」と記述(図4青枠部分)すれば実現できる。正規表現の記述方法について詳しくは解説しないが、「|」が「OR」条件を意味するので、このように指定すればよい。「OR」ボタンのような機能はないが、それに該当する条件指定が可能だということだ。プルダウン(図4赤枠部分)からはその他にも、「含む」「先頭が一致」「含まない」など多数のマッチタイプが用意されているので、ここからもっとも指定方法が簡単なものを選択すればよいだろう。指定条件が「指標」の場合は、「AND条件」も「OR条件」も指定できない2つ目は指定条件が「指標」の場合に見られるパターンだ。「eコマース」分類の画面(図5)を見てみよう。「『収益』(購入金額のこと)が2万円以上で3万円未満」などという条件指定の場合は、「2万円以上」かつ「3万円未満」というAND条件を指定できればよいのだが、そのような指定パターンは用意されていない。残念ながら、たとえば「セッションごと」「≥」「20000」と指定(図5赤枠部分)して、「2万円以上」という1つの条件指定しかできない。「『2万円以下』あるいは『3万円以上』」といったOR条件指定もできない。いうケースでは、次に紹介する、汎用性の高い「条件」分類で指定しよう。「3最初にユーザーベースのフィルタかセッションベースのフィルタかを選択して、条件を指定していく形式」は、「セッションベース」と「ユーザーベース」に分けて解説しよう。簡単な「セッションベース」のセグメントからだ。「セッションベース」のセグメントとは、フィルタ条件を「セッション」「含める/除外する」とした場合(図6赤枠部分)に該当する。図4で指定した条件である「メディアが『organic』あるいは『referral』であるセッション」を抽出するという指定を、「トラフィック」分類の画面(図4)ではなく、「条件」分類の画面(図6)で実現しようとすれば、図6のように「OR」条件(図6青枠部分)を選択して、2つのメディアの条件を記述すればよい(図6緑枠部分)。図7は、「メディアが『organic』のセッション、かつ、セッション滞在時間が60秒を超えるセッションを抽出するセグメント」(図7-1)と「メディアが『organic』のセッション、あるいは、セッション滞在時間が60秒を超えるセッションを抽出するセグメント」(図7-2)の設定例だ。異なる項目(図7では「メディア」と「セッション時間」)の条件指定では、「AND」と「OR」の2通りがあるので、条件指定を続けていくときに、「AND」(図7-1赤枠部分)か「OR」(図7-2青枠部分)のどちらかを選択して条件を列挙していけばよい。1つのフィルタで「AND」と「OR」を2つ以上利用して複合的に組み合わせることはできるのか?それでは「AND」と「OR」を2つ以上利用して複合的に組み合わせることはできるのだろうか。「OR」を「+」とした計算式で表現すると、(条件A+条件B)×条件C(条件A+条件B)×(条件C+条件D)条件A+(条件B×条件C)のような条件指定だ。1と2はできるようだ。「1(条件A+条件B)×条件C」の設定例が図8だ。「2(条件A+条件B)×(条件C+条件D)」の設定例が図9だ。システムが「Windows」あるいは「Macintosh」のセッションで、かつ、ブラウザが「Chrome」あるいは「Firefox」のセッションのセグメントの指定しかしながら、「3条件A+(条件B×条件C)」の設定はできないと考えられる。掛け算の役割の「AND」(図8赤枠部分、図9赤枠部分)の前後が優先されて掛け合わされると期待したのだが、「OR」の方(図8青枠部分、図9青枠部分)が先にまとめられるようだ。最後は「ユーザーベース」のセグメントにおける「AND」あるいは「OR」利用について解説しよう。「ユーザーベース」のセグメントの場合は、セグメント条件の単位が「ユーザー」「セッション」「ヒット」と3つになり、組み合わせなども複雑になる。筆者もすべて網羅的に実証したわけではないが、おおよそ基本は「セッションベース」のセグメントと同様と考えてよいと考えられる。「ヒット」単位で「AND」指定するセグメントには注意が必要ただ「セッションベース」のセグメントとは異なる点もある。セグメント条件にヒット単位のディメンションや指標を利用する場合、思わぬ動作をすることがあるので、注意が必要だ。「トップページとsample.htmlを閲覧したことのあるユーザーを抽出するセグメント」を記述したい場合を例に説明しよう。動作の違いを比較したいので、まずは、「ユーザー」ではなく「セッション」を抽出するセグメントを作ってみよう。「2つのページを閲覧したセッションを抽出するセグメント」は図10のように設定する。フィルタで「セッション」「含める」(図10赤枠部分)として、2つのページを選択(図10青枠部分)して「AND」でつなげれば(図10緑枠部分)よい。図10:トップページとsample.htmlを閲覧したセッションを抽出するセグメントこのセグメントのフィルタを「セッション」から「ユーザー」に変えれば(図11赤枠部分)、2つのページを閲覧したユーザーを抽出するセグメントになると思うだろう。図11:間違いやすい設定(ヒットタイプがページビューの条件の場合)しかしこれでは何も抽出されない。「ユーザーベース」のセグメントで、「ヒット」単位のディメンション(今回のケースは「ページ」)を条件に選択した場合は、その1つのヒットに対して2つの条件とも合致する必要があるのだ。図11の例で言えば、「トップページを見ながら同時にsample.htmlを見た」という条件になり、ひと目で無効であることがわかるだろう。1ヒットには1ページビュー、あるいは1イベント、あるいは1トランザクションなどが紐付いている。1ヒットに2つ以上のページが同時に紐付くような条件指定をしても、結果はゼロになるのだ。どのように指定するかと言えば、図12のように指定することになる。図12:トップページとsample.htmlを閲覧したユーザーを抽出するセグメントどこが違うかと言えば、「AND」ボタン(図12赤枠部分)ではなく、左下にある「+フィルタを追加」ボタン(図12青枠部分)で条件指定を重ねることで実現できる(複数のフィルタを利用する方法については次回まとめて解説する予定だ)。この設定は厳密に言えば、トップページとsample.htmlの2つのページを閲覧したユーザーのすべてのセッションを抽出するセグメントだ(トップページを閲覧したセッションとsample.htmlを閲覧したセッションは別々でもいい)。「1つのセッション内でトップページとsample.htmlの2つのページを閲覧したしたことのあるユーザー」のすべてのセッションを抽出するセグメントではない。ヒット条件によってセッションを抽出し、それをさらにユーザーベースの条件にするといった2段階抽出はできないのだ。同じヒットタイプ同士(イベントとイベント)の「AND」は無効ヒットの種類がイベント同士である場合も同じだ。「ユーザーベース」のセグメントの場合(図13赤枠部分)、1つのヒットに2つ以上のイベントが同時に紐付くような条件指定(図13青枠部分)をしてもゼロになる(図13緑枠部分)。図14のようにユーザーフィルタ(図14赤枠部分)であっても、異なるヒットタイプ(図14はイベントとページビュー)を「AND」で結合した条件(図14青枠部分)ならゼロにはならず(図14緑枠部分)、問題ないようだ。図14:トップページでリンククリックのイベントが発生したユーザーを抽出するセグメントなぜこの場合は問題ないのだろうか。図15のセグメントのデータモデルの解説図を見てほしい。Boss」というウェビナーでの解説動画の中のスクリーンショットだ。Boss)「イベント」や「トランザクション」のヒットタイプも「ページ」には紐付いている(図15赤枠部分)ようなので、「イベント」と「ページ」(図15青枠部分)、「トランザクション」と「ページ」(図15緑枠部分)という異なるヒットタイプの組み合わせによる条件指定は問題なく動作するということなのだろう。いったデータともこのように紐付いているのだということが図15からはうかがえる。ヒット単位で条件を指定する場合の注意点を総括すると、AND条件は下記のような動作をするということだ。「ユーザー」フィルタでAND条件を使用すると、1つのヒットがすべての条件に当てはまる場合のみ抽出される「セッション」フィルタでAND条件を使用すると、同じセッション内のヒットのあらゆる組み合わせがすべての条件に当てはまる場合のみ抽出されるGoogleアナリティクス公式ヘルプの「フィルタ評価の仕組み」にもそう記述されているので、併せて確認してみてほしい。アナリティクスを実装する方法を詳しく解説する講座(2016/4/19)申し込み受付中。メーカー勤務後、日経BP社へ。調査部、インターネット視聴率センター長などを経て、2000年ネットレイティングスへ。視聴率サービスやアクセス解析サービスの立ち上げに尽力。2006年株式会社クロス・フュージョンを設立し代表取締役に。最近(過去90日間)の記事で、Facebookの「いいね!」が多かった記事をお見逃し無く。いいね!※記事へのコメント機能は2021年11月をもって終了しました。編集部へのご連絡は、問い合わせフォーム・メール・Twitterなどをご利用ください。広告が目指す戦略アドフラウド対策でCPA改善!「おとなの自動車保険」のデジタル広告が“損失1700万円”を克服するまで成功事例・失敗から学ぶWebサイトリニューアル。Plan(事業継続計画)の略。顧客理解のためのUXリサーチ実践講座~インタビュー・ネットリサーチから分析手法をワークショップで学ぶすべて見るインフォメーションWeb担のメルマガを購読しませんか?Web担の記事がコンパクトに毎週届くメールマガジン「Web担ウィークリー」は、10万人が読んでいる人気メルマガ。忙しいあなたの情報収集力をアップさせる強い味方で、お得な情報もいち早く入手できます。編集後記サイトマップFAQ(よくある質問とその答)Web担に広告を掲載しませんか?購読者数10万人のメールマガジン広告をはじめとする広告サービスで、御社の認知向上やセミナー集客を強力にお手伝いいたします。Web担主催のイベントに協賛しませんか?年4回実施している数百人~3,4千人規模の無料イベント。イベントに協賛して、新規のリード獲得・認知向上をしませんか。寄稿記事・取材の企画の募集はこちらWeb担に寄稿したい、取材してもらいたい、などの場合はこちらから情報提供お願いします。