検索
検索をクリア
検索終了
Google アプリ
メインメニュー
true

カスタム ディメンション / 指標

標準以外のデータをレポートに追加します。

カスタム ディメンションとカスタム指標はアナリティクス アカウントの既定のディメンションと指標とほとんど同一ですが、自分で作成するという点で異なります。Google アナリティクスで自動的にトラッキングされないデータを収集、解析するために使用できます。

この記事の内容:

概要

カスタム ディメンションと指標を使用すると、Google アナリティクスのデータと、CRM データなどの Google アナリティクス以外のデータを結合することができます。次に例を示します。

  • 登録ユーザーの性別を CRM システムに保存している場合は、そのデータと Google アナリティクスのデータを結び付ければ、ページビュー数を性別で分けて確認できます。

  • ゲーム開発においては、スクリーンビュー数といった既定の指標よりも、レベルの完了数やハイスコア数といった指標の方が有用な場合があります。そこで、カスタム指標を使ってこうしたデータをトラッキングすれば、重要な指標を継続的にトラッキングして、読みやすく柔軟性の高いカスタム レポートでデータを確認できます。

カスタム ディメンションは、カスタム レポートのプライマリ ディメンションとして表示されます。標準レポートでセグメントやセカンダリ ディメンションとしても使用できます。

事前の準備

カスタム ディメンションとカスタム指標を利用できるのは、ユニバーサル アナリティクスを使用しているプロパティか、少なくとも 1 つのアプリ レポートビューを含むプロパティのみです。カスタム ディメンションとカスタム指標は、Android および iOS(v2.x 以上)向けの Google アナリティクス SDK、analytics.js、Measurement Protocol でサポートされています。

カスタム ディメンションと指標を使用するには、アナリティクス アカウントとトラッキング コードで追加の設定を行う必要があります。両方の設定を済ませると、レポートで使用できるようになります。

制限事項と注意事項

各プロパティごとに、カスタム ディメンションのインデックスを 20、カスタム指標のインデックスを 20 利用できます。プレミアム アカウントの場合は、カスタム ディメンションのインデックスを 200、カスタム指標のインデックスを 200 利用できます。

カスタム ディメンションを削除することはできませんが、無効にはできます。ただし、再利用はお避けください。カスタム ディメンションの名前、範囲、値を編集する際は、新しい値と古い値の両方を、新しいディメンション名または古いディメンション名と組み合わせることができます。これにより、レポートのデータはフィルタによって細かく分割されない形式でまとめられます。

カスタム ディメンションと指標のライフサイクル

カスタム ディメンションやカスタム指標には、次の 4 つの段階があります。

  • 設定 - カスタム ディメンションやカスタム指標を定義して、インデックスや名前、その他のプロパティ(スコープなど)を設定します。
  • 収集 - トラッキング コードから Google アナリティクスにカスタム ディメンションやカスタム指標の値を送ります。
  • 処理 – カスタム ディメンションやカスタム指標の定義とビューフィルタを使って、データが処理されます。
  • レポート – 管理画面で、カスタム ディメンションやカスタム指標を使って新しいレポートを作成します。

設定

カスタム ディメンションやカスタム指標の値を Google アナリティクスに送るには、Google アナリティクスのプロパティで事前に値を定義しておく必要があります。Google アナリティクスの各プロパティでは、カスタム ディメンションを 20 個(20 インデックス)、カスタム指標を 20 個(20 インデックス)設定できます。

カスタム ディメンションやカスタム指標を定義する際には、特定のインデックスで名前とその他の設定値を指定します。カスタム ディメンションには次の設定値があります。

  • 名前 - カスタム ディメンションの名前で、この名前がレポートに表示されます。
  • スコープ – カスタム ディメンションまたはカスタム指標を適用するデータを指定します。 スコープの詳細をご確認ください。
  • アクティブ - カスタム ディメンションまたはカスタム指標の値を処理するかどうかを指定します。アクティブでないカスタム ディメンションもレポートに表示されますが、その値は処理されません。

カスタム指標の設定値には次のものがあります。

  • 名前 - カスタム指標の名前で、この名前がレポートに表示されます。
  • - カスタム指標の値をレポートに表示する方法を指定します。
  • 最小値、最大値 - 処理とレポート表示の対象とする値の最小値と最大値です。
  • アクティブ - カスタム指標の値を処理するかどうかを指定します。アクティブでないカスタム指標もレポートに表示されますが、その値は処理されません。

カスタム ディメンションとカスタム指標は Google アナリティクスの管理画面で定義します。

カスタム ディメンションやカスタム指標を定義したら、できるだけ名前やスコープを後から変更しないようにします。こうした値の変更がレポートに与える影響については、実装に関する注意事項をご確認ください。

収集

カスタム ディメンションとカスタム指標の値は、インデックス パラメータと値パラメータのペアとして、収集の段階で Google アナリティクスに送られます。インデックス パラメータは、設定段階でカスタム ディメンションやカスタム指標に割り当てられるインデックスに対応します。

他の種類のデータと異なり、カスタム ディメンションとカスタム指標は、他のヒット(ページビュー、イベント、e コマース トランザクションなど)にパラメータとして付加されて Google アナリティクスに送られます。このため、カスタム ディメンションやカスタム指標の値は、それを付加するヒットを Google アナリティクスに送るトラッキング呼び出しの前に設定する必要があります。

たとえば、カスタム ディメンションの値を設定する場合のコードは、次のようになります。

ga('create', 'UA-XXXX-Y', 'auto');

// Set value for custom dimension at index 1.
ga('set', 'cd1', 'Level 1');

// Send the custom dimension value with a pageview hit.
ga('send', 'pageview');

カスタム指標の型

整数の値を送る場合、カスタム指標は Integer 型か Time 型にする必要があります。ただし、現地通貨として適切な 10 進数を送る場合は Currency 型も使用できます。

処理

カスタム ディメンションの処理段階では、スコープによって個々のカスタム ディメンションが適用されるヒットが決まり、ビューフィルタによって最終的なレポートに含まれるヒットと付加される値が決まります。

スコープと優先順位

スコープによって、個々のカスタム ディメンションの値を付加するヒットの範囲が決まります。スコープのレベルは、商品ヒットセッションユーザーの 4 つです。

  • 商品 – 値は、設定されている商品(拡張 e コマースのみ)に適用されます。
  • ヒット - 値は、設定された 1 つのヒットにのみ適用されます。
  • セッション - 1 回のセッションのすべてのヒットに値が適用されます。
  • ユーザー - 現在と将来のセッションのすべてのヒットに値が適用されます(値が変わるか、カスタム ディメンションがアクティブでなくなるまで適用されます)。
商品レベルのスコープ

商品レベルのスコープを持つカスタム ディメンションの値は、その値が設定されている商品のみに適用されます。1 回のヒットで複数の商品データが送られる場合があるため、1 回のヒットで商品レベルのスコープが付加されたカスタム ディメンションが複数送られる場合もあります。

ヒットレベルのスコープ

ヒットレベルのスコープを持つカスタム ディメンションの値は、その値が設定されたヒットにのみ適用されます。下の図 A図 B図 C の説明をご覧ください。

図 A: ユーザーがヒット 2 回(H1、H2)を送信します。H2 にはカスタム ディメンション 1 の値 A が設定されており、この値は H2 にのみ適用されます。
 
図 B: ユーザーが 3 回目のヒット(H3)を送信します。H3 にはカスタム ディメンションの値が設定されていません。
 
図 C: ユーザーが 4 回目のヒット(H4)を送信します。H4 にはカスタム ディメンション 1 の値 B が設定されており、この値は H4 にのみ適用されます。


セッション レベルのスコープ

あるセッションでセッション スコープのカスタム ディメンション(同一インデックス)に 2 つの 値が設定された場合は、後から設定された値が優先され、そのセッションのすべてのヒットに適用されます。下の図 D では、最後に設定された値で同じインデックスの過去の値が上書きされた状況が示されています。

図 A: ユーザーが、カスタム ディメンションの値が設定されていないヒット(H1)を送信します。
 
図 B: 同じセッションで、ユーザーが、カスタム ディメンション 1 の値が A に設定されている 2 回目のヒット(H2)を送信します。セッション スコープにより、値 A が H1 にも適用されます。
 
図 C: ユーザーが 3 回目のヒット(H3)を送信します。カスタム ディメンション 1 の値が H3 とともに送信されることはありませんが、セッション スコープにより、値 A が H3 に自動的に適用されます。
 
図 D: ユーザーが、新しいカスタム ディメンション 1 の値 B が設定された 4 回目のヒット(H4)を送信します。セッション スコープにより、値 B がセッションのすべてのヒットに適用され、過去のヒットの値 A を上書きします。


ユーザーレベルのスコープ

同じセッションでユーザー スコープのカスタム ディメンションに 2 つの値が設定された場合、そのセッションでは最後に設定された値が優先されます。また、そのユーザーのその後のセッションでもその値が適用されます。

下の図 B では、セッション レベルのカスタム ディメンションと同じように、セッション 2 のすべてのヒットにカスタム ディメンションの値 A が適用されます。しかし、図 C ではセッション レベルのカスタム ディメンションとは異なり、カスタム ディメンション 1 がユーザーレベルのスコープを持っているため、3 回目のセッションのヒットにも引き続き値 A が適用されます。

図 A: ユーザーがセッションを開始し、ヒットが 3 回(H1、H2、H3)記録されました。カスタム ディメンションの値は設定されていません。
 
図 B: 同じユーザーが新しいセッションを開始し、ヒットがさらに 3 回記録されました。カスタム ディメンション 1 の値が H3 で A に設定されます。続いて、カスタム ディメンション 1 の値がセッションのすべてのヒットに適用されます。
 
図 C: ユーザーが 3 回目のセッションを開始し、ヒットがさらに 3 回記録されました。カスタム ディメンション 1 のユーザーレベルのスコープにより、値 A がセッション 3 のすべてのヒットに適用されます。

フィルタ

ビューフィルタは、カスタム ディメンションやカスタム指標とさまざまな形で相互作用します。

カスタム ディメンションとカスタム指標の値は、それぞれの値が設定されたヒットに付加されます(値が適用されるスコープとは関係ありません)。そのヒットがビューフィルタでフィルタされると、それに関連付けられたカスタム ディメンションやカスタム指標もフィルタされますが、その状況は設定されたスコープによって次のように異なります。

  1. ヒットスコープの場合: カスタム指標とヒットスコープのカスタム ディメンションは、付加されたヒットがフィルタされれば、どちらもフィルタされます。
  2. セッション スコープかユーザー スコープの場合: セッション スコープかユーザー スコープのカスタム ディメンションは、その値が付加されたヒットがフィルタされても、ディメンション自体はフィルタされません。ディメンションの値は現在のセッションのすべてのヒットに適用され、ユーザー スコープのディメンションであれば、その後のセッションでも適用されます。

また、カスタム ディメンションはビューフィルタを作成する際にも使用できます。これにより、カスタム ディメンションのスコープに基づいてヒットをフィルタすることができます。たとえば、ユーザー スコープのカスタム ディメンションの値でフィルタを設定すれば、その値に関連付けられたユーザー グループの現在と将来のセッションをフィルタすることができます。

レポート

設定、収集、処理という一連の段階を終えたカスタム ディメンションとカスタム指標は、ユーザーのレポート管理画面に表示されるようになります。

カスタム ディメンションとカスタム指標はカスタム レポートに表示され、アドバンス セグメントで利用できます。また、カスタム ディメンションは標準レポートのセカンダリ ディメンションとしても使用できます。

次の例では、プレーヤーの行動を理解するために、ゲーム開発者がどのようにカスタム ディメンションとカスタム指標を使用できるかを示します。

あるゲーム開発者が、最近新しいゲームをリリースしたとします。

この開発者は、最新の Google アナリティクスのトラッキング コードを使用して、個々のレベルがプレイされるたびにスクリーンビューをカウントしているため、既にレベルごとのプレイ回数は把握しています。そして、さらに次のような疑問の答えを見つけようとしています。

  1. 初級レベル、中級レベル、上級レベルでプレイ回数に違いがあるか?
  2. 3 日間の無料お試し期間に、毎日何レベルがプレイされるか?
  3. 無料お試し期間のユーザーと有料ゲームのユーザーとで、プレイ回数に違いがあるか?

こうした疑問を明らかにするには、カスタム ディメンションを使ってヒット、セッション、ユーザーの新しいグループを作成します。

さらに開発者は、ユーザー エクスペリエンスを強化するために、「パワーアップ」などの追加機能を販売しています。開発者は、既にカテゴリ フィールドやバリエーション フィールドを使用していますが、ユーザーが購入したパワーアップ機能の強度を測定するためにはさらに別のフィールドが必要です。開発者はこのようにして、ある特定の能力のパワーアップが他よりも多く購入されたかどうかを把握できます。

ヒットレベルのスコープ

このゲーム開発者のケースを例として、ヒットレベルのカスタム ディメンションを使ってレベルのプレイ回数を難易度(初級: easy、中級: medium、上級: hard)別に把握する方法を見てみましょう。

この開発者は既にスクリーンビューを使って各レベルのプレイ回数をトラッキングしており、次は最もよくプレイされているレベルの難易度を把握したいと考えています。

この場合、作成するレポートは次のようなものになります。

難易度 スクリーンビュー数
easy  
medium  
hard  

カスタム ディメンションを使う前からレベルごとの合計スクリーンビュー数はわかっていましたが、こうしたスクリーンビュー数を難易度別に分けて見ることはできませんでした。

ヒットレベルのカスタム ディメンションを使うと、個々のスクリーンビューに難易度の情報を付加して、最もプレイされた難易度をレポートで把握することができます。

ヒットレベルのスコープを使う理由

ユーザーは 1 回のセッションで複数のレベルをプレイする可能性があります。この場合、ヒットレベルのスコープを使えば、難易度の値を伴って送られたスクリーンビューだけにこの値が付加されるため、個々のレベルのスクリーンビューで難易度の値を個別に設定できます。

設定

カスタム ディメンションを導入する最初のステップでは、管理画面の [管理] のプロパティ設定で、カスタム ディメンションを定義します。この例では、カスタム ディメンションを次のように定義します。

インデックス 1
名前 Difficulty
スコープ Hit
アクティブ true

収集

ゲーム内の各レベルは既にスクリーンビューでトラッキングされています。さらに各レベルに難易度(Difficulty)の情報を付加するには、スクリーンビューのトラッキング呼び出しを行う前に、カスタム ディメンションの値を設定する必要があります。

トラッキング コードは次のようになります。

ga('create', 'UA-XXXX-Y', 'auto');

// Set value for custom dimension at index 1.
ga('set', 'cd1', 'easy');

// Send the custom dimension value with a pageview hit.
ga('send', 'pageview', '/level_1/');

このコードでは、このレベルのスクリーンビューがトラッキングされる直前に、カスタム ディメンションの値が設定されています。これにより、スクリーンビューに難易度の情報が付加され、レポートでスクリーンビュー数を難易度別に分類できるようになります。

処理

収集されたヒットが Google アナリティクスに送られて処理されると、カスタム ディメンションの値がそのスコープに基づいてヒットに適用されます。

たとえば、1 人のプレーヤーが 1 回のセッションで 6 レベルをプレイした場合、収集されるデータは次のようになります。

userId = 5555
Session 1:
H1: screen_name=/level_1/ cd1_value=easy
H2: screen_name=/level_2/ cd1_value=medium
H3: screen_name=/level_3/ cd1_value=hard
H4: screen_name=/level_4/ cd1_value=easy
H5: screen_name=/level_5/ cd1_value=medium
H6: screen_name=/level_6/ cd1_value=medium

ヒットレベルのスコープを使用すると、難易度の値を伴って送られたスクリーンビューだけにこの値が付加されます。

レポート

処理が完了すると、個々のスクリーンビューにそれぞれの難易度の値が付加されます。そこで、レポートでディメンションとしてスクリーン名と難易度、指標としてスクリーンビュー数を使用すれば次のようなデータを確認できます。

スクリーン名 難易度 スクリーンビュー数
/level_1/ easy 1
/level_2/ medium 1
/level_3/ hard 1
/level_4/ easy 1
/level_5/ medium 1
/level_6/ medium 1

カスタム レポートでメインのディメンションとして難易度を使ってスクリーンビュー数を分類すれば、それぞれの難易度のレベルがプレイされた回数を把握できます。

難易度 スクリーンビュー数
easy 2
medium 3
hard 1

上記のレポートでは、難易度が中級のレベルが最も多くプレイされたことがわかります。こうした分析は、ヒットレベルのカスタム ディメンションを使ってスクリーンビュー数を分類することで可能になります。

セッション レベルのスコープ

次に、同じゲームについて、セッション レベルのカスタム ディメンションを使って、3 日間の無料お試し期間にプレイされたレベル数を日別で把握する方法を見ていきましょう。

この開発者は、既に各レベルでスクリーンビューをトラッキングしてそれぞれのプレイ回数を把握しており、次はプレイされているレベルの数を日別で確認したいと考えています。

この場合、作成するレポートは次のようなものになります。

試用日 スクリーンビュー数
1 日目  
2 日目  
3 日目  

セッション レベルのカスタム ディメンションを使用すると、無料期間の試用日ごとにスクリーンビュー数を分類して、利用時間の増加に伴うスクリーンビュー数の推移を確認できます。

セッション レベルのスコープを使う理由

セッション レベルのスコープを使用すると、すべてのセッションとその全ヒットを試用日の値ごとに効率的に分類できます。

ヒットレベルのスコープでも同じことができますが、セッション レベルのスコープを使えば、コードの追加を最小限に抑えながら試用日の値を簡単に設定できます。

設定

試用日のカスタム ディメンションは、管理画面のプロパティ設定セクションで次のように定義します。

インデックス 2
名前 Day of Trial
スコープ Session
アクティブ true

収集

ゲーム内の各レベルは既にスクリーンビューでトラッキングされています。このとき、1 つのセッションのすべてのスクリーンビューに試用日の値を付加するには、カスタム ディメンションの値をセッションごとに 1 つだけ設定すれば済みます。

ユーザーがゲームを開始した時点で、開発者は次のようにカスタム·ディメンションを設定します。

ga('create', 'UA-XXXX-Y', 'auto');

// Set value for custom dimension at index 2.
var day = getDayOfTrial();
ga('set', 'dimension2', day );

// Send the custom dimension value with a pageview hit.
ga('send', 'pageview', '/level_1/');

セッション レベルのカスタム ディメンションの値は、そのセッションの期間中いつでも設定できますが、この例では最も簡単な方法として、セッションの開始時に試用日を特定して値を設定しています。

処理

収集されたヒットが Google アナリティクスに送られて処理されると、カスタム ディメンションの値がそのスコープに基づいてヒットに適用されます。

たとえば、あるプレーヤーが試用日の 1 日目に 2 回、2 日目に 1 回、3 日目に 1 回ゲームを使った場合、収集されるデータは次のようになります。

userId = 5555
Session 1:
H1: screen_name=/level_1/  cd2_value=1
H2: screen_name=/level_2/
H3: screen_name=/level_2/

Session 2:
H4: screen_name=/level_3/  cd2_value=1
H5: screen_name=/level_4/
H6: screen_name=/level_4/

Session 3:
H1: screen_name=/level_1/  cd2_value=2
H2: screen_name=/level_2/
H3: screen_name=/level_3/

Session 4:
H1: screen_name=/level_3/  cd2_value=3

カスタム ディメンションの値はセッションごとに 1 つのスクリーンビューだけに付加されて送られています。

セッション レベルのスコープを使用すれば、実際に試用日の値を付加して送ったヒットだけでなく、対象セッションで収集されるすべてのヒットに試用日の値が付加されます。

レポート

処理が完了すると、同じセッションで送られたすべてのスクリーンビューにセッション レベルのカスタム ディメンションの値が付加されます。そこで、レポートでディメンションとして試用日とスクリーン名、指標としてスクリーンビュー数を使用すれば、次のようなデータを確認できます。

試用日 スクリーン名 スクリーンビュー数
1 /level_1/ 1
1 /level_2/ 2
1 /level_3/ 1
1 /level_4/ 2
2 /level_1/ 1
2 /level_2/ 1
2 /level_3/ 1
3 /level_3/ 1

そして、スクリーンビュー数を日別に分類し、プレイされたレベルの数を試用日ごとに確認するため、試用日をプライマリ ディメンションに指定してカスタム レポートを作成します。これにより、次のようなデータが確認できます。

試用日 スクリーンビュー数
1 6
2 3
3 1

このデータから、プレイされたレベルの数は 1 日目が最も多く、2 日目と 3 日目には目に見えて減ったことがわかります。こうした分析は、セッション レベルのカスタム ディメンションを使って複数のセッションとその全ヒットを値別に分類することで可能になります。

ユーザーレベルのスコープ

最後に、ユーザーレベルのカスタム ディメンションを使って、プレイされたレベル数を有料版と無料試用版のユーザー別に把握する方法を見てみましょう。

これまでの例と同じように、この開発者は各レベルごとのプレイ回数を既にスクリーンビューでトラッキングしており、次はスクリーンビュー数を無料ユーザーと有料ユーザー別に分けて確認したいと考えています。

この場合、確認したいデータは次のようなものになります。

プレーヤー タイプ スクリーンビュー数
無料  
有料  

ユーザーレベルのカスタム ディメンションを使用すると、個々のユーザーの現在以降のすべてのセッションのあらゆるスクリーンビューに、プレーヤー タイプの値を付加できます。

ユーザーレベル スコープを使う理由

ユーザーレベル スコープを使用すると、個々のユーザーのあらゆるセッションとヒットを 1 つの値で簡単に分類できます。したがって、この例のプレーヤー タイプのように、個々のユーザーに対して頻繁に変わらない値については、ユーザーレベル スコープが適しています。

ヒットレベルやセッション レベルのスコープを使っても同じことはできますが、ユーザーレベル スコープを使えば最小限のコードで最も簡単にこうした機能を実現できます。

設定

プレーヤー タイプのカスタム ディメンションは、[管理] で次のように定義します。

インデックス 3
名前 Player Type
スコープ User
アクティブ true

収集

これまでの例と同じように、各レベルは既にスクリーンビューでトラッキングされています。スクリーンビュー数をプレーヤー タイプ別に分類するには、まずユーザーがゲームを初めて利用したときにプレーヤー タイプのディメンションを設定し、その後ユーザーがフルバージョンのゲームを購入しアクセスした場合に設定し直します。

ユーザーが初めてゲームを利用したときに、カスタム·ディメンションを次のように設定します。

ga('create', 'UA-XXXX-Y', 'auto');

// Set value for custom dimension at index 3.
ga('set', 'dimension3', 'Free' );

// Send the custom dimension value with a pageview hit.
ga('send', 'pageview', '/level_1/');

また、同じユーザーがフルバージョンのゲームを購入した場合にも、カスタム ディメンションを次のように設定します。

ga('create', 'UA-XXXX-Y', 'auto');

// Set value for custom dimension at index 3.
ga('set', 'dimension3', 'Paid' );

// Send the custom dimension value with a pageview hit.
ga('send', 'pageview', '/level_1/');

処理

これまでの例と同じように、収集されたデータが処理されると、カスタム ディメンションの値がそれぞれのスコープに基づいて対象のヒットに適用されます。

たとえば、1 人のユーザーが無料ユーザーとして 2 回、有料ユーザーとして 1 回プレイした場合、収集されたデータは次のようになります。

userId = 5555
Session 1:
H2: screen_name=/level_1/ cd3_value=free
H3: screen_name=/level_2/

Session 2:
H1: screen_name=/level_2/
H2: screen_name=/level_3/
H3: screen_name=/level_3/

Session 3:
H1: screen_name=/level_3/ cd3_value=paid
H2: screen_name=/level_4/

この場合、セッション 1 で設定された値 free は、セッション 1 とセッション 2 のすべてのヒットに適用されます(セッション 3 で新しい値 paid が設定されるまで有効です)。

レポート

処理が完了すると、プレーヤー タイプのカスタム ディメンションの値が設定されたセッションに加え、その後のすべてのセッションとヒットに、この値が付加されます。

そこで、レポートでディメンションとしてプレーヤー タイプとスクリーン名、指標としてスクリーンビュー数を使用すれば次のようなデータを確認できます。

プレーヤー タイプ スクリーン名 スクリーンビュー数
無料 /level_1/ 1
無料 /level_2/ 2
無料 /level_3/ 2
有料 /level_3/ 1
有料 /level_4/ 1

そして、スクリーンビュー数をプレーヤー タイプ別に分類し、プレイされたレベルの数を無料ユーザーと有料ユーザーごとに確認するため、プレーヤー タイプをプライマリ ディメンションに指定してカスタム レポートを作成します。すると、次のようなデータを確認できます。

プレーヤー タイプ スクリーンビュー数
無料 5
有料 2

このデータから、有料ユーザーよりも無料ユーザーの方がプレイしたレベル数が多いことがわかります。こうした分析は、ユーザーレベルのカスタム ディメンションを使ってユーザーとそのセッションとヒットを値別に分類することで可能になります。

商品レベルのスコープ

ゲーム開発者が商品レベルのカスタム ディメンションを使用して、購入されたパワーアップ機能の強度(弱: weak、中: medium、強: strong)を調べる方法の例を見てみましょう。

開発者は既に、拡張 e コマースを使用してパワーアップの購入回数をトラッキングしています。次に、どの強度のパワーアップが最も購入されているかを把握します。

レポートは次のようになります。

パワーアップの強度 商品の収益
weak  
medium  
strong  

カスタム ディメンションを使用する前でも、開発者はパワーアップによる商品の総収益を確認できますが、パワーアップの強度別に収益を分類することはできません。

商品レベルのカスタム ディメンションを使用することにより、パワーアップの強度を各商品に 関連付けることができるため、最も多く購入された強度のデータ(および表示回数、クリック数など、その他拡張 e コマースで使用できるアクション)をレポートに追加できます。

商品レベルのスコープを使う理由

ユーザーは、複数のパワーアップをまとめて購入することがあります。この場合、商品レベルのスコープを使えば、強度の値を伴って送られた商品だけにこの値が付加されるため、ユーザーが購入した各パワーアップに強度の値を個別に設定できます。

設定

パワーアップ強度のカスタム·ディメンションは、[管理] のプロパティ設定セクションで次のように定義します。

インデックス 4
名前 Powerup Strength
スコープ Product
アクティブ true

収集

ゲーム開発者は、既に各パワーアップの購入をトラッキングしています。個々のパワーアップに強度を付加するには、カスタム·ディメンションの値を商品データとともに設定する必要があります。

このディメンションを商品に追加すると、次のようになります。

ga('ec:addProduct', {               // Provide product details in an productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Powerup',                // Product name (string).
  'category': 'Extras',             // Product category (string).
  'variant': 'red',                 // Product variant (string).
  'price': '10.00',                 // Product price (currency).
  'quantity': 2,                    // Product quantity (number).
  'dimension4': 'strong'            // Product-scoped custom dimension (string).
});
ga('ec:setAction', 'purchase', {
  'id': 'T12345',
  'revenue': '20.00'
});

ga('send', 'pageview');     // Send transaction data with initial pageview.

この例では、カスタム·ディメンションが商品情報とともに設定されることにより、パワーアップに強度の値が付加されます。

処理

これまでの例と同じように、ヒットが収集されて Google アナリティクスに送られた後に、データが処理され、カスタム·ディメンションの値が設定された商品に適用されます。

たとえば、ユーザーが 1 回のセッションで 3 つのパワーアップを購入した場合、収集されたデータは次のようになります。

userId = 5555
Session 1:
H1: product_name=powerup cd4_value=weak
    product_name=powerup cd4_value=strong
H2: product_name=powerup cd4_value=weak

商品レベルのスコープを使用すると、パワーアップの値は、それぞれが設定されている商品のみに付加されます。

レポート

処理が完了すると、各商品に強度の値が個別に付加されるため、開発者はカスタム レポートを作成して、パワーアップの強度別に収益を確認できます。

パワーアップの強度 商品の収益
weak 20.00
strong 10.00

このレポートでは、強度が弱のパワーアップの収益が多くなりました。

カスタム指標

スコープ

カスタム ディメンションと同様に、カスタム指標にもいくつかのスコープがあります。ヒットレベルのカスタム指標は、その指標を付けて送られたすべてのヒットレベルのディメンションに付加されます。同様に、商品レベルのカスタム指標は、その指標を付けて送られた商品のみに付加されます。次の例では、2 種類のカスタム指標を示します。

ヒットスコープのカスタム指標の例

これまでの例で、このゲーム開発者は各レベルで発生した個々のプレイを 1 回のスクリーンビューとしてトラッキングしていました。したがって、レポートに表示されるスクリーンビュー数の指標は、レベルのクリアを目指してプレイされた回数を表します。

しかし、この開発者は各レベルがクリアされた完了率も知りたいと考えています。

そこで、レベルの完了率を把握するため、「レベル完了数」という新しいカスタム指標を使用して、この数と各レベルのスクリーンビュー数を比較することにしました。

この場合、確認したいデータは次のようなものになります。

スクリーン名 スクリーンビュー数 レベル完了数
/level_1/    
/level_2/    
/level_3/    

カスタム指標を使う理由

ほとんどの場合、重要な指標をトラッキングする際にはイベント、スクリーンビュー、カスタム指標を自由に選んで使用できます。中でもカスタム指標は特に柔軟性が高く、カスタム レポートが分析しやすくなるため、重要な指標のトラッキングに便利です。

この例でレベルの完了率をトラッキングする場合、スクリーンビューは各レベルで重複してカウントされてしまうため、別のトラッキング方法を探す必要があります。

また、イベントだけを使って 1 つのディメンションにスクリーンビュー数とレベル完了率を組み込んだ上記のような階層的なレポートを作成することは困難です。

こうした点を考慮すると、この開発者にとって重要なレベル完了率をトラッキングするには、レベル完了率をカスタム指標としてトラッキングするのが最も簡単です。

設定

レベル完了率のカスタム指標は、管理画面の管理セクションで次のように定義します。

インデックス 1
名前 Level Completions
スコープ Hit
フォーマット タイプ Integer
アクティブ true

収集

この開発者は既にスクリーンビューを使って各レベルの始まりをトラッキングしており、次は新しいカスタム指標を使ってレベルの完了をトラッキングしたいと考えています。

カスタム ディメンションと同じように、カスタム指標も他のヒットにパラメータとして付加されて Google アナリティクスに送られます。このためカスタム指標の値を送るには、レベルの完了を記録するための別のヒットも送る必要があります。この例では、レベルの完了時にイベントを呼び出し、このイベントにカスタム指標を付加します。

トラッキング コードは次のようになります。

ga('create', 'UA-XXXX-Y', 'auto');

// Increment the level completion metric by 1.
ga('set', 'metric1', 1 );

// Send the custom dimension value with an event hit.
ga('send', 'event', 'Level', 'completion');

処理

このゲームで 1 人のプレーヤーが 1 回のセッションで 3 レベルをプレイした場合、処理前のデータは次のようになります。

userId = 5555
Session 1
H1: type=screen_view screen_name=/level_1/
H2: type=event screen_name=/level_1/ cm1_value=1
H3: type=screen_view screen_name=/level_2/
H4: type=screen_view screen_name=/level_2/
H5: type=screen_view screen_name=/level_2/
H6: type=event screen_name=/level_2/ cm1_value=1
H7: type=screen_view screen_name=/level_3/
H8: type=event screen_name=/level_3/ cm1_value=1

レポート

データの処理が終わると、ディメンションとしてスクリーン名、指標としてスクリーンビュー数、合計イベント数、レベル完了数を使って次のようなレポートを作成できます。

スクリーン名 スクリーンビュー数 合計イベント数 レベル完了数
/level_1/ 1 1 1
/level_2/ 3 1 1
/level_3/ 1 1 1

この例ではレベル完了数をカスタム指標としてトラッキングしたため、合計イベント数から完了イベント数をフィルタする手間を省くことができます。

そして、レベル完了数のカスタム指標を使って、次のようなカスタム レポートを簡単に作成できます。

スクリーン名 スクリーンビュー数 レベル完了数
/level_1/ 1 1
/level_2/ 3 1
/level_3/ 1 1

このデータから、スクリーンビュー数に基づくレベル完了率がレベル 2 では 33% に留まり、レベル 1 やレベル 3 に比べてレベル 2 のクリアが難しい実態がわかります。このようにレベル完了数をカスタム指標としてトラッキングすれば、重要な指標を簡単に把握し、簡潔なレポートを作成して同僚と情報を共有できます。

商品スコープのカスタム指標の例

先ほどの例では、ゲーム開発者はパワーアップの購入を個別にトラッキングしていました。個々の購入には、数量や商品の収益など、さまざまな指標を付加できます。

最近、このゲーム開発者はあるプロモーションを実施し、すべてのユーザーに 100 ドルのクレジットを付与しました。そして、ユーザーがこのクレジットを利用してどのパワーアップを購入するかを測定したいと考えています。

ユーザーが商品を購入するときに使用されるクレジットを把握するために、この開発者は「使用されたクレジット」という新しいカスタム指標を使用します。

この場合、確認したいデータは次のようなものになります。

パワーアップの強度 商品の収益 使用されたクレジット
strong    
medium    
weak    

設定

「使用されたクレジット」のカスタム指標は、[管理] セクションで次のように定義します。

インデックス 2
名前 Credits Used
スコープ Product
フォーマット タイプ Currency
アクティブ true

収集

商品レベルのカスタム ディメンションと同様に、商品レベルのカスタム指標は、商品データに付加されたパラメータとして Google アナリティクスに送られます。

トラッキング コードは次のようになります。

ga('ec:addProduct', {               // Provide product details in an productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Powerup',                // Product name (string).
  'category': 'Extras',             // Product category (string).
  'variant': 'red',                 // Product variant (string).
  'price': '10.00',                 // Product price (currency).
  'quantity': 2,                    // Product quantity (number).
  'dimension4': 'strong',           // Product-scoped custom dimension (string).
  'metric2': 5                      // Product-scoped custom metric (integer).
});
ga('ec:setAction', 'purchase', {
  'id': 'T12345',
  'revenue': '20.00'
});

ga('send', 'pageview');     // Send transaction data with initial pageview.


処理

1 人のプレーヤーが複数のパワーアップを購入した場合、処理前のデータは次のようになります。

userId = 5555
Session 1
H1: type=screen_view screen_name=/level_1/
H2: type=screen_view screen_name=/level_2/
    product_name=powerup cd4_value=weak cm4_value=5
    product_name=powerup cd4_value=strong cm4_value=5
H4: type=screen_view screen_name=/level_2/
    product_name=powerup cd4_value=medium cm4_value=1
    product_name=powerup cd4_value=weak cm4_value=10

レポート

処理が完了すると、開発者は、ディメンションとしてパワーアップの強度を、指標と して商品の収益と使用されたクレジットを使ったレポートを作成できます。

パワーアップの強度 商品の収益 使用されたクレジット
weak 20 15
strong 10 5
medium 10 1

このデータは、プレーヤーが強度が弱のパワーアップにクレジットを多く使用していることを示しています。また、開発者が中の強度のパワーアップで最も高い収益を得ていることがわかります。

実装に関する注意事項

カスタム ディメンションやカスタム指標を実装する際には、次の点にご注意ください。

既存のディメンションや指標の編集について

既存のカスタム ディメンションやカスタム指標の名前やスコープを編集すると、データに次のような影響があります。

  • 名前の編集: 既に処理されたデータの名前も変更されます。古いデータは新しい名前でのみ参照できます。
  • スコープの編集: 既に処理されたデータには影響しません。新しいデータだけが新しいスコープで処理されます。
  • アクティブ状態の変更: アクティブ フィールドは、カスタム ディメンションやカスタム指標の値を実際に処理するかどうかを示すものです。アクティブ フィールドが「false」の場合でも、カスタム·ディメンションやカスタム指標はレポートに表示されますが、その値は処理されていないため、関連するデータはありません。

スコープは検討してから設定

個々のカスタム ディメンションにスコープを設定する際には、値が変わる頻度の見込みを考慮します。セッション中に何度も変わるような値であれば(ゲームのレベル名など)、ヒットスコープを使ってそれぞれのヒットを送る前に値を設定します。一方、性別などのカスタム ディメンションであれば、ユーザーレベルで 1 回設定すれば済みます。個々のヒットに性別の値を付けて送ると、オペレーションの量が無駄に増えてしまいます。また、値が頻繁に変わるカスタム ディメンションにユーザー スコープを設定すると、多くのヒットに不適切な値が付加されてしまいます。

 

 

 

この記事は役に立ちましたか?
改善できる点がありましたらお聞かせください。