:::: MENU ::::

ログイン/ログアウトユーザの挙動を追いたいとき設定するカスタム変数とは

ただ統計値を追いたいだけであれば、
ページレベルでもセッションレベルでもどちらでもよい。
しかしデメリットがどちらにもあり、どちらを許容するかのためのメモ。

ページレベルの場合

デメリット

カスタム変数(キー 1) カスタム変数(値 01) ユーザー数
全体 Logined 250,000
非ログイン False 200,000
ログイン済み True 90,000
集計項目 重複数
Guest+Member-User 40,000
新規入会 -8,000
退会 -2,000
ログイン -25,000
ログアウト -5,000

たとえばページすべてに GA のコードを仕込んで、ログイン判定した場合の例。

すべてのページに仕込んでいるので、
全体の数はサイト全体の UU と同一(ほぼ)
だが非ログインとログイン済みを足した UU は、
その全体の UU を大きく上回ってしまう。これが問題。

なぜこういうことが起きるかというと、
どうやらカスタム変数で区切ると
ページ単位の場合は両方にカウントされてしまうらしい。

ただし非ログインのまま複数セッションアクセスしても、
1ユーザとしてカウントされる。

対策法

重複の内訳を見ると、未ログインからログインしたユーザのほうが多いため、こちらをメインに考えると。

ログイン済みユーザのUUを知りたい場合は、
「カスタム変数Logined」に「True」という値を持っているユーザと指定する。
未ログインユーザのUUを知りたい場合は、
「カスタム変数Logined」に「False」という値を持っているユーザを指定すると、
重複した値までカウントされてしまうので、
「カスタム変数Logined」に「Trueではない」値を持っているユーザを指定する。

こうすることで、 新規入会する前+退会した後+ログインする前+ログアウトしたあと に False としてカウントされたユーザが含まれなくなる。

▼ログイン済み
一致  カスタム変数(Logined) 完全一致 Member
▼未ログイン
不一致 カスタム変数(Logined) 完全一致 Member

未ログインである方を重点的に見たいのであれば、これの逆をやればよい。

妥協点

気付いていると思うが、上記の対策法は重複したどちらかを削っている。
つまりページレベルを使う以上、以下のどれかを選ばなければいけない。

  • 重複したユーザは、すべてログイン済みユーザをして考え、重複分を未ログインから消す
  • 重複したユーザは、すべて未ログインユーザとして考え、重複分をログイン済みから消す
  • 重複を許容して、未ログイン時とログイン後のユーザを別ユーザとして扱う

ここで気になるのは、
「新規+ログイン」をログイン済みユーザとして考え、
「退会+ログアウト」を未ログインユーザとして考えられないかという意見だ。
できる方法があるとは思うが、そこまでして取りたい値か?と問われると微妙と思うので、考えたのはここまで。あとは考えたい人だけ考えればいい。

セッションレベルの場合

デメリット

すべてのページにログイン判定を入れた場合の例。

まずセッションレベルの場合、いつ時点のカスタム変数を集計値として利用するかだ。
今回の例では全ページでログイン判定を送っているので、
ログイン・ログアウトをするとセッションの途中でカスタム変数の値が変わることがある。

GA では1セッション中のカスタム変数の変化までは追えないため、
そのセッション終了時のカスタム変数がなにかで、
そのセッション中のカスタム変数とされて集計する。
参考:Custom Variables - Web Tracking (ga.js) - Google Analytics — Google Developers

▼Trueで集計される
未ログイン → [ログイン] → ページ回遊
ログイン済み → ページ回遊

▼Falseで集計される
未ログイン → ページ回遊
未ログイン → [ログイン] → ページ回遊 → [ログアウト] → ページ回遊
ログイン済み → [ログアウト] → ページ回遊

1セッションに置いてはこの考え方だが、
ある期間中の同一ユーザによる複数セッションの場合はどうなるのだろうか、
期間中の最後のセッションのカスタム変数が勝つのか?
セッション A の最後では True であったが、
セッション B の最後は False で終わったユーザは、
期間単位で見ると False のユーザだと認識される?
どっちも認識されればページレベルと同じ重複だし。

で、セッションレベルは期間単位で見ると重複はしていない、
ならば上記の仮説のとおり最後のセッションのカスタム変数が勝つのではないだろうか。

と、考えるとカスタム変数で UU を分けて見ると、変な感じがするのは否めない。
期間中のどのセッションでログインしていようがログアウトしていようが、登録・退会していようが、
最後のセッションのカスタム変数が決まるまでの挙動のログイン可否は測れないんじゃないか?