GA4導入支援を通じての学び

この記事はInsurtechラボ202203月アドベントカレンダー企画11日目の記事で書いています。

Insuretechラボを通じて、昨年の11月からとあるクライアント様(A社)のWEBマーケ支援のプロジェクトに携わりました。
当初はA社の提供するサービスでCVR改善に課題があるというところから、支援する形になったと記憶しています。

GA4導入を進めるに至った背景

A社ではWEBサイトへのユーザーのアクセス状況を追うために、Googleアナリティクス(GA)を導入されていました。
多くの企業で導入されているサービスですね。

まずは現状を把握ということで、ユニバーサルアナリティクス(UA)の数値を探ったり、Googleタグマネージャー(GTM)の設定を確認するところからのスタートでした。
現状を把握する中で、いくつか課題があることが見えてきました。
この時点ではまだ表面的な部分だけしか見えてませんでしたが。

  • 分析をする上で抑えておくべき指標が正しく取れていない可能性がある、または取得出来ていない可能性がある
  • 人的リソース不足でUAからGoogleアナリティクス4(GA4)に移行出来ていない
    ※GA4のデータ蓄積が出来ていない

上記課題の要因として、UnqorkでWEBサイトが構築されている事が大きく作用していました。
UnqorkはSPAのため、GTM設定の難易度を上げていたのは言うまでもありません。

私自身、SPAでない一般的なWEBサイトであれば、GTMもGA4の導入経験はありましたが、
SPAのGA4導入は初だったので、当初はかなり不安があったのを今でも覚えています。
今振り返ると、ここからトライ&エラーを繰り返す日々をスタートしたわけで、結果として深掘りが出来たと思っています。
この時点ではトンネルの出口が見えるとはこれっぽちも思っていなかったですが。

UAは2023年7月1日にデータの計測が停止されるため、GA4へ移行しつつ、分析に必要な指標を取得出来るようにした方が良いだろうと考え、 GA4導入を提案しました。

GA4導入の所感

今回はUAの計測に影響を与えない前提でのGA4の移行だったので、制約がある中での作業でした。

制約とは
  • GTMタグを設置し、UAで計測を行なっている
  • LPと申込完了までの誘導動線は別々のGTMタグ&UAプロパティで設定されている
  • URLに独自パラメータを設置し、リファラー(参照元/メディア)の取得を行なっている
  • ページ遷移時は、Unqorkドメインから自社ドメインにリダイレクト処理がかかっている
    ※内部的には。表面上は自社ドメインでの遷移にしか見えない

上記の状況でしたので、まずは、LPから申込完了までをGTM/GA4を1対1になるように調整する目的で動き始めました。

やったこと
  • スコープの整理と言語化
    • UAの計測指標の洗い出しとGA4で取得可否を整理
    • GA4でカスタム設定が必要かどうか(例えば、クリック数やスクロール量計測とか)
    • 対応した設定の進捗を可視化出来るようにした
  • 検証環境でUnqork環境の挙動把握
    • どういったトリガーが実行されているか
      ※ブラウザのコンソールにdataLayerと入力するとどういうトリガーが実行しているかわかる
  • GTMの設定内容を把握(タグとトリガーの関係、ユーザー定義変数)
苦労したポイント
  • GTMトリガーの発火確認
    一般的にはトリガー[ページビュー]を使うが、発火しないケースあり。トリガー[履歴の変更]を一部ページで使用。ただし、重複カウントされるケースが複数見られたので重複しないように除外設定を行うのが大変だった。
  • カスタムJavaScriptの理解
    リファラー(参照元/メディア)の取得の為に、カスタムJavaScriptを使ってユーザー定義変数を設定していた為、内容を紐解くのが大変だった。
  • Google広告のコンバージョン設定
    UA/GA4のコンバージョン設定をインポートしたり、GTMでの連携を試みたが、
    結果的には設定出来なかった。
得た知見
  • Unqorkのページ計測ではURLパスをGAに渡す処理が必要
    GAではURLパスに#が含まれている場合、#以下を除外して計測される仕様である。
    その為、GTMのカスタムJavaScriptでURLパスを取得し、GA側に渡す処理が必要。
    UnqorkのURLイメージ:https://ドメイン/#/display/***/***/
  • GTMを使って、SPAのGA4計測を行う場合、重複カウントになる恐れがある
    GA4では拡張計測機能を有効化すると、デフォルトではGTMのトリガー[履歴の変更]と同様のトリガーが実行される。その為、GTMでトリガー[履歴の変更]を使う場合は注意が必要。
    こちらのサイトが非常に参考になりました。
    GA4でページビューを計測するときの注意点 – GA4とGTMの履歴に関するイベントの違いを調査してみた
  • SPAの遷移はトリガー[ページビュー]は発火しないケースがある
    一般的な遷移ではトリガー[ページビュー]で発火しますが、この場合はトリガー[履歴の変更]を使う事で解決出来ました。
    ただし、見た目は一回のページ遷移でも、内部的には複数回の遷移を実行しているケースもあったので、複数回のカウントを回避するため、除外設定を行いました。
  • GTMトリガーの発火順序
    1. 同意の初期化(gtm.init_consent)
    2. 初期化(gtm.init)
    3. ページビュー(gtm.js)
    4. Dom Ready(gtm.dom)
    5. ウィンドウの読み込み(gtm.load)
    ▽gtm.jsが実行されない場合
    1. 履歴の変更(gtm.historyChange)
    2. GA4の拡張計測機能の「ブラウザの履歴イベントに基づくページの変更」(gtm.historyChange-v2)
  • Google広告のコンバージョン設定は大きく3種類ある
    1. コンバージョンタグを直接、WEBサイトに設置
    2. GAのインポート機能を使う
    3. GTMでコンバージョンID/コンバージョンラベルを設置
  • GTMのコンバージョンリンカーの設定
    ITP対策として、GTMに機能追加されたもの。
    サードパーティクッキーをファーストパーティークッキに変えてくれる機能である。

まとめ

まとめてて、かなりマニアックで深い内容になってしまった感がありますが、
結果として、色々と深掘り出来たプロジェクトでした。

今回知見としては色々得ることは出来ましたが、
GA4を使う上で「なぜその指標を取得するのか?」、この目的を明確にする必要があると実感しました。
UAは何もせずともある程度、数値が自動で計測出来ましたが、GA4はカスタマイズ設定して、指標を取得する事が必要になるからです。

今回はUAが実装されている既存環境をGA4に移行する内容でしたが、
同様の検証環境がある前提で、ゼロベースでGA4設定したらどうなるのか気になるところです。

同様のケースで悩まれた際の参考になれば幸いです。