ここでは、ディメンションとセグメントについて説明します。

以下の内容を理解することを目的としています。

  • ディメンションとセグメントの使い分け
  • ディメンションとセグメントの違い

似ていて紛らわしい点

ディメンションとセグメント。
どちらも接客サービスへ利用することができるという点で似ており、使い分けが難しく感じるかもしれません。
null
両者ともに同様の用途で利用できることが、使い分けが難しく感じる原因です。

ディメンションとセグメントの使い分け

ここでは、ディメンションとセグメントの実際の使い分け方を記載します。

機能面の差

ディメンションとセグメントの機能面での大きな差は以下の通りです。

作成上限 作成後の変更しやすさ
ディメンション 20 変更しやすい
セグメント 200 変更しにくい(後述)

使い分けの判断

どういった考えのもとディメンションとセグメントを使い分けていくのか。
具体的なユースケースを取り上げながら見ていきます。
まず、使い分けに迷った時には、ディメンションを利用できないか検討してみてください。
なぜなら、ディメンションでできることはセグメントでもできますが、ディメンションを利用することで効率化できる場合があるからです。
ディメンションでできない場合は、セグメントを利用する。
この流れを推奨しています。

こんなときにはディメンション

  1. セグメントを利用すると数が増え過ぎてしまう

    都道府県によって接客サービスを出し分けたいといった場合にはディメンションの利用がおすすめです。

    例として、東京都在住と大阪府在住の人向けの接客サービスを作成するケースを考えます。

    • ディメンションの場合
      ①「都道府県」ディメンションを作成する
      ユーザーストアに「都道府県」ディメンションがあるのでインストールします(詳しくはこちら

      ②東京都と大阪府を指定する
      null

    • セグメントの場合
      ①「東京都在住」セグメントと「大阪府在住」セグメントを作成する
      null
      null
      ②「東京都在住」と「大阪府在住」をセグメントとして指定して接客サービスを作成する
      null

      それぞれの最も大きな違いは、作成しなければならない数です。
      全ての都道府県を対象とする場合、作成数は以下の通りです。

      ディメンション:1個
      セグメント:47個

      例で取り上げた東京都在住と大阪府在住の人を対象とした接客サービスの作成程度であれば、効率面で大きな差は出ません。
      しかし、対象とする都道府県の数が増えてくるとセグメントを利用した作成は面倒です。

      このようにユーザーデータをグルーピングして利用したいけれど、都度セグメントを作っていると数が増えすぎてしまうような場合にはディメンションの利用がおすすめです。

  2. 柔軟に範囲を変更したい
    接客サービスの配信後に値の範囲を変更することが考えられるときには、ディメンションの利用がおすすめです。

    例として、接客サービスの対象ユーザーを「購入金額が5,000円未満の人」から「購入金額が10,000円未満の人」に変更するケースを考えます。

    • ディメンションの場合
      ①ディメンションの範囲を変更する
      元々の範囲設定では、5,000円未満となっています。
      null
      「値の範囲をカスタマイズ」から10,000円未満に変更します。
      null

    • セグメントの場合
      ①「10,000円未満」セグメントを作成する
      null
      ②接客サービスの対象ユーザーのセグメントを変更する
      元々「5,000円未満」セグメントが設定されています。
      null
      「10,000円未満」セグメントに設定し直します。
      null
      このようにディメンションでは、接客サービス編集画面で指定するディメンションの範囲を変更するだけですが、セグメントでは、セグメント自体を新規作成して設定し直す必要があります。

      既存のセグメントの条件設定を変えることで対応も可能ですが、セグメントの設定を後から変えることにはリスクがあります。詳しくは、「作成後の変更しやすさの違い」で後述します。

      変更がほとんど発生しない場合には、あまり大きな問題にはなりません。
      しかし、頻繁に範囲の変更が考えられる場合は効率化できるのでディメンションの利用がおすすめです。

こんなときにはセグメント

  1. 複数イベントを組み合わせて意味のあるグループを作成したい

    セグメントの特徴として、複数の条件を組み合わせてグループを作成できることが挙げられます。
    null
    一方、ディメンションでは複数のイベントやフィールドを同時に指定することはできません。
    null
    複数の条件を組み合わせた意味のあるグループの例として「新規顧客」「優良顧客」セグメントを作成するケースを考えます。

    • 「新規顧客」セグメントの作成
      null
      閲覧イベントと購入イベントのフィールドを指定した条件を組み合わせて作成しています。

    • 「優良顧客」セグメントの作成
      null
      購入イベントの複数フィールドを指定した条件を組み合わせて作成しています。

      このように複数のイベントやフィールドを組み合わせてユーザーを意味のある単位にグルーピングし、そのグループ単位でユーザーへのアクションや分析に繰り返し利用したいときにはセグメントを利用してください。

  2. ディメンションに設定できないフィールドを利用する場合
    ディメンションのユースケースに当てはまらないときにはセグメントを利用してください。

    例を2つ挙げます。
    (例) フィールドが真偽値(true/false)であるイベントを利用して作成する

    ディメンションで利用できるフィールドは数値型、文字列型、日付型です。

    • ディメンション
      null
    • セグメント
      null
      真偽値を利用して作成したい場合は、セグメントを利用してください。

    (例) identifyイベントのフィールドを利用して作成する

    identifyイベントのフィールドはディメンションで利用することができません。
    null
    identifyイベントのフィールド(電話番号やメールアドレスなど)を利用して作成したい場合は、セグメントを利用してください。

違いについて理解する

ここまで、目的の1つ目「ディメンションとセグメントの使い分け」が理解できるように記載しました。ここからは、目的の2つ目「ディメンションとセグメントの違い」を理解するための内容を記載します。

概念の違い

ディメンションとセグメントをそれぞれ一言で説明すると以下の通りです。

ディメンションとは、ユーザーデータのうち特に重要なフィールド。
セグメントとは、ユーザーデータに関する条件を組み合わせて作成されたグループ。

ユーザーの出身地を例に挙げて詳しく説明します。
null

この例の場合、ディメンションとセグメントを分類すると以下の通りです。

ディメンション:「出身地」
セグメント:「東日本出身」「西日本出身」
ユーザーの出身地は、ディメンションの値です。

ユーザーから見たディメンションとセグメント

実際に個別のユーザーのイベントデータを見てみると、両者の違いが分かりやすいです。
ユーザーリスト画面を開きます。
ユーザリスト画面では、「イベント時点のセグメント」「イベント時点のディメンション」が確認できます。

  • イベント時点のディメンション
    ユーザーがイベント時点で持っていたフィールド値が表示されます。
    null

  • イベント時点のセグメント
    ユーザーがイベント時点で属していたセグメントが表示されます。
    null
    先程の出身地を例に挙げて説明します。
    null

ユーザーAに対するイベント時点のディメンションやセグメントは、以下のようになります。

イベント時点のディメンション:東京都
イベント時点のセグメント:東日本出身

ここまでで、ユーザーにとってディメンションとはユーザーデータのフィールド値であり、セグメントとはグループを表していることが分かります。
このことを踏まえて接客サービス編集画面での対象ユーザーの指定について見ていきます。
前述のように、対象ユーザーを指定するときにディメンションでは接客サービスごとに接客サービス編集画面上で柔軟に対象の範囲を変えることができます。
null

それは、ディメンションが単にユーザーデータのフィールド値であるからです。その値を接客サービス側で設定した範囲と比較することで、対象ユーザーかどうかを判定しているわけです。
セグメントの場合は、セグメントの条件設定で範囲指定をすることでグループを作成しています。
null

そのため接客サービスごとに接客サービス編集画面上で対象ユーザーの範囲を柔軟に変えることはできません。

作成時の条件設定方法の違い

セグメントとディメンションでは、作成時に指定する設定内容が異なります。

セグメントの条件設定

セグメントではユーザーデータの「フィールド」の「統計値」に対して「比較条件」を指定します。
null

ディメンションの条件設定

一方、ディメンションではユーザーデータの「フィールド」の「統計値」を指定します。
セグメントとは異なり比較条件は指定しません。
null

前述のように、セグメントとは「ユーザーデータに関する条件を組み合わせて作成されたグループ」で、ディメンションとは「ユーザーデータのうち特に重要なフィールド」です。
そのため、セグメントの条件設定では条件の作成が必要ですが、ディメンションの条件設定では単にユーザーデータの対象フィールドを指定するだけで足ります。

作成後の変更しやすさの違い

ディメンション、セグメントともに作成後の変更が可能です。しかし、セグメントでは条件を変更しても過去のイベントに紐付くセグメントは変わりません。

例としてイベント発生後に、「購入金額が5,000円以上10,000円未満」セグメントを「購入金額が5,000円以上7,500円未満」変更するケースを考えます。

  1. 「購入金額が5,000円以上10,000円未満」セグメントを作成します
    null

  2. 例えば9,800円の商品を購入したユーザーについて、ユーザーストーリー画面を確認します
    null

    購入金額が9800円であることが分かります。
    null

    「購入金額が5,000円以上10,000円未満」セグメントに属していることが確認できます。
    null

  3. 「購入金額が5,000円以上10,000円未満」セグメントを変更して、「購入金額が5,000円以上7,500円未満」セグメントにします
    null

  4. 2と同じイベントを確認します
    null
    null
    購入金額が9800円であるにも関わらず、「購入金額が5,000円以上7,500円未満」セグメントに入ってしまっていることが分かります。
    null

条件を変更しても過去のイベントに紐付くセグメントの所属状況が変わるわけではありません。
例で挙げたように「購入金額が5,000円以上7,500円未満」のセグメントに属しているように見えるが、実際の購入金額は9800円というような実態とのずれが起こります。
そのため、セグメントの作成後の大幅な条件変更は推奨しておりません。