2018/3/17ごろ、Googleタグマネージャでまたも大きな機能がリリースされました。
複数のGTMコンテナを連携させ、そのGTMコンテナから別のGTMコンテナを配信可能にする「ゾーン」と呼ばれる機能です。
なお「ゾーン」はGoogleタグマネージャ360限定の機能となるため、利用にはGoogleアナリティクス360を契約している必要があります。
GTM360で実装された「ゾーン」機能
今回実装された「ゾーン」機能は、一言で言うと「複数のコンテナを連携させる」ための機能です。
より具体的に言うと「普通のタグのように、他のコンテナを配信可能にする」ものです。
例えばAコンテナ(360である必要があります)を利用している、example.comというサイトがあるとします。
このexample.comサイト内で、新たにBコンテナ(360である必要はありません)を利用可能にしたい、といった場合に「ゾーン」を使うと、それがHTMLの編集無しで可能になるわけです。なおこの時、Bコンテナの配信には条件を付けられますので「一部のディレクトリ配下だけ」や「Bコンテナから配信するのは一部の種類のタグだけ」といった利用もできます。
- 「ゾーン」機能の概要
- 360コンテナから、他の「コンテナ」を「タグ」のように配信可能にする機能
- コンテナの配信範囲、配信対象は「一部のページでのみ」や「一部の種類のタグのみ」と制限可能
この「ゾーン」機能を使えば、サイト全体でマスター用のコンテナを設置して各コンテンツ毎にコンテナを分けて管理することや、また外注の広告代理店のコンテナをリンクさせることで代理店が直接広告タグの設置などを対応可能な体制を作ったり、などが考えられます。
まさに大規模サイト向けの360にピッタリな、運用・管理面の強化となる機能ですね。
「ゾーン」の使い方
設定や動作などについてはちょっと複雑な面もありますが、使い方そのものは簡単です。
配信元としたい側の360コンテナから、管理画面で対象のコンテナを選択し、配信条件を設定するだけです。
- 管理画面へログインし、左ナビの「ゾーン」をクリック
一番下へメニューが追加されている - 赤い「新規」ボタンをクリックし、ゾーンの新規作成画面へ
他の画面と同様のUI - 「ゾーンの設定」で配信可能にしたいコンテナを選択
コンテナID入力欄の右側のボタンを押せば同じアカウント内の別コンテナが選択肢に出てくる
別アカウントのコンテナについても直接コンテナIDを入力すれば利用可能 - 「ゾーンの境界」で配信可能にしたい対象ページの条件を設定
トリガーで条件を指定するのと同様に、すべてAND条件となる - リンクさせたコンテナから配信するタグなどを制限する場合は「種類の制限」で設定
「Googleのタグタイプ」「スクリプトとiframeのタグタイプ」「ピクセルの種類」でタグを、
「トリガーの種類」でトリガーを、「変数の種類」で変数を種類ごとに制限できる
・「変数の種類」に制限をかけた場合、無効な変数の値は(「デフォルト値」ではなく)取得できなかった場合の値(undefinedなど)になる
・「変数の種類」に制限をかける場合、かならず「カスタムイベント」は有効なままにしておくこと
(無効にすると全トリガーが反応しなくなるため) - 保存して(プレビューで動作確認して問題なければ)、コンテナを公開して完了
配信したいコンテナをリンクさせ、ゾーンが有効になったページでは、被リンクコンテナ内で設定されている各種タグなどが動作するようになります。
なお被リンクコンテナ内のタグの配信条件などは、被リンクコンテナ内で設定している各種トリガーの条件に準じます。ページビュータイミングに強制的に全タグが配信されたりはしませんので、ご安心ください。
この時、もしもゾーンの「種類の制限」でタグやトリガーや変数を制限していた場合、制限した要素は被リンクコンテナ内で動作しませんので、注意が必要です。
特に変数が動作しない場合、トリガーが反応しない(=意図したタグが発火しない)だけであれば良いのですが、制限変数を値に含むタグが動作すると値の箇所がundefinedになったりすることもありますので、制限の対象となった変数を含むタグは動作しないようにしておくと良いでしょう。
- 被リンクコンテナ側の設定注意点
- ゾーンの「種類の制限」で配信制限をかける場合、制限対象となる変数を含むタグが配信対象となっていないか注意
(値がundefinedなどになってしまうため) - 被リンクコンテナ側でカスタムHTMLタグでdataLayer.pushなどを行った場合、リンク側のコンテナのデータレイヤー変数にも影響が出る
また、逆も同様(リンク側のコンテナ内でdataLayer.pushがされた場合、被リンクコンテナ側でも反映される)
- ゾーンの「種類の制限」で配信制限をかける場合、制限対象となる変数を含むタグが配信対象となっていないか注意
気になる細かい部分を調べてみました
要点だけを抑えるととてもシンプルな機能なのですが、複数間のコンテナの連携となると、気になる点はいくつか出てくると思います。
私の方でも気になることが何点かありましたので、調べてみました。
- 対象コンテナについて
- 被リンクコンテナ(配信したいコンテナ)は360である必要はない。
また、同組織のコンテナである必要もない。(=自身が権限を持っていない他社のコンテナでも可能) - 被リンクコンテナでもゾーンの設定をしている場合、「ゾーンの境界」の条件を満たせばさらに被リンクコンテナからリンクされているコンテナも追加で配信される
- 被リンクコンテナ(配信したいコンテナ)は360である必要はない。
- 「ゾーンの領域」の判定タイミング
- 2018年3月時点では、ゾーンの配信判定はページビュータイミングでのみ可能。
(DOM Readyやウィンドウの読み込み、そのほかのタイミングでの判定は不可能)
- 2018年3月時点では、ゾーンの配信判定はページビュータイミングでのみ可能。
- コンテナ間の引継ぎ要素
- 変数やトリガーなどは、リンクした/されたコンテナ間で共有されない。
(なので同じ変数やトリガーを使用したい場合は、別途同じ設定内容で登録する必要がある) - 使用するデータレイヤー変数名は配信元コンテナが利用するものに準じる。(デフォルトではdataLayer)
- 変数やトリガーなどは、リンクした/されたコンテナ間で共有されない。
- プレビューについて
- プレビューではゾーンはタグと同様の欄へ並べられる。
ゾーンが有効であれば「Active」、無効であれば「Inactive」というステータスが表示される。 - 「ゾーンの境界」の条件を満たして被リンクコンテナが配信されれば、対象ページで被リンクコンテナのプレビューも問題なく利用可能。
プレビューを起動している複数のコンテナを読み込んでいる場合、プレビュー表示の右上にあるコンテナIDの箇所がプルダウンになり、そこでプレビュー内容を見たいコンテナを切り替えることができる。
- プレビューではゾーンはタグと同様の欄へ並べられる。
実際の使用例
それでは実際にどういう風に使えるか、いくつかケースを挙げてみます。
ヘルプページでとりあげているものとだいたい一緒ですが(逆に言うとこれら以外思いつきませんでした)、わかりやすく図も入れてみましたので参考にしてみてください。
- 広告代理店のタグ設置作業を、広告代理店に作業してもらう
外部の会社のコンテナをゾーンとして配信するイメージ- 広告代理店側でコンテナを新規で用意してもらい、それをゾーンとして登録することで、タグ設置対象ページで動作するコンテナを直接広告代理店に編集してもらう
- ※セキュリティの都合上「種類の制限」は不要なものはかけた方がよいが、Yahooの広告タグなどはカスタムHTMLでないと設置できないため効果が薄いのがネック
- サイト内のコンテンツ毎に使用するコンテナを切り分けたい
コンテンツ毎に異なるコンテナをゾーンとして配信するイメージ- サイト全体を管理するマスターのコンテナ(要360)を1つ用意し、「ゾーンの領域」でコンテンツ毎に異なるコンテナをリンクさせた運用。
ヘルプページでは他にも、ゾーンと同様に360向けの機能である「承認」(公開する前に承認権限のあるユーザーのチェックが必要になる)機能を組み合わせた例も挙げられています。
いずれにせよ、基本的には「ゾーン」は大規模なサイト向けの機能と言えるでしょう。
以前に出た「ワークスペース」は「コンテナ内での」作業切り分けのための機能でしたが、とうとうさらに規模が大きくなって「コンテナそのものを」切り分けるための機能が出てきましたね。
惜しむらくは、外部ベンダーのコンテナをリンクする使い方をしたくなった時、できればリスクの高いカスタムHTMLタグは制限をかけたいですが、現状だと特に需要の大きいYahooの広告タグも含まれてしまうのでそれが難しいことですね。ぜひともYahooの広告タグはテンプレート(タグタイプ)の一種として追加されて欲しいものです。割と切に。