以前GAv4へpushState等履歴を使ったページビュー計測について書きましたが、その時に設定を行った"page_locationとしてURLを食わせる"ということを行うと、GAv4のGUI上でもBigquery側でも食わせた通りのURLが出力されました。
これはこれで大問題と言いますか、計測・分析ニーズにあわせて選択することになる気がしています。(対象者はほぼいないと思いますが...)
tl;dr
パラメータ無しの正規化されたキレイなURL、即ち1ページ1URLとしてGAv4に取り込むためにはGAのタグを入れるだけで自動計測されるページビューは利用せずに、自分でpage_locationに正規化URLを入れて渡す必要がありそう。(まだState changeイベントでしか検証していない)
仮想ページビューも一緒ですが、該当ページだけはイベントで計測するという設定が必要。
今回やりたいこと
UAの時は分析しやすくする用途でキレイな正規化したURLを食わせていたため、GAv4でも正規化したURLのみを食わせたい。
URLを正規化する目的
各種計測用パラメータやサイト内検索またはフィルタ等で用いられるURLのパラメータやハッシュを除外したキレイなURLとして計測をすることで、1ページ1URLとして計測しPVの算出をやりやすくしたい。
正規化されていないと分析する際に前処理が必要となりGA管理画面で表示されるグラフが意味を成さなくなったり、自分でBIダッシュボードを作る際にも頑張らないといけなくなる。
今回やりたくない事
- page_titleを利用すればいいじゃん
- page_titleは時々(not set)が発生してしまうため使いたくない(私自身これを改善する気が現状あまりない)
- Bigqueryを利用するのであれば正規表現または文字列の部分一致でも構わないが、事故の可能性も考えるとなるべくやりたくない
試した事
Google Tag ManagerでSPAサイトをGAv4を用いてページビューを計測する場合、計測強化としてGAv4がpushState等もちゃんと計測してくれるとうたわれていたが、ページビューイベントが飛んでなさそうだったため、Google Tag Managerのイベントでpage_viewイベントを飛ばした。
GAv4ではpage_viewイベント計測時に一緒にpage_locationとpage_referrerパラメータを飛ばすため一緒に飛ばすようにした。
結果の確認
きれいなURLがBigqueryに入ってた...。SPAでハッシュがついていたURLをキレイに整形してものとなります。
※他の問題も見つけちゃったけど...(この段階で分かった人はすごひ...)
以上から何が言えるのか(結論)
- 単純にPVやユーザー数、流入数等をGAv4でも確認したい場合
- 特にやることなく、そのままgtagでもGTMでも埋め込んでおけば良い
- page_locationは使わない。page_pathや他の情報を利用する場合
- こちらも特にやることないので、そのまま計測すれば良い
- gtag.jsを利用している場合
- こちらも今まで通りpage_pathを送れば良いが、GAv4も一緒にgtag.jsで送る場合は次の対応と同じく要検討
- GAに不必要なパラメータをページURLとして食わせたくない場合
- 残念ながらGAv4の計測強化機能はOFFとし、ページビューイベントもすべて自分で送る事が必要となりそう
- gtmを利用した場合はGA4設定側のタグではなくてGA4イベントタグのみの利用することになるのではないか
とはいえ、page_viewイベント以外の考慮は?ということもありますし、何とか書き換えする手段はないかな?と、もう少し悩んでから作業しようかなと思います。Bigqueryにはそのままの汚いURLでデータを格納しつつGCP内でETLを回すという手段も無くはないので、その場合は気にせずタグを埋め込むだけで良いと思います。
正規化されていない汚いURLで計測を続けるのは、のちのち結構ツライというのが今まで嫌というほど経験している事でもあるので、最終的にはイベント計測のみに切り替えるという線が個人的には現状濃厚です...。
今回のGAv4は全てが「イベント」となったため、このような設定方法が可能となるという事なのですが、UAのイベント設定とはまた違った印象が出てきますね。
(追記)
いつものメンバーで会話をしていて根本原因というか推測としては今回GTM経由でGAv4を読み込んだ場合、Universal Analyticsとは異なりgtag.jsファイルを読み込むわけではなく、Googleのエンドポイントに対して直接データを投げているということがポイントなんだと思います。
Chromeでjsの読み込みを見ると、こうなっているわけですが。今までのUniversal Analyticsの場合は「analytics.js」が読み込まれています。
ただGAv4ではgtag.jsを読み込まず、gtmのjsの中で処理を行った後にそのままgoogleのサーバへデータが送られています。
友人の「gtagがundefinedになった」という話を聞いて「やっぱり」という感じだったので、恐らくgtag.jsに依存する処理はgtm経由では全て無効ということになるのでしょう。
0 コメント:
コメントを投稿