• Google Analyticsのカスタム変数はvisitor、session、pageのscopeを目的に合わせて選ぶ

Google Analyticsのカスタム変数はvisitor、session、pageのscopeを目的に合わせて選ぶ

公開日: 執筆:佐藤

Google Analyticsのカスタム変数は、残したい分類の寿命に合わせてscopeを選びます。利用者の分類を次回以降の訪問にも引き継ぐならvisitor、現在の訪問だけならsession、一つのページビューやイベントだけならpageです。

実装前に、name、value、使用するslot、scopeを表にしてください。コードでは、_setCustomVar()を_trackPageview()などの送信命令より前に置きます。scopeを決めずに空いているslotへ追加すると、別の変数を上書きし、レポートの分類を変えるおそれがあります。

visitor、session、pageは分類を残す期間が違う

Custom Variablesの機能説明では、カスタム変数をnameとvalueの組として定義し、page、session、visitorの三つのscopeを選べると説明しています。

scope 指定値 分類が付く範囲 向いている仮例
visitor 1 visitor Cookieが残る現在と将来のsession 会員区分など、次回以降も使う分類
session 2 現在のsession その訪問中にログインしたかなど、訪問ごとの分類
page 3 一つのpageview、event、transaction送信 閲覧したコンテンツの区分

visitor scopeは、個人を特定するための指定ではありません。Cookieが消去されるか、同じ変数が上書きされるまで、分類を現在と将来のsessionへ付ける指定です。

session scopeは、訪問が終わると消える分類に使います。たとえば、現在の訪問中にログインしたかを分ける場合です。次回の訪問にも残したい会員区分とは、目的が異なります。

page scopeは、一つの送信へ付ける分類です。ページの内容区分なら、nameをContent Section、valueをSupportなどにします。記事、商品、サポートといったページ単位の分類を、visitor全体の属性として残さないためです。

Multiple Custom Variablesの実装例も、visitor、session、pageの寿命を分け、各scopeに応じたコードを示しています。選択の基準は、分類したい対象が誰かではなく、どの範囲の送信へ同じ分類を付けるかです。

_setCustomVar()は四つの引数で分類を決める

カスタム変数は、次の形で設定します。

_setCustomVar(index, name, value, scope)

Google AnalyticsのCustom Variables開発資料では、四つの引数を次のように定義しています。

引数 役割 条件
index カスタム変数を置くslot 必須。1から5まで
name レポートで分類名となる文字列 必須
value nameと組にする分類値 必須
scope 分類を残す範囲 任意。1はvisitor、2はsession、3はpage

scopeを省略した場合はpageになります。省略に頼らず、slot管理表とコードの両方へ数値を明記すると、分類の意図を確認しやすくなります。

同じnameには複数のvalueを組み合わせられます。会員区分を例にするなら、nameをMember Typeに固定し、valueをMemberまたはNon-memberにします。氏名や会員番号をvalueへ入れるのではなく、分析に必要な区分だけを送ります。

slotは変数名とscopeを固定して管理する

slotは、空いている番号をその場で選ぶための欄ではありません。次のような管理表を先に作ります。名称と値は、実装関係を示すための仮例です。

slot name valueの候補 scope
1 Member Type Member、Non-member visitor
2 Login Status Logged In session
3 Content Section Support、Products page

一つのカスタム変数は、一つのslotへ固定します。同じnameを複数のslotへ重複させず、同じslotへ異なるscopeを混ぜません。一回の送信で同時に使えるカスタム変数は最大五つです。

同じslotへ同じscopeの変数を繰り返し設定すると、最後の値が使われます。page scopeでは、そのページで最後に呼び出した値が一つの送信へ付きます。session scopeでは、そのsessionで最後に設定した値がsessionへ適用されます。visitor scopeでも、最後に設定した値が現在と将来のsessionへ引き継がれます。

異なるscopeが同じslotを共有すると、期待した分類が記録されない場合があります。上書き規則を利用して変数を切り替えるのではなく、slotごとにnameとscopeを固定してください。

一組のnameとvalueは、合計64バイト以内にします。日本語など、URIエンコード後に一文字が複数バイトになる値では、文字数だけを見て上限を判断できません。レポートで意味を区別できる短い分類名を使います。

_setCustomVar()は_trackPageview()より前に置く

次の非同期トラッキングコードは、サポートページへpage scopeの分類を付ける仮例です。

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_setCustomVar', 3, 'Content Section', 'Support', 3]);
_gaq.push(['_trackPageview']);

_setCustomVar()は、分類をGoogle Analyticsへ送信する命令ではありません。後に続くpageview、event、transactionなどの送信へ、カスタム変数を付けます。通常のページビューへ付けるなら、_trackPageview()より前に設定します。

ページビューの送信後に利用者の操作で分類が決まる場合は、その操作を送るeventなどの前に_setCustomVar()を置きます。カスタム変数を送るためだけに不要な_trackPageview()を追加すると、ページビュー数まで増やします。何の送信へ分類を付けるかを決めてから、呼び出す位置を選んでください。

カスタム変数へ個人を識別できる値を入れない

Google Analytics利用規約は、氏名、メールアドレス、請求情報など、個人を識別するデータや、それらへ合理的に結び付けられるデータを収集または送信しないよう求めています。

visitor scopeという名称から、会員番号やメールアドレスを送ってよいと判断してはいけません。visitor scopeへ入れるのは、Member、Non-member、選択言語などの分類です。サイト内の個人IDと組み合わせれば個人を特定できる値も避けます。

利用規約は、Cookieによるアクセス情報の収集をプライバシーポリシーで知らせることも求めています。カスタム変数の実装だけで作業を終えず、送る値とサイト上の説明を運営者が確認できる状態にします。

カスタム変数とアドバンスセグメントは記録する段階が違う

カスタム変数は、トラッキングコードでnameとvalueを送る計測時の設定です。アドバンスセグメントは、記録された訪問をレポート上の条件で分ける機能です。

Google Analyticsの機能案内では、Custom Variablesをvisitor、session、pageの属性で分類する機能として紹介しています。Custom Variablesのnameとvalueは、アドバンスセグメントやカスタムレポートでも利用できます。ただし、計測していなかった期間へ遡って値を追加することはできません。

まず、分析したい分類を一つ選びます。次に、その分類を一ページ、一訪問、次回以降の訪問のどこまで残すかを決めます。slot管理表へindex、name、value、scope、値を決める条件、送信命令を書き、実装後は想定した分類がCustom Variablesレポートへ入るかを確認してください。

戻る