
Google アナリティクスのカスタム変数とそのトラッキングコード
投稿日:2012/2/10 作成者:衣袋 宏美
<データ収集と集計仕様>
Google アナリティクスでは、新しいユーザーセグメントを定義し、作成することができます。標準で提供されているセグメント以外のセグメントを定義して、適用できるということが最大のメリットです。二つの方法がありますが、「ユーザー定義」の方は将来廃止予定となっていますので、ここではカスタム変数を説明していきます。
ユーザー定義の使用目的としては、ユーザーをセグメントすることにありますので、長期間固定的なユーザー層を定義するための方法であると考えてください。セッション全体にわたるユーザー情報で非常に役立ちます。たとえば、サイトの会員と非会員の区別や、年齢や所得階層など、あまり変更されることのないユーザー情報のトラッキングです。
一方カスタム変数は、名前と値のペアから成るトラッキングコードを利用し、またユーザー、訪問(セッション)、ページの3レベルに対して与えることが可能です。ユーザー定義ではふさわしくなかった、商品やサービスに対するユーザーの好みの傾向をトラッキングするなど、変わりやすい値に合わせて設定することにも対応できます。
●トラッキングコード
カスタム変数では、_setCustomVarメソッドを呼び出します。この_setCustomVarメソッドの仕様は次の通りです。
_setCustomVar(index, 'name', 'value', scope)
index:変数番号(必須)
変数を区別する番号で、整数の1から5までの5つのいずれかを割り当てることができる。
name:変数の名前(必須)
カスタム変数の名前で文字列。レポート画面上ではカスタム変数(キー)の名前として表示される。
value:変数に対応する値(必須)
カスタム変数の値で変数名とペアになる文字列。例えば「name」が性別、「value」は男性、女性といった使い方。通常一つのカスタム変数の名前に対して複数の値が存在する。レポート画面上ではカスタム変数(値)の名前として表示される。
scope:利用用途番号(オプション)
変数の利用用途。1から3の整数のいずれかを割り当てるが、未定義(オプションのため付けなくてよいので)だと3の扱いとなる。1はユーザーレベル、2は訪問(セッション)レベル、3はページレベルを意味する。この1から3のレベルの説明は後述の「カスタム変数の3つのレベル」で解説する。
なお2012/1/25まではname(名前)とvalue(値)は合計で64バイトを超えてはいけませんでしたが、1/26以降この上限が128文字と変更になりました。ただユーザーレベルの利用用途で使う場合は、cookie(_utmv)に値が格納される点を考慮すると、日本語文字列ではなく、相変わらず英数字を継続して利用したほうがよいかもしれません。
●トラッキングコードの実装例
下記の例はショッピングカートから品物を削除したセッションに対してカスタム変数を付与した場合です。カートから品物を削除したページに動的に実装した場合を示しています。
同期トラッキングコード使用時:
pageTracker._setCustomVar(1, 'removed', 'Yes', 2);
非同期トラッキングコード使用時:
_gaq.push(['_setCustomVar', 1, 'removed', 'Yes', 2]);
●カスタム変数の3つのレベル
1.ユーザーレベルのカスタム変数
例えば様々な会員種別がある場合、各会員種別にセグメントしたい場合などに利用します。例えば会員別の登録完了ページ別に「special」、「standard」などの値を付与します。
同期トラッキングコード使用時:
pageTracker._setCustomVar(1, 'user type', 'standard', 1);
非同期トラッキングコード使用時:
_gaq.push(['_setCustomVar', 1, 'user type', 'standard', 1]);
なおカスタム変数がセットされた以降でのセッションから有効となります。つまりカスタム変数がセットされたセッションとそれ以前のセッションは有効になりません。
2.訪問(セッション)レベルのカスタム変数
ログインさせるようなサイトでログイン ユーザーをセグメントしたい場合には、ログイン後のマイページなどにこのセッションレベルのカスタム変数を実装します。その例が下記です。
同期トラッキングコード使用時:
pageTracker._setCustomVar(1, 'type', 'member', 2);
非同期トラッキングコード使用時:
_gaq.push(['_setCustomVar', 1, 'type', 'member', 2]);
なお訪問(セッション)途中でログインした場合も、この訪問(セッション)全体に値が付与されます。カスタム変数の名前や値を変えた場合は、変えた後のものが上書きされます。
3.ページレベルのカスタム変数
コンテンツサイトでどのカテゴリ、サブカテゴリが人気かを知ることができます。ディレクトリやページタイトルなどではなく、任意にグルーピングしたい場合にこれを利用するのが有効です。
カテゴリがbusinessで、サブカテゴリがfinanceのページであれば、まず一つ目のカスタム変数にカテゴリを割り当てます。続いて二つ目のカスタム変数にサブカテゴリを割り当てます。その場合は下記のようになります。こうすることで、一つのページに二つのページレベルのカスタム変数を割り当てたことになります。
同期トラッキングコード使用時:
pageTracker._setCustomVar(1, 'category', 'business', 3); pageTracker._setCustomVar(2, 'sub-category', 'finance', 3);
非同期トラッキングコード使用時:
_gaq.push(['_setCustomVar', 1, 'category', 'business', 3]); _gaq.push(['_setCustomVar', 2, 'sub-category', 'finance', 3]);
●カスタム変数のセット例
1.ページを表示した時にカスタム変数をセットする
同期トラッキングコード使用時:
<body onLoad= "pageTracker._setCustomVar(1, 'type', 'user', 1);">
非同期トラッキングコード使用時:
<body onLoad= "_gaq.push(['_setCustomVar', 1, 'type', 'user', 1]);">
2.リンクをクリックした時にカスタム変数をセットする
同期トラッキングコード使用時:
<a href="xyz.html" onClick= "pageTracker._setCustomVar(1, 'type', 'xyz', 1);">click </a>
非同期トラッキングコード使用時:
<a href="xyz.html" onClick= "_gaq.push(['_setCustomVar', 1, 'type', 'xyz', 1]);">click </a>
3.ボタンをクリックした時にカスタム変数をセットする
同期トラッキングコード使用時:
<input type= "submit" value= "man" onClick= "pageTracker._setCustomVar(1, 'age', '50', 1);">click </a>
非同期トラッキングコード使用時:
<input type= "submit" value= "man" onClick= "_gaq.push(['_setCustomVar', 1, 'age', '50', 1]);">click </a>


- アクセス解析を2日間で徹底的に学ぶアクセス解析ゼミナールが2018年5月に開催。詳細と申込みはこちらから
- Google アナリティクスを2日間で徹底的に学ぶGoogle アナリティクス ゼミナールが2018年6月に開催。詳細と申込みはこちらから
- メルマガ「週刊GAフォーラム」の登録はこちらから。毎週月曜朝に1週間の更新情報をお届けします。ワンクリックで登録、解除も簡単
- 筆者が定期開催中の有料講座は4つあります。このページに全講座へのリンクがあります(応募中でないものも含めて)ので、どうぞ。
- Google アナリティクス関連詳細コンテンツの有料販売中。上級者、コンサル向けです。ここにコンテンツへのリンクと予告も載せてあります。