アクセス解析担当者がGTMについて語るブログ

GTM(Google Tag Manager)・GA(Google Analytics)の中~上級者向け情報を中心に発信

gtm.jsイベントが複数ある時のPageViewイベント発火タイミング

この記事は Google Tag Manager Advent Calendar 2018 - Adventar 2日目の記事です

結論

一番最初のgtm.jsイベントのみが対象となる

詳細

例えばOptimizeとGTMとを併用する場合や、GTMを複数埋め込む場合に、データレイヤ中にイベント名が"gtm.js"となる要素が複数存在するようになる。

GTMではデータレイヤの各要素のイベント名を基にトリガーを発火させているため、他のイベントであればイベント名を持つ要素がpushされた回数分だけトリガーが発火する。

しかし、ページビューイベントの場合は初回のイベントのみが対象となる。

GTMのプレビューモードで確認すると、初回以外は"Message"となっていることが確認できる。

dataLayerにgtm.jsイベントを追加

dataLayerにgtm.jsイベントを追加

イベントはMessageとなりタグは発火しない

イベントはMessageとなりタグは発火しない

そのため、GAの拡張eコマースなど、ページビューイベント時点でdataLayer変数を利用する場合は最初のgtm.jsをpushするスクリプトよりも手前に宣言する必要がある。

同様の理由でSPA等で仮想ページビューを送る際にはイベント名に"gtm.js"を使うことはできない。