BLOG

Memo

GTMのインストールコードが1ブロックになりました — 既存タグの入れ替えは必要か

「GTMのインストールコード 1ブロックになりました」と書かれた記事のアイキャッチ

Googleタグマネージャー(GTM)の管理画面を確認したところ、コンテナに設置するインストールコードの案内が新しい作りに変わっていました。これまでの案内は「<head>用のスクリプト」と「<body>直後に貼るnoscriptのiframe」という2点セットでしたが、いま管理画面が表示するのは1つのコードブロックだけです。2026年11月5日に当社アカウントの複数コンテナで実機確認した内容と、Google公式ドキュメントで裏付けが取れた範囲を整理します。

結論から:既存の設置をいま急いで入れ替える必要はありません

先に結論を書きます。すでにGTMを設置しているサイトについて、今回の表示変更だけを理由に慌ててコードを貼り替える必要はありません。理由は2つあります。1つは、Google公式のサポートページ自体が、2026年11月5日時点ではまだ従来の2点セットの案内のままになっていることです。もう1つは、公式アナウンスが「この更新によってGoogleタグのページ上の動作は変わらない」と明言していることです。新規にGTMを設置するときは、管理画面が出すいまのコードをそのまま使えば問題ありません。

管理画面で何が変わったか(2026-11-05 実機確認)

インストール画面が「実装の手順」という新しいUIに

GTMのワークスペースからコンテナのインストール画面を開くと、以前のシンプルなコード表示ではなく「実装の手順」という画面になっていました。画面はタブで2つに分かれています。1つは「ウェブサイト作成ツールまたは CMS を使用してインストールする」、もう1つは「手動でインストールする」です。

手動タブのコードは<head>用の1ブロックだけ

「手動でインストールする」タブに表示されるコードは、次の1ブロックだけでした。コンテナIDは伏せています。

<script async src="https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
</script>

これまで案内されていた、<body>タグの直後に貼る<noscript>のiframeは、この画面には表示されていません。画面の説明文はこうなっています。

以下は、このコンテナの Google タグです。コピーして、ウェブサイトの各ページのコード(<head> 要素の直後)に貼り付けます。各ページに複数の Google タグを実装することはできません。

この表示は、当社が管理する2つの別アカウントのコンテナでも同じでした。特定の一部コンテナだけに出ている表示ではなさそうです。

ワークスペース左メニューに「設定」が新設

あわせて、ワークスペースの左メニューに「設定」という項目が新しく増えていました。中身は「送信先を追加」「データ転送の管理」「同意モードのデフォルトのオーバーライド」の3つです。

「すべてのタグ」から開く「コンテナ ID を選択」パネル

インストール画面の中にある「すべてのタグ」を開くと、「コンテナ ID を選択」というパネルが出てきます。列は「ID」と「許可されるタグ」の2列でした。

旧スニペットとの違い

これまでのGTMスニペットと比べると、コードの中身は次の3点が変わっています。

  1. これまでの自己注入型のローダー((function(w,d,s,l,i){...})という即時実行関数でscriptタグを動的に作る書き方)をやめ、gtm.jsを素の<script async>タグで直接読み込む形になりました。
  2. 計測の開始を知らせる合図が、dataLayer.push({'gtm.start': new Date().getTime(), event:'gtm.js'})からgtag('js', new Date())に変わりました。
  3. gtag()という関数そのものがスニペットの中で定義されるようになったため、同意モードの既定値を、追加のコードを貼らずにgtag('consent', 'default', {...})の形で直接書けるようになっています。

公式ドキュメントで裏が取れたこと

「ページ上の動作は変わらない」

Google公式のアナウンス「Updates to Google tag and Google Tag Manager」(2026年8月20日付)には、次のように書かれています。

This upgrade will not change the in-page behavior of the Google tags.(公式ヘルプ)

表示されるコードの形は変わりましたが、ページの中でタグが実際にする動作自体は変わらない、という説明です。

configコマンドが無くなった分は、gtm initトリガーで

同じアナウンスには、新しいスニペットにconfigコマンドが含まれていないことと、その代わりの設定方法も書かれています。

It's recommended that you configure initialization behavior using the gtm init trigger.(同上)

これまでconfigコマンドのタイミングに乗せて初期化処理をしていた場合は、GTM側の「初期化」トリガー(gtm.init)に置き換えて設定する、という案内です。

destination tagsで、内部的なgtag.jsの追加読み込みが要らなくなる

同じ公式アナウンスには、destination tags(送信先タグ)という仕組みにより、これまでGTMが内部的に追加で読み込んでいたgtag.jsが不要になり、表示速度が改善するという説明もあります。destination tagsは、1つのGoogleタグから複数の送信先(Google広告・GA4など)へデータを振り分ける仕組みで、公式ヘルプにも定義があります(公式ヘルプ)。

「各ページに複数の Google タグを実装することはできません」の意味

手動タブの説明文にあった「各ページに複数の Google タグを実装することはできません」という一文の出典は、Google広告ヘルプの「Google タグを手動で実装する」というページです(公式ヘルプ)。この一文が指しているのは「同じ導入コード(ローダーと設定をセットにしたコード)を1つのページに2回貼ってはいけない」という意味合いです。計測先を増やしたいときにページ側へもう1本コードを足す、という使い方を避けるための案内だと読めます。

送信先は管理画面側で追加するのが公式の想定

計測先を増やす場合の公式の想定は、ページのコードを増やすことではなく、管理画面側の設定で送信先を追加することです。

If you use both Google Ads and Google Analytics, only set up the Google tag in one platform. You can add the other product later as a destination in your Google tag settings.(公式ヘルプ)

二重計測への注意

複数のGoogleタグやGTMコンテナが同じページに設置されていないかの確認は、Google広告ヘルプの中でも、コンバージョンの重複計測を防ぐ観点から案内されています。

コンバージョンが重複してカウントされないようにするため、コンバージョン ページから以前のタグ(旧 Google 広告コンバージョン トラッキングなど)が削除されていることを確認します。また、同じページに複数の Google タグまたは Google タグ マネージャー コンテナが設置されていないこともご確認ください。(公式ヘルプ)

コンテナIDのプレフィックスで動作範囲が決まる

コンテナIDの先頭の文字列によって、タグができることの範囲が変わる、という仕様も公式ヘルプで説明されています(公式ヘルプ)。GTM-から始まるIDは、サードパーティのスクリプトやカスタムHTML・JavaScriptまで実行できます。一方、G-やAW-から始まるIDは、Googleのサービスへデータを送信する用途に制限されています。計測でできることの幅を広げたいときに公式が想定しているのは、2本目のローダーを追加で足すことではなく、すでに設置してあるスニペットのIDを差し替えることのようです。

GT-という統一プレフィックスも登場している

あわせて、G-・AW-・DC-の相互互換の新しい統一プレフィックスとしてGT-も用意されています(公式ドキュメント)。

公式ヘルプはまだ追いついていない(2026-11-05時点)

一方で、正直に書いておきたいことがあります。GTMの設置手順そのものを説明している公式ヘルプページは、2026年11月5日時点で確認した限り、まだ従来の2点セット(<head>用のスニペットと<body>のnoscript)の案内のままでした(公式ヘルプ)。管理画面が出すコードが先に変わり、ヘルプの説明文がまだ追いついていない、というのが現状のようです。

既存の設置は入れ替えが必要か

ここまでの内容をふまえた当社の判断は、冒頭に書いたとおりです。

  • 既存の設置はそのままで問題ありません。 公式ヘルプが今も旧方式を案内し続けていること、公式アナウンスが「ページ上の動作は変わらない」と明言していることが根拠です。
  • 新規に設置するときは、管理画面が出す新しいコードをそのまま使えば大丈夫です。

もし切り替える場合は、次の点に気をつけてください。

  • 切り替え前後で、同じ計測が二重に発火していないかを確認します。公式も、同じページに複数のGoogleタグやGTMコンテナが設置されていないかの確認を案内しています。
  • 同意モードの既定値をどこに設定するかを決めておきます。新しいスニペットはgtag()がスニペット内で定義されているため、既定値をスニペット側に直接書くこともできますし、従来どおりGTM側のテンプレートで管理することもできます。
  • 新しいスニペットにはconfigコマンドが無いため、これまでconfigのタイミングに乗せて初期化処理をしていた場合は、GTM側のgtm initトリガーに置き換えて設定します。

まとめ

GTMの管理画面が出すインストールコードは、<head>用スニペットと<body>のnoscriptという2点セットから、1つのコードブロックだけの表示に変わっていました。中身も、自己注入型のローダーから<script async>での直接読み込みに、開始の合図もgtm.startイベントからgtag('js', new Date())に変わっています。ただし、Google公式のアナウンスは「ページ上の動作は変わらない」と明言しており、設置手順そのものを説明する公式ヘルプも、本記事を書いている時点ではまだ従来の案内のままです。既存の設置を急いで入れ替える理由は、いまのところ見当たりません。新規に設置するときは、管理画面が出すいまのコードをそのまま使ってください。切り替えを検討するタイミングが来たら、二重計測の確認と、同意モードの設定場所、gtm initトリガーでの初期化の3点を押さえておくと安全です。

この記事に関連するサービス

ご相談は無料です

いまの集客や広告の状況、困っていることをお聞かせください。
何を頼むか決まっていなくても構いません。

無料相談フォームへ