GoogleAnalytics、思ったよりすごかった
ちょっとまえにこんなnoteを書きました。
まとめると、サービスのマジックモーメント(この瞬間を経たユーザーのリテンションがめちゃくちゃ高まる瞬間のこと)をみつけるのに不向きなのでGAダメでしたみたいな感じの話です。
あれから、GAについて少しだけ理解がすすんだので意外とヤレんじゃん!とおもったところや、学んだことを記していきたいと思います。
とくに、原則とか、設計思想に関するところはこのnoteでキャッチアップしておくと、向き合うときに大幅にショートカットできると思います。
てことでやっていくんですが、未だに完全に理解はしていなくて、ダイブして感じた世界観をもとに、きっとこういう設計のはず、という想像で書いているところもあることを先にお伝えしておきます。
なお、前回のnoteの主な主張はそんな間違ってなくて、マジックモーメント見つけるのは引き続ききついです。
全てのデータはディメンションと指標で入っていることを理解せよ
GAの超原則。GAはディメンション及び指標(メトリクスとも言う)という形でほぼすべてのデータが入ります。この点を理解すると、GAへの理解は急速に進みます。
カスタムレポートを作る場合、ディメンションと指標、そしてそのフィルタリングをすることでいろいろなものが表現できるようになっています。(伝われ)
ではディメンションと指標とはそれぞれなんなのでしょうか?
前提として、どちらもデータではあります。一般的なリレーショナルデータベースがイメージできる場合は、どちらもレコードととして入っているという認識であっています。
指標は、数値のデータです。セッション時間が何分だったかとか、直帰率が何%かとか、そういうものです。
ディメンションは、その他のデータです。たとえば、どのデバイスからのアクセスか?とか、どの地域からのアクセスか?とかです。
ディメンションは、「データをこの軸で分類して見たい!」という要望に答えるためのデータがはいっています。iOSとAndroidの比で分析したいとかね。
ディメンションと指標、フィルタを理解するとカスタムレポートからかなりたくさんのことができるようになります。
なお、GAのWEBコンソールには、カスタムレポートじゃ絶対作れないでしょって感じのレポートがかなりいっぱいあり、いやその幅のカスタムをこっちでできるようにしてくれよお願いだよという気持ちになります。
GAのAPIは、レポートを作成するためのAPI
GAのWEBコンソールでできることの幅が狭いので、APIでデータを抜いてよきに表現したい、という需要があるかと思います。BigQueryへのエクスポートできるプラン死ぬほど高いし、それならAPIから抜いて自分でDBにいれて好きにするよ、みたいなね。
まあできるはできるんですが、しかしデータを抜き出すAPIは、原則としてレポートを作成するためのAPIです。
なので表やグラフで表現できる、2次元的な形でしかデータが出せず、全データ抽出のために複数回のAPIリクエストを送る感じになります。まあそれはできるの範疇だけども!!もっと楽にやらせてくれよ!!
逆にレポートを作るには便利で、帰ってきたJSONをみると、ページングのためのあれこれとかが入っていたりします。まあやりたいことがレポートづくりならGAのカスタムレポートかDataStudioでいいやんけってなるんすけどね。
GAには必要なデータを入れること自体はほぼほぼできる
GAは見るほうが不便なだけで、データを入れること自体はわりとできます。クリックイベントとか、CVを定義して達成してるかとかね。
見るほうが不便というのは、好きにクエリ叩いたりできないということですね。
タグ1つ入れるだけでページビュー系のイベントを全部とってくれるのはめっちゃ楽なので、結局GAはいれとくかみたいになるんですよね。なので本当はGAに全部データを集約して分析するようにしたい。触ったことないけど広告ツールとの相性もわりとよさそうだし、集約できるならしたいし、入れるだけならだいたいできるんだよなー!ほんとに!あと見る方よ!見る方!
ユーザーIDは絶対渡したほうがいいし、2回渡したほうがいい
なんとGA、じつはユーザーIDを渡すことができます。そうすると、セッションをまたいでユーザーを特定することができるんですね~~いいですね~~。
特定のユーザーがいつどういう行動したかとかも一人ひとり見られます。
ログイン前とログイン後のセッションをつなげてくれるとかもしますし、よさみがあります。
実装方法は割愛しますが、
⚙管理 > トラッキング情報 > User-ID で渡す
のと、
カスタムディメンションで渡す
のの2種類で渡すのがスーパーおすすめです。
前者の方を設定すると、User-IDレポートというのが見れるようになり、これが非常にいい感じです。(雑)
しかしこのUser-IDはディメンションとして入っているわけではありません。先述のように、GAは原則として、ディメンションと指標という形でデータを扱います。なので、ディメンションとして放り込んでおいたほうが、カスタムレポートでゴニョゴニョするときに汎用性が高いと思いますね。
DataStudioはGAのカスタムレポートをいっぱい並べられるやつと理解する
これはたぶんそうです。世界観的に。
DataStudioでできることと、GAのカスタムレポートでできることはほぼ一緒っぽいので、カスタムレポートをイジれるようになるとさわれるようになると思います。
なお、GAのデータをDataStudioにインポートするときに、「あ~ほんとに指標とディメンションのレコードの集積だ~」っていうのを視覚的に理解できるので理解しやすいみたいなのはあるかもしれない。(ないかも)
Google Tag Managerを通してGAタグを配信すると、ネットに落ちているノウハウが著しく少なくなる
Google Tag Manager(以下GTM)という便利なものがあります。
GTMは、GTMのタグを埋め込んどくと、その位置にあとからWebコンソールからタグをブチこめるというたぐいのものです。エンジニアがGTMのタグだけHEADにいれてデプロイしとけば、あとはマーケターが広告タグをWEBコンソールから好きにいれる、というような分業をするために存在しています。
「エンジニアとマーケターの分業のためのサービス」とは言ったんですが、凝ったことしようとすると、結局エンジニアの手が必要というのがめちゃダメなところです。まあWEBトラッキングというものを考えるとこれはもうしょうがないんですが...。
エンジニアとマーケター両方のジョブに手を染めている人口がそもそもホワイトタイガーぐらいの数しかいないので、その中で発信もしている人となると、AV男優ぐらいの数になります。
なので自力解決が求められるシチュエーションめっちゃあるよというのは覚悟しましょう。
問題の根本は、GAタグが直接埋め込まれている場合と、GTM越しに埋め込まれている場合では、データやイベントの渡し方が異なるということです。なのでGAをカスタムして使うと思うと、GTM + GAでXXする方法を求めることになる。フォースを求めよ。
具体的なケースで言うと、GAに変数を渡したい(ユーザーIDとか)場合は、GTMの用意しているデーターレイヤーという仕組みで、GTMに渡してから、GTMのWEBコンソールでGAに渡すということになります。これは当然ですが、GAに直接渡すやり方とは異なりますよね。(異なったはず)
ていうかGAタグに関しては、無理にGTMで配信する必要はないかもとも思います。
Googleのドキュメントが分かりづらい
多分ですが、書き直しコストを最小にするために、できる限り疎結合になるように全体が設計されています。「疎結合」という表現でエンジニアは全員理解してくれるとおもいますが、めっちゃ細かく切り刻まれていて参照しづらいということですね。
まあユーザーフレンドリーとはいえないなという気持ちです。
あと非エンジニア向けドキュメントとdeveloper向けドキュメントは分かれていて、凝ったことする場合はdev docsが必要です。(そりゃそうだけど)
また、具体的なシチュエーションのドキュメントが少ない印象。そういったものは利用者がブログを書いてくれているんですが、前述の通りGTM越しにGAタグを配信するとブログもほとんど出てこないです。
みたいなかんじで
データアナリティクス系は、設定してから意味のある量が取れるまでじかんがかかるので、ミスると検証スピードへの影響が大きいです。
もうちょっとノウハウたまってると嬉しいんですけどね...。なんかおすすめの本とか、神がいたら教えてほしいです...!
とりあえず、聞いたところによると、このRayさんという方はかなり詳しいと教えてもらったので、フォローしとくといいかも!と思います!
↓↓↓
よかったら僕もついでにフォローしといてください!
↓↓↓
てことでまた!そやでした!よかったらツイッターでシェアしてください!
そうするとなんともれなく僕が嬉しいです!