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

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

GTMコンテナを複数設置する時に注意すべきこと

読む前に

複数のコンテナを使用することを決断する前に、1つのコンテナで運用すること、GTM 360の機能であるゾーンを使用することを検討してください。

support.google.com

どうしても複数設置する必要があるという場合にのみ、以下をご覧ください。

本編

1ページに複数のコンテナを設置することは可能です。開発者向けサポートページにも複数のコンテナを設置する方法が記載されています。

developers.google.com

過去はコンテナスニペット中のdataLayer変数名を書き換える必要がありました。現在においては、逆に不具合が起きる可能性があるため推奨されていません。複数のスニペットを書き並べるだけのシンプルな構造で設置が可能となっています。

明らかにわかりやすい欠点として、同様の機能を持つJavascriptを複数読み込み実行することになるため、サイトの実行速度が遅くなります。

サポートページに記載されない注意点は、カスタムHTMLのタグ同士における干渉です。

先にグローバル変数にタグ固有の値をセットし、その後にベンダー側のスクリプトをscriptタグで読み込むようなタグなどが干渉しやすい例です。同一種類のタグが複数ある場合に「document.write をサポートする」にチェックボックスを入れなければ、Javascriptの実行タイミングの問題で、同一の値で2回以上のリクエストが発生する可能性が高いです。

具体的にはYDNのリターゲティングタグやコンバージョンタグなどが挙げられます。

また、Facebook Pixelにおいては複数アカウント分設置する場合と単独で設置する場合において表記方法が変わるため、複数コンテナで運用する場合はルールを定める必要があるでしょう。

これらのような干渉しやすいタグは、1つのコンテナで管理するよりも複数のコンテナで管理すると、設定のミスに気づきづらいという大きな欠点があります。

複数のコンテナを使用する場合は、タグの干渉が発生していないか十分に確認しつつ運用することが大切です。

追記(2019/2/26)

過去記事にて解説していますが、Pageviewイベントは複数行われません。また、データレイヤーの変数は最初のgtm.jsイベントの際に設定済みである必要があります。

gtm.jsイベントが複数ある時のPageViewイベント発火タイミング - アクセス解析担当者がGTMについて語るブログ