Open1

GoogleTagManagerの履歴の変更でページタイトルが正常に取得できない落とし穴

でぃーすけでぃーすけ

CSR(クライアントサイドルーティング)を使用したWebサイトにおいては、
通常のGoogleTagManager(以下GTM)の設置方法では解析できない。

というのは、GoogleAnalytics(以下GA)でもお馴染みなので、ご存知の方も多いだろう。

そのため、jsを用いて、内部からトラッキングコードを発行したり、
「履歴の変更」トリガーを用いたりして、なんとか解析できるようにしていると思う。

私もその1人だったが、今回、思いもよらぬ落とし穴にハマってしまったので、
その解決策を備忘録、兼同じ落とし穴にハマる人が少しでも減ることを祈って、
残そうと思う。

結論から言うと、
GTMの履歴の変更が起こるタイミングでは、まだ動的に変更したtitleなどは反映されていない、
というものである。

時系列順に並べると、

GTM「履歴の変更」

titleなどが変更される

GTM「リンククリック」

となる。

よって、履歴の変更のトリガーでGAのページビューを行ってしまうと、
URLとタイトルが結びつかず、不整合な状態で、解析される。

これを解決するためにGTMで用意されているトリガーである
「トリガーグループ」
を使う。
トリガーグループは複数のトリガーが発行されると、起動するトリガーで、
今回の場合は「履歴の変更」と「リンククリック」が起きたときのトリガーグループを作る。

このトリガーグループに
カスタムJavaScriptなどで定義したページタイトル変数を設定したGAのページビューをタグ設置すれば
整合の取れた解析が行える。