セグメント - 機能のリファレンス

このドキュメントでは、Google アナリティクスのセグメントの概要を説明します。

概要

セグメントを使用すると、ビジネスにとって重要なユーザーとセッションを指定して、不明だった情報を明らかにすることができます。たとえば、過去の合計購入額が 10 万円以上で 2 回以上のトランザクションを行ったユーザーや、最初に携帯端末でアクセスした後に PC のブラウザでアクセスしたユーザーなどをセグメントとして指定できます。

このドキュメントでは、Google アナリティクスのユーザーモデルと、セグメントの基本的な作成方法を説明します。

Google アナリティクスのユーザーモデル

はじめに Google アナリティクスのユーザーモデルを確認して、セグメントの概念を掴んでください。

Google アナリティクスのユーザーモデルには、次の 3 つの主要要素があります。

  • ユーザー - プロパティのユーザーの基本的な単位です。
  • セッション - ユーザーはプロパティにアクセスして接点を持ちます。こうした一連のユーザーとプロパティの接点を、まとめてセッションといいます。
  • ヒット - ユーザーはセッションでプロパティと接点を持ち、その個々の接点がヒットと呼ばれます。ヒットにはページビュー、イベント、トランザクションなどがあります。

1 人のユーザーには複数のセッションが発生し、各セッションでは複数のヒットが発生する可能性があります。これを図で表すと次のようになります。

Google アナリティクスのユーザーモデルを表す階層です。親ノードはユーザー、子ノードはセッションを表します。各セッションにはヒットを表すノードが 1 つ以上含まれます。
図 1: Google アナリティクスのユーザーモデル

Google アナリティクスのユーザーモデルを理解したら、次はセグメントの作成方法を見ていきましょう。

セグメントの例

セグメントを作成するには条件を設定し、関連するディメンションと指標の値を指定します。

下記の例には、それぞれセグメントの説明、対応するセグメント パラメータ の API 構文、ユーザーモデル表現が示されています。

モデル表現の凡例は次のとおりです。

ユーザーモデルの階層の各ノードの種類を、ノードがセグメントから除外されているか、含まれているか、条件に一致しているか、シーケンスのステップに一致しているかによって表した凡例です。
図 2: セグメント例のノードの定義

以下では、次の項目について例を使って説明します。

条件

条件を使って、ディメンションや指標の値に基づいてユーザーやセッションを 選択します。

ディメンション

ディメンションの値に基づいてユーザーやセッションを選択します。

ユーザー

カナダからアクセスしたユーザーを選択します。
users::condition::ga:country==Canada

3 人のユーザーのうち、最初のユーザーとその全セッションがセグメントに含まれます(2 つのセッション レベルの条件に一致したため)。他の 2 人のユーザーのセッションは除外されます。
図 3: ユーザー条件に基づく一致

セッション

カナダからアクセスされたセッションを選択します。
sessions::condition::ga:country==Canada

3 人のユーザーのうち、2 番目のユーザーとその全セッションがセグメントに含まれます(2 つのセッション レベルの条件に一致したため)。他の 2 人のユーザーのセッションは除外されます。
図 4: セッション条件に基づく一致

指標

指標の値(1 つの値や合計値)に基づいてユーザーやセッションを選択します。

ユーザー

1 回のトランザクションの合計収益額が 1 万円を超えたユーザーを選択します。
users::condition::perHit::ga:transactionRevenue>100

3 人のユーザーのうち、2 番目のユーザーとその全セッションがセグメントに含まれます(1 つのヒットレベルの条件に一致したため)。他の 2 人のユーザーのセッションは除外されます。
図 5: ユーザー条件に基づくヒット単位での一致

1 回のセッションにおける全トランザクションの合計収益額が 1 万円を超えるユーザーを選択します。
users::condition::perSession::ga:transactionRevenue>100

3 人のユーザーのうち、1 番目と 2 番目のユーザーとその全セッションがセグメントに含まれます(それぞれ 1 つのヒットレベルの条件に一致したため)。3 番目のユーザーのセッションは除外されます。
図 6: ユーザー条件に基づくセッション単位での一致

指定した期間の全トランザクションの合計収益額が 1 万円を超えるユーザーを選択します。
users::condition::perUser::ga:transactionRevenue>100

3 人のユーザーのうち、3 人全員とそのセッションがセグメントに含まれます(ユーザーレベルの条件に一致したため)。
図 7: ユーザー条件に基づくユーザー単位での照合

ユーザーを選択すると、デフォルトで指標の値がユーザー単位で合計されるため、この条件文は次のように簡略化できます。
users::condition::ga:transactionRevenue>100

セッション

1 回のトランザクションの合計収益額が 1 万円を超えたセッションを選択します。
sessions::condition::perHit::ga:transactionRevenue>100

3 人のユーザーのうち、2 番目のユーザーと 1 つのセッションだけがセグメントに含まれます(ヒットレベルの条件に 1 つのヒットが一致したため)。他の 2 人のユーザーとそのセッションは除外されます。
図 8: セッション条件に基づくヒット単位での照合

1 回のセッションにおける全トランザクションの合計収益額が 1 万円を超えるセッションを選択します。
sessions::condition::perSession::ga:transactionRevenue>100

3 人のユーザーのうち、1 番目と 2 番目のユーザーと、それぞれ 1 つのセッションがセグメントに含まれます(セッション レベルの条件に、それぞれ 1 つのセッションが一致したため)。3 番目のユーザーとそのセッションは除外されます。
図 9: セッション条件に基づくセッション単位での照合

セッションを選択すると、デフォルトで指標の値がセッション単位で合計されるため、この条件文は次のように簡略化できます。
sessions::condition::ga:transactionRevenue>100

除外条件

NOT 演算子

! を使用して条件を否定し、条件に一致するセッションを除外します。

離脱ページがルートページ パスに完全に一致するセッションを除外するには、次のようにします。
sessions::condition::!ga:exitPagePath==/

3 人のユーザーのうち、最初のユーザーとそのセッションが含まれます。2 番目のユーザーは、1 つのセッションが含まれ、1 つのセッションが除外されます(セッション レベルの条件に一致したため)。3 番目のユーザーは、1 つのセッションが除外されます(同じくセッション レベルの条件に一致したため)。
セッションの除外: 一致するセッションの除外

条件の組み合わせ

AND 演算子

AND 演算子として「;」を使って、複数の条件を組み合わせることができます。

たとえば、カナダからアクセスしたユーザーを選択し、かつ(AND)所定の期間において全トランザクションの合計収益額が 1 万円を超えるケースを選択します。 users::condition::ga:country==Canada;users::condition::perUser::ga:transactionRevenue>100

3 人のユーザーのうち、1 番目のユーザーとその全セッションがセグメントに含まれます(ユーザーレベルとセッション レベルの条件に 1 人のユーザーが一致したため)。他の 2 人のユーザーとそのセッションは除外されます。
図 10: AND 演算子を使った複数の条件に基づく一致

これらは両方ともユーザー条件であるため、この条件文は次のように簡略化できます。
users::condition::ga:country==Canada;ga:transactionRevenue>100

OR 演算子

OR 演算子として「,」を使って、複数のフィルタを組み合わせることができます。

カナダからアクセスしたユーザー、または(OR)メキシコからアクセスしたユーザーを選択します。
users::condition::ga:country==Canada,users::condition::ga:country==Mexico

3 人のユーザーのうち、1 番目と 2 番目のユーザーとその全セッションがセグメントに含まれます(1 番目のユーザーはセッション レベルの条件に複数のセッションが一致し、2 番目のユーザーはセッション レベルの条件に 1 つのセッションが一致したため)。残りのユーザーとそのセッションは除外されます。
図 11: OR 演算子を使った複数条件に基づく一致

これらは両方ともユーザー条件であるため、次のように簡略化できます。
users::condition::ga:country==Canada,ga:country==Mexico

どちらの条件もディメンションが同じであるため、正規表現を使って次のように簡素化できます。
users::condition::ga:country=~Canada|Mexico

シーケンス

シーケンスを使って、時系列の条件に基づいてユーザーやセッションを選択します。

携帯端末からアクセスした直後に PC からアクセスしたユーザーを選択します。
users::sequence::ga:deviceCategory==mobile;–>ga:deviceCategory==desktop

3 人のユーザーのうち、2 番目のユーザーとその全セッションがセグメントに含まれます(セッション レベルのシーケンス(複数のステップが次々に連続して発生するシーケンス)に 1 つのシーケンスが一致したため)。残りのユーザーとそのセッションは除外されます。
図 12: 複数のステップが次々に連続して発生したシーケンスに基づく一致

携帯端末からアクセスした後に PC からアクセスしたユーザーを選択します。
users::sequence::ga:deviceCategory==mobile;–>>ga:deviceCategory==desktop

3 人のユーザーのうち、1 番目と 2 番目のユーザーとその全セッションがセグメントに含まれます(セッション レベルのシーケンスに一致したため)。残りのユーザーとそのセッションは除外されます。
図 13: 複数のステップが順番に発生したシーケンスに基づく一致

ユーザーとセッションの併用

ユーザーとセッションを選択してセグメントを作成できます。最初にユーザーを選択して、ユーザーのサブセットとしてセッションを選択します。

携帯端末からアクセスした後に PC 端末からアクセスした ユーザーについて、1 回のトランザクションの合計収益額が 1 万円を超えたセッションを 選択します。
users::sequence::ga:deviceCategory==mobile;->>ga:deviceCategory==desktop;sessions::condition::perHit::ga:transactionRevenue>100

次のステップ

セグメントの構文の全情報と、 Core Reporting API でセグメントのクエリを行う方法については、 セグメントに関するデベロッパー ガイドをご確認ください。