murak.net

アクセス解析・Googleアナリティクス・ネット戦略・SEO・Webプログラミングなどを綴るブログ

GTMマトリョーシカ!Googleタグマネージャのコンテナを入れ子にして複数のコンテナを動かしてみた

| 0件のコメント

Googleタグマネージャを使っていると、「コンテナを複数入れたい」ってことがありますよね。広告のコンバージョンタグとアナリティクスを別々に管理したい、部署毎に管理権限を分けたいときなどに、コンテナが複数あると便利です。でも、コンテナが増えるたびにページを修正していたらタグマネージャを使っている意味がないっ

ということで、Googleタグマネージャのコンテナの中に、さらにGoogleタグマネージャの別のコンテナを入れ子にして動かしてみました。

901677_19646577_01

 

コンテナの中にコンテナのタグを作る

コンテナの中にさらに別のコンテナを入れるには、カスタムHTMLタグを使います。

Googleタグマネージャにログインして、中に入れる子コンテナを用意したら、親コンテナでタグを新規に作成します。

01Ireko_Google_Tag_Manager-14

タグの種類に[カスタムHTML]タグを選んで、子コンテナのタグを貼付けます。
複数のコンテナが動くことになるので、子コンテナのタグのデータレイヤー変数名を’dataLayer’から別の名前に変更します。
[document.writeをサポートする]にチェックする必要はありません

ルールに子コンテナを配信したいページを指定して保存したら、プレビューで動作確認後、バージョン作成して公開します。
その後に子コンテナにタグやルールを設定すれば完了です。

入れ子のコンテナは動作するか?

結論から言うと、大体動作しますが、動作しない機能もあります

よく使うページ単位のルール、AdWordsコンバージョンタグ、Yahoo!プロモーション広告のコンバージョンタグなどは動作しました。
Yahoo!のタグは[document.writeをサポートする]を使う必要がありますが、子コンテナの中でオンにすれば大丈夫です。
しかし、イベントを使うリンククリックリスナーは子コンテナではタグが配信されませんでした

イベントが子コンテナで動作しない理由は、おそらく、イベントを親コンテナが取った後に子コンテナに渡されないか、データレイヤー変数が絡む処理が複数コンテナでは十分に対応していないのかも知れません。

入れ子のコンテナ、複数のコンテナは使っていいか?

複数のコンテナを使う方法はGoogle Developersにも紹介されています。

https://developers.google.com/tag-manager/devguide#renaming

しかしTag Assistant のドキュメントでは、ひとつのコンテナを推奨していて、複数のコンテナを使うとタグが正しく配信されないかもしれない、と書かれています。

https://support.google.com/tagassistant/answer/3207128?hl=en&ref_topic=2947092#multiple_tags

「複数のコンテナを使えるようにしてあるけど、正しく動かないかもしれないよ」ということでしょうか。
動くとしても、コンテナを増やしすぎると余分なオーバーヘッドが増えるので動作が重たくなってくるはずです。
ましてや入れ子にして使うのは、おそらくサポート外でしょう。原理的には複数コンテナに対応していれば入れ子にしても問題なさそうな仕組みなのですが。

ということで、コンテナの入れ子は「広告タグを別のコンテナで管理する」程度でしたら使えそうですが、将来に仕様が変わって動かなくなる可能性もあります。他の手段が難しいときに自己責任で使う程度に留めておいた方がいいかも知れません。

関連しているかもしれない記事

LINEで送る

投稿者: 村上 和久

アクセス解析・Webコンサルティングのアナライズネット代表・Webアナリスト。Googleアナリティクスの導入とカスタマイズ、ウェブ分析、アクセス解析に関するセミナーなどを行っている。

コメントを残す

* は必須項目です


*