Laravelで作成したSPAの会員制サービスで、会員と非会員のユーザーのログを測定するためのメモです。
やったこと
- 会員と判定するためにカスタムディメンションを作成
- GTMでPV測定時にカスタムディメンションを測るように設定
- Laravel側でログイン状態をチェックし、htmlタグにクラス名を付与。
- 計測!
ステップ1
GA上で会員測定するためにカスタムディメンションを作成します。 カスタムディメンションは管理の中のプロパティにあるカスタム定義からいけます。 新規に作成するを押して、「会員」とかで作成
ステップ2
次にタグマネ上で、 PV測定するタグに、カスタムディメンションを足します。 インデックスは先程作成したカスタムディメンションの値を使います。
変数「{{会員かどうかの判定}}
」はカスタムjavascriptで以下のように定義しました。
function(){ return (document.getElementsByClassName('data-gtm-is-logged-in').length > 0) ? 1 : 0; }
ステップ3
Laravel側のblade内にログインの判定を仕込みます。
Controller上で下記の変数を返して、
return view('hoge', ['isLogin' => Auth::check()]);
blade上で下記のように判定します。
<html lang="ja" class="{{ (isset($isLogin)) ? 'data-gtm-is-logged-in' : ''}}">
これで、各PV測定時に会員の場合は変数「{{会員かどうかの判定}}
」に1が返るようになります。
最後にGA上でセグメントを作成して完了です。 フィルタは会員にし、値を1に設定してあげれば測定可能です。
こんな感じで会員と非会員ごとのユーザーログを測定します。