gtag.jsとGTMの設定の違い

最近GA4を自分で設定する機会があった。
GA4設定の手順自体は色んなところで公開されているものの、gtagとかGTMとの関連がイマイチ分かっていなかった。

この辺を調べて何となく概要が理解できたのでまとめておく。

目次

gtag.jsとGTMの違い

GA4の設定は測定するストリームを設定した上で、その測定IDをシステムと紐づける必要がある。

この紐づける方法としてgtag.jsを使う方法とGTMを使う方法がある。
(gtag.jsはGoogleタグという名前に変更になったっぽい?が、ここではgtag.jsとして記載する)
なんとなくGTMの方がいいっていう情報は出てくるものの、なにがどう違うのかが全然分からなかったので調べた。

gtag.jsを使った方法では測定IDを直接測定するページにJavaScriptとして埋め込む。
それに対してGTMを使った方法ではGTMとGA4の測定IDを紐づけた上で、GTMのIDをページにJavaScriptとして埋め込む。

つまり間にGTMが入るかどうかの違いがある。
わざわざ間にGTMを入れたとしてもGTMの使用が推奨されるのは以下のような利点があるため。

・各ツールで発行されるタグをコードに直接記載する必要がなくなる
・タグの一元管理ができる
・バージョン管理機能がある
・プレビュー機能がある

GTM上ではGA4だけでなく、Google広告やFB広告などに使うトラッキングコードの管理もまとめてできる。
一度GTMのコンテナのタグと対象となるシステムを紐づけておけば、後々これらを追加することになったとしてもソースコードをいじることなくGTM上で設定すれば良いだけとなる。

どのタグがそのシステムで使われているかを一元管理できるので、新規導入する際には基本的にはGTMだけ設定すればよさそう。
プロダクトの歴史的背景でgtag.jsとGTMを併用して使っている場合でも、GTMに寄せていく方が良さそうな気がした。

基本的に一度GTMを繋いでしまえばコードを直接触ることはなくなるとあるが、「このページのこのボタンを押したイベントを集計したい」とかの場合にはソースコード側でイベントを明示的に送るようにした方がいい気もしている。

GTM上でボタンのクリックイベントは設定できるので、コードをいじらずともボタンのクラスとかから該当のボタンを拾ってクリックのイベントは集計できそうだが、この場合、そのボタンのソースコードを変更した際にGTM上の設定を修正し忘れたりして、実はイベント集計できてなかったみたいなことが発生しうるのかなと思った。
(実際に触ったわけではないのであくまで想像)

GTMでもカスタムイベントの設定はできて、コードとして明示的にイベントを送信することはできるっぽいので、個人的にはこういったDOM構造に依存したイベントの集計の仕方は避けた方が無難な気がしているが意見が分かれそう。

GA4のストリーム

ウェブとアプリのデータを集約できるようにするためのもの。

ユニバーサルアナリティクスと比較したGA4の特徴としてよく挙げられるのが、ページ単位での計測ではなくイベント単位での集計になったことだが、もう一つ計測方法がセッションからユーザーになったことが挙げられる。

これまではウェブはGoogleアナリティクス、アプリはFirebase Analyticsで別々に計測していた。
それがGA4ではデータストリームという概念によってウェブとアプリのデータを集約できるようになった。
また、異なるデバイスでもユーザーをIDで紐づけることで同一ユーザーによるイベントと見なすことができるようになった。

ストリームという概念が何なのかよくわかってなかったが納得できた。

まとめ

GA4関連、これまで何となく使ってた感が強かったので0から導入することで知識を整理できて非常にいい機会だった。

この記事が参考になったからコーヒーくらいおごってもいいぜという方は、以下からサポートいただけると次の記事書くモチベになりますのでよろしくお願いします

Buy Me A Coffee

参考

あわせて読みたい
タグ マネージャーと Google タグ(gtag.js) - タグ マネージャー ヘルプ このドキュメントは、測定を初めて使用する方や、タグの最適なセットアップ方法を知りたい方を対象としています。 このドキュメントでは、Google タグ(gtag.js)とタグ マ...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次