Open1
GoogleTagManagerの履歴の変更でページタイトルが正常に取得できない落とし穴
CSR(クライアントサイドルーティング)を使用したWebサイトにおいては、
通常のGoogleTagManager(以下GTM)の設置方法では解析できない。
というのは、GoogleAnalytics(以下GA)でもお馴染みなので、ご存知の方も多いだろう。
そのため、jsを用いて、内部からトラッキングコードを発行したり、
「履歴の変更」トリガーを用いたりして、なんとか解析できるようにしていると思う。
私もその1人だったが、今回、思いもよらぬ落とし穴にハマってしまったので、
その解決策を備忘録、兼同じ落とし穴にハマる人が少しでも減ることを祈って、
残そうと思う。
結論から言うと、
GTMの履歴の変更が起こるタイミングでは、まだ動的に変更したtitleなどは反映されていない、
というものである。
時系列順に並べると、
GTM「履歴の変更」
↓
titleなどが変更される
↓
GTM「リンククリック」
となる。
よって、履歴の変更のトリガーでGAのページビューを行ってしまうと、
URLとタイトルが結びつかず、不整合な状態で、解析される。
これを解決するためにGTMで用意されているトリガーである
「トリガーグループ」
を使う。
トリガーグループは複数のトリガーが発行されると、起動するトリガーで、
今回の場合は「履歴の変更」と「リンククリック」が起きたときのトリガーグループを作る。
このトリガーグループに
カスタムJavaScriptなどで定義したページタイトル変数を設定したGAのページビューをタグ設置すれば
整合の取れた解析が行える。