ikuo00ukの日記

元エンジニアのプロダクトマネージャー。 読んだ本とか紹介しています。

Laravelで作成した会員制サービスをGA上で会員・非会員でセグメントする

Laravelで作成したSPAの会員制サービスで、会員と非会員のユーザーのログを測定するためのメモです。

やったこと

  • 会員と判定するためにカスタムディメンションを作成
  • GTMでPV測定時にカスタムディメンションを測るように設定
  • Laravel側でログイン状態をチェックし、htmlタグにクラス名を付与。
  • 計測!

ステップ1

GA上で会員測定するためにカスタムディメンションを作成します。   カスタムディメンションは管理の中のプロパティにあるカスタム定義からいけます。 新規に作成するを押して、「会員」とかで作成 スクリーンショット 2018-10-09 23.11.45.png

ステップ2

次にタグマネ上で、 PV測定するタグに、カスタムディメンションを足します。 インデックスは先程作成したカスタムディメンションの値を使います。 スクリーンショット 2018-10-09 23.13.17.png

変数「{{会員かどうかの判定}}」はカスタム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に設定してあげれば測定可能です。 スクリーンショット 2018-10-09 23.23.26.png

こんな感じで会員と非会員ごとのユーザーログを測定します。