Googleタグマネージャに対応しているタグとしていないタグ

タグマネージャに対応しているタグの違いのイラスト

Googleタグマネージャはタグを管理するツールで、ごく一部を除いてほとんどのタグに対応しています。

逆に非対応なタグの方が数えられる程少ない為、ここでは非対応のタグの例を挙げていきます。

Googleタグマネージャが対応していないタグ

  • ページ構造にかかわるタグ(SNSのシェアボタンを生成するJavaScriptなど)
  • 同期処理が必要なタグ

この2種類が、非対応のタグでGoogleタグマネージャで管理することはできません。

JavaScript を含むタグは、大きく分けて同期タグ非同期タグの2つに分けられます。

これらはJavaScriptの処理のタイミングについての分け方で、同期タグはページの読み込みと同期していて、逆に非同期タグはページの読み込みとは独立して処理されます。

同期タグと非同期タグの違いのイラスト

同期タグではJavaScriptが読み込まれたら処理が開始され、その処理が完了するまでページの読み込みは止まります。

その為、同期タグではJavaScriptが読み込まれたタイミングで確実に処理を開始することができますが、その半面、ページの表示が遅くなってしまうなどの影響が出ます。

逆に、非同期タグの場合はJavaScriptが読み込まれてもそのタイミングでは必ずしも処理を開始しない代わりに、同期タグのようにページの読み込みを止めてしまうことがありません

処理のタイミングが安定しないというデメリットはありますが、ページの表示に悪影響を与えてユーザーにストレスを感じさせることがないため、Googleタグマネージャではすべてのタグが強制的に非同期タグとして扱われる仕様になっています。

同期タグと非同期タグ
同期タグは処理されるタイミングが決まっている一方、エラーが起こるとページの読み込みが止まってしまうおそれがあり、非同期タグはその心配はありませんが、タグが処理されるタイミングが安定しません。
Googleタグマネージャではすべてのタグが「非同期タグ」として扱われる。

SNSへの投稿ボタンやウェブテスト機能は配信できない

ページ構造にかかわるタグ

タグマネージャで利用できない1つ目は、ページ構造にかかわるタグが非同期タグとして処理されると、例えばページ内の特定箇所のHTMLを変更するタグを利用しようとした場合、その変更しようとしている要素がまだ読み込み完了していない可能性が出てきます。

その為、このページ構造にかかわるタグは非対応とされており、よく使われるものでは、TwitterやFacebookなどSNSへの投稿ボタンを生成するJavaScriptが含まれます。

同期処理が必要なタグ

2つ目の同期処理が必要なタグも、強制的に非同期タグとして扱われてしまうため非対応とされており、例えばGoogleアナリティクスのA/Bテストの機能がこれに当たります。

A/Bテストのタグは、ページが表示される前にJavaScriptの処理が完了していないと、ユーザーに画面がちらついて見えるといった違和感を覚えさせる要因となります。

実際には、ページ構造にかかわるタグもページの読み込みが確実に終わったタイミングでタグを配信するなどひと工夫すれば対応は可能ですが、それにはJavaScriptの知識が必要になります。

同期タグも普通に配信自体はできるのですが、どうしても処理の開始にタイムラグが発生してしまうため、非同期タグとして処理しても問題がないかを判断する必要があります。

必ず同期タグとして処理しなければならないタグの場合は、素直にHTMLにタグを直接記述しましょう。

これらのJavaScriptを読み込むタイミングが重要なタグ以外は、基本的にはどんなタグにも対応しています。

タグもGoogleタグマネージャもJavaScriptで動作している以上、JavaScript同士の相性などで正しく動作しない可能性がゼロの保証はできませんが、99%大丈夫だが、相性の問題がある可能性もあるということを頭の片隅に入れておくと、万一問題が発生したときに解決の手がかりになるかもしれません。

同期タグと非同期タグの微々たる違い

非同期タグは処理のタイミングが安定しないとはいっても、ほとんどのタグはすぐに処理が終わるため、実際には誤差程度の違いしかなく、多くの場合は同期タグでも非同期タグでもどちらでも正常に動作します。

ですが、処理タイミングを厳密に固定したいタグの場合は同期タグとして、本来の使用方法通りにWebページのHTMLに直接記述するのがベストです。