GTMプレビューが接続できない・タグが発火しない原因切り分けチェックリスト|Tag Assistantのつまずき診断フロー
GTMプレビューモードがConnectedにならない・Tag Assistantに表示されない・タグが発火しない原因をブラウザ/GTM設定/CSP/サイト側の3層で切り分け。症状別チェックリストとCSP診断手順を実務担当者向けに解説します。当日中に原因特定できます。
GTMプレビューが接続できない・タグが発火しない原因切り分けチェックリスト|Tag Assistantのつまずき診断フロー
この記事のポイント
- GTMプレビューの「接続できない」と「タグが発火しない」は原因レイヤーが異なり、最初に症状を3分岐させることで診断時間を大きく短縮できる。
- Tag Assistantに接続できない原因の多くは旧拡張機能の使用かブラウザ競合であり、GTM管理画面の「プレビュー」ボタン経由で起動しているかを最初に確認する。
- CSP(Content Security Policy)によるGTMブロックはConsoleの
Refused to loadエラーとResponseヘッダーを照合することで当日中に特定できる。- プレビューで発火しているのに本番で計測されない場合は、未公開バージョンをプレビューしている可能性が高く、バージョン番号の照合から着手する。
- 原因は「ブラウザ層 / GTM設定層 / サイト側(CSP・スニペット・リダイレクト)層」の3レイヤーで切り分けると、試行錯誤を最小限に抑えられる。
Google Tag Managerのプレビューモードは、タグの動作確認に欠かせないデバッグコンソールです。ところがいざ使おうとすると、「Tag Assistantに接続できない」「タグが一覧に出てこない」「プレビューでは発火しているのに本番で計測されない」といった状況に陥ることがあります。
こうした症状の厄介なところは、原因が複数の層にまたがっていることです。ブラウザ側の問題なのか、GTMの設定ミスなのか、サイト側のCSPやスニペット欠落なのかを混同したまま手当たり次第に試すと、時間だけが過ぎていきます。
この記事では、GTMプレビューの接続・発火トラブルを「症状」ごとに分岐させ、原因レイヤーを順番に潰していくチェックリスト形式で解説します。
1. まず症状を3パターンに分類する
「プレビューが繋がらない」と「タグが動かない」を混同したまま調べると、的外れなチェックを繰り返すことになります。最初に自分がどの症状に当たるかを確認してください。
症状A:Tag Assistantが「Connected」にならない・プレビュー画面が開かない
GTM管理画面でプレビューボタンを押し、tagassistant.google.com が別タブで開いたものの、テスト対象ページを開いても「Connected」ステータスにならない状態です。Tag Assistantの画面に「サイトに接続できません」といった表示が出るケースも含みます。
この症状の原因は、ブラウザ層(拡張機能・Cookie・リダイレクト)にあることがほとんどです。
症状B:プレビューは起動するがタグ一覧にタグが表示されない・発火ログが出ない
Connected状態にはなっているが、タグパネルに確認したいタグが現れない、または「Summary」に発火ログが記録されないケースです。「Fired」欄も「Not Fired」欄も空、という状態も含みます。
この症状は、GTM設定層(gtm.jsの読み込みエラー・トリガー条件・タグのステータス)と、サイト側のスニペット欠落が主な原因です。
症状C:プレビューでは発火確認できるのに本番環境で発火していない
デバッグコンソール上では正常発火を確認できるのに、GA4やGoogle広告の管理画面には計測が反映されない、リアルタイムレポートに表示されないパターンです。「プレビューと本番の乖離」と呼ばれるこの症状は、GTMのバージョン管理またはサイト側のキャッシュ・スニペット設置もれが原因である場合が多いです。
2. 【症状A】Tag Assistantに接続できない原因チェックリスト
チェック1:旧Tag Assistant Legacy拡張機能を使っていないか
これが原因であるケースは非常に多いです。かつてChromeウェブストアに「Tag Assistant Legacy(by Google)」という拡張機能が存在しており、かつてその方式でデバッグしていた担当者が今も同じ方法を試み続けているケースが見られます。
現在の正式なプレビュー手順は次の通りです。
- Google Tag Managerの管理画面を開く
- 対象コンテナ右上の「プレビュー」ボタンをクリック
- 自動的に
https://tagassistant.google.com/が新しいタブで開き、テストURLの入力を求められる - 確認したいサイトのURLを入力して「Connect」をクリック
この経路を経由せずに拡張機能単体でデバッグしようとしても、現在の仕様では正常に動作しません。Tag Assistant Legacyは事実上廃止扱いとなっており、Googleもこの旧方式を推奨していません。
チェック2:Chrome拡張機能の有効状態・更新・他拡張との競合
トラッキングブロッカー系の拡張(uBlock Origin、Privacy Badger、Ghosteryなど)が有効になっていると、tagassistant.google.com との通信を遮断してしまうことがあります。
確認手順:
- Chromeのシークレットウィンドウ(拡張機能が無効状態)で同じ操作を試みる
- シークレットモードで接続できた場合、通常モードの拡張機能が原因
- 拡張機能を1つずつ無効にして競合を特定する
Chromeのバージョンが古い場合もTag Assistantの動作に影響します。最新バージョンへの更新も確認してください。
チェック3:プレビューURLとテスト中ページのドメインが一致しているか
Tag Assistantにテストページを接続する際に入力したURLと、実際にブラウザで開いたページのURLが完全に一致していない場合、接続が成立しません。
よくある不一致パターン:
https://www.example.com/と入力したが実際に開いたページはhttps://example.com/(wwwの有無)- サブドメインが異なる(
shop.example.comとwww.example.com) - クエリパラメータが付いたURLをテストURLとして入力したが、実際のURLとパラメータが変わっている
チェック4:HTTPSとHTTPの混在・リダイレクトでgtm_debugパラメータが剥ぎ取られていないか
GTMプレビューモードは、URLに gtm_debug=x というパラメータを付与することで動作します。このパラメータが途中のリダイレクトで失われると接続が確立できません。
http:// から https:// へのリダイレクト、または www. なしから www. ありへのリダイレクトでクエリパラメータが除去されるサーバー設定になっているケースが該当します。Chrome DevToolsのNetworkタブでページ最初のリクエストを確認し、リダイレクトレスポンス(301/302)後のURLに gtm_debug パラメータが残っているかを見てください。なくなっていれば、サーバーまたはCDN側のリダイレクト設定の問題です。
3. 【症状B】タグが表示されない・発火しない原因チェックリスト
チェック5:gtm.jsがページに読み込まれているかNetworkタブで確認
Connectedにはなっているが何もタグが表示されないときは、まずgtm.jsの読み込み状況を確認します。
手順:
- 対象ページでChrome DevToolsを開く(Windows: F12 / Mac: Command+Option+I)
- 「Network」タブを開き、上部の検索フィルタに
gtm.jsと入力 - ページをリロードしてリクエストを確認
ステータス200で読み込まれている場合、リクエストURLに含まれる id=GTM-XXXXXXX の値と、自分が管理しているコンテナIDが一致しているかを照合します。コンテナIDが違えば、そのページには別のGTMコンテナが埋め込まれていることになります。
リクエスト自体が存在しない場合は、そのページにGTMスニペットが設置されていない可能性が高いです。404やCSPブロックのエラーが出ている場合はセクション4に進んでください。
チェック6:トリガーの条件が絞り込みすぎていないかプレビューパネルで確認
タグはConnectedになっているのに特定のタグだけ「Not Fired」のまま、という場合はトリガーの条件設定を見直します。
プレビューパネルの「Tags」タブには「Fired」と「Not Fired」の2つのカラムがあります。「Not Fired」に目的のタグがある場合、そのタグをクリックするとどのトリガーが評価されたか、条件を満たさなかったかを確認できます。
よくある原因:
- ページパス条件を設定したが、スラッシュの有無やクエリパラメータの違いで一致しない
- クリックイベントのトリガーで「クリックURL」「クリックテキスト」に設定した条件が実際のDOMと一致していない
- フォーム送信トリガーで
gtm.formSubmitイベントの代わりに独自イベント名を設定しているが、そのイベント自体が発火していない
GTMで要素表示トリガーを設定する方法も参照してください。スクロールや要素表示のトリガーを使っている場合は、プレビューパネルのVariablesタブで値を確認しながら条件が成立するかを追うと原因が特定しやすいです。
チェック7:タグが「一時停止」または対象バージョンに含まれていないか
GTMにはタグを「一時停止」する機能があります。一時停止状態のタグはプレビューモードでも発火しません。タグ名の横に一時停止アイコン(‖マーク)が表示されていないかを確認してください。
また、プレビューは「現在編集中のワークスペース」の状態を確認するものです。新しくタグを追加したが別のワークスペースで作業している、というケースも見受けられます。GTM管理画面左上の「ワークスペース」表示を確認して、意図したワークスペースを開いているかをチェックしてください。
チェック8:変数の値が想定通り取れているかプレビューのVariablesタブで照合
タグの発火条件に変数を使っている場合、その変数の値が想定通り取得できていないために条件を満たせないことがあります。プレビューパネルの「Variables」タブを開くと、現在のページで取得できているすべての変数の値が一覧表示されます。
確認すべき点:
- データレイヤー変数の値が
undefinedになっていないか(データレイヤーへのプッシュが実行されているか) - CSSセレクターやXPathで取得しようとしている要素が実際のDOMに存在するか
- JavaScriptカスタム変数でエラーが出ていないか(Consoleタブと照合)
4. 見落とされがちな原因:CSP(Content Security Policy)によるブロック
競合記事ではほとんど扱われていないが、実務では一定頻度で発生するのがCSP(Content Security Policy)によるGTMのブロックです。セキュリティ意識の高い企業サイトやECサイトで設定されていることがあり、CSPの存在を知らないと原因にたどり着くのに余計な時間がかかります。
CSPがGTMをブロックしているかConsoleエラーで確認する方法
- 対象ページでChrome DevToolsを開く
- 「Console」タブを確認する
- 以下のようなエラーが出ていないかを探す:
Refused to load the script 'https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX'
because it violates the following Content Security Policy directive: "script-src 'self' ..."
このエラーが出ていれば、CSPがGTMをブロックしています。次に「Network」タブで最初のHTMLリクエスト(ページ本体)を選択し、「Headers」→「Response Headers」の中から Content-Security-Policy ヘッダーを探します。値を確認すると、script-src ディレクティブに www.googletagmanager.com が含まれているかどうかが分かります。
GTMに必要なCSPディレクティブの設定例(script-src・img-src)
GTMが正常に動作するために必要な最小限のドメイン許可は以下の通りです:
script-src: https://www.googletagmanager.com https://www.google-analytics.com
img-src: https://www.googletagmanager.com https://www.google-analytics.com https://www.google.com
connect-src: https://www.google-analytics.com https://stats.g.doubleclick.net
ただし、GTMコンテナに読み込んでいるタグの種類によって追加が必要なドメインは変わります。Google広告コンバージョンタグであれば https://www.googleadservices.com が追加で必要になるなど、GTMに入れているタグの数だけ許可ドメインが増える可能性があります。コンテナの内容を確認しながら洗い出してください。
サイト管理者・開発者に渡す依頼文のポイント
CSPの修正は通常、フロントエンドエンジニアやサーバー管理者への依頼が必要です。「GTMが動かない」だけでは開発者が調査から始めることになります。依頼時に以下の3点を添えると対応が格段にスムーズになります:
- 発生しているConsoleエラーの内容(スクリーンショットまたは文字起こし)
- 現在の
Content-Security-Policyヘッダーの値(Networkタブから取得) - 追加が必要なドメインのリスト(上記の設定例をベースに整理)
5. 【症状C】プレビューでは発火するが本番で発火しない原因
未公開バージョンをプレビューしている(バージョン番号の照合手順)
GTMのプレビューは、現在編集中のワークスペース(未公開の変更を含む状態)を確認するものです。つまり、プレビューで発火しているタグがまだ「公開」操作をされていなければ、本番のサイトには一切反映されていません。
確認手順:
- GTM管理画面の「バージョン」タブを開く
- 「現在公開中」のバージョン番号を確認する
- 自分が作業したタグがそのバージョンに含まれているかを確認する
- 含まれていなければ「送信」→「公開」の操作を行う
バージョン公開を忘れたまま「本番で動かない」と悩むケースは少なくありません。症状Cの診断では、このチェックから始めることを習慣にしてください。
ブラウザキャッシュ・CDNキャッシュで旧バージョンのgtm.jsが配信されている
公開操作を行っても本番で反映されない場合、キャッシュの問題が考えられます。GTMのコンテナファイル(gtm.js)はブラウザやCDNによってキャッシュされることがあります。
確認方法:
- Chrome DevToolsのNetworkタブで「Disable cache」にチェックを入れてページをリロードする
- またはシークレットウィンドウで確認する(ブラウザキャッシュが存在しない状態)
シークレットモードで正常に計測されるのであればブラウザキャッシュが原因です。CDNキャッシュの場合は、TTL設定によっては数十分から数時間待つか、CDN管理者によるキャッシュパージが必要になります。パージ依頼の際は https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX というURLを渡すと具体的に対応しやすくなります。
一部ページにGTMスニペットが設置されていない(ページソース確認手順)
サイト全体にGTMスニペットが設置されているつもりでも、一部のページだけ抜けているケースは意外と多いです。CMSやテンプレートシステムの構造によって、特定のページタイプや特定のセクションにスニペットが入らない状態になっていることがあります。
確認手順:
- 発火が確認できない本番ページを開く
- ページのソースを表示する(Windows: Ctrl+U / Mac: Command+Option+U)
GTM-またはgoogletagmanager.comで文字列検索する- 見つからなければ、そのページにはGTMが設置されていない
GTMスニペットは <head> タグ内と <body> 開始直後の2か所に設置することが推奨されています(headタグ内のscript要素と、bodyタグ直後のnoscript要素)。どちらか片方だけでも多くのタグは動作しますが、2か所の設置が前提になっているタグも存在します。
6. 原因特定後のアクションマップ:自分でできる修正 vs 依頼が必要な修正
当日中に自分で解決できる修正(拡張機能・トリガー・変数・バージョン公開)
GTM管理画面またはブラウザ設定のみで完結するため、開発者への依頼なしに当日対応できる修正です。
| 原因 | 対応 |
|---|---|
| 旧Tag Assistant Legacyを使っていた | GTM管理画面の「プレビュー」ボタン経由に切り替える |
| 拡張機能の競合 | シークレットモードで確認後、競合拡張を特定して無効化 |
| トリガー条件のミスマッチ | VariablesタブとTriggersタブで実際の値と条件を照合して修正 |
| タグが一時停止状態 | 一時停止を解除してプレビューで再確認 |
| 未公開バージョンをプレビューしていた | 「送信」→「公開」を実行 |
| ブラウザキャッシュ | Disable cacheオプション有効でリロード、またはシークレットモードで確認 |
サイト管理者・開発者への依頼が必要な修正(CSP・スニペット設置・リダイレクト設定)
以下の修正はサーバー・インフラ・CMS側への変更が必要です。依頼時は原因の証拠(エラーログ・ヘッダー値のスクリーンショット)を添えると対応がスムーズです。
| 原因 | 依頼内容 |
|---|---|
| CSPによるGTMブロック | script-src等のCSPディレクティブへの対象ドメイン追加 |
| リダイレクトでgtm_debugが剥ぎ取られる | クエリパラメータを保持するリダイレクト設定への変更 |
| 一部ページにスニペットが未設置 | CMSテンプレートへのGTMスニペット追加 |
| CDNキャッシュで旧バージョンが配信 | GTMコンテナURLのキャッシュパージ |
GA4とGoogle広告のコンバージョン数が合わない原因7パターンも参考にしてください。GTMタグが正しく発火していないことが計測差異の上流原因となっているケースも扱っています。
それでも解決しない場合:Googleサポートへの問い合わせで用意すべき情報
上記のチェックリストを全て試しても解決しない場合は、Google Tag Managerの公式サポートへの問い合わせを検討します。回答精度を上げるために、以下の情報を事前に整理しておいてください。
- GTMコンテナID(GTM-XXXXXXXの形式)
- 症状が発生しているページのURL
- Chrome DevToolsのConsoleエラーのスクリーンショット
- NetworkタブでのGTM.jsの読み込みステータスのスクリーンショット
- プレビューモードの画面(接続済み・未接続のどちらかを示すもの)
なお、GTMを使った計測設定全体を整備する文脈では、Cookie規制後の広告計測を守る三層整備実務も参考になります。拡張コンバージョンやCAPIの設定でもGTMプレビューによる動作確認が必要になるため、本記事で整理したデバッグの考え方がそのまま役立ちます。
よくある質問
Q:GTMプレビューモードを開いてもTag Assistantに「Connected」と表示されない時の最初の確認事項は?
最初に確認すべきは、GTM管理画面の「プレビュー」ボタンを経由して tagassistant.google.com を起動しているかどうかです。旧来のChrome拡張機能「Tag Assistant Legacy(by Google)」をそのまま使っている場合、現在の仕様では正常に接続できません。プレビューの正規手順は、GTM管理画面→対象コンテナ→「プレビュー」ボタン→テキストボックスにテストURLを入力→「Connect」という流れです。この経路を正しく通っているかを最初に確認してください。
Q:GTMプレビューでタグの発火を確認できているのに本番環境で発火しないのはなぜ?
最も多い原因は、プレビューしているワークスペースの内容をまだ「公開」していない状態です。GTMのプレビューは未公開の変更も確認できますが、本番サイトには公開済みのバージョンしか反映されません。GTM管理画面の「バージョン」タブで「現在公開中」のバージョン番号を確認し、自分が追加・修正したタグが公開済みバージョンに含まれているかを照合してください。含まれていなければ「送信」→「公開」の操作が必要です。
Q:gtm.jsがページに読み込まれているか確認する方法は?
Chrome DevToolsの「Network」タブを開き、上部の検索フィルタに gtm.js と入力した状態でページをリロードします。リクエストが表示されたらステータスコードを確認してください。ステータス200であれば読み込み成功です。あわせてリクエストURLに含まれる id=GTM-XXXXXXX の値が、自分が管理しているコンテナIDと一致しているかを確認します。リクエスト自体が存在しない場合は、そのページにGTMスニペットが設置されていない可能性が高いです。
Q:CSP(Content Security Policy)がGTMをブロックしているか確認する方法は?
Chrome DevToolsの「Console」タブを開き、Refused to load the script から始まるエラーメッセージが出ていないかを確認します。URLに www.googletagmanager.com が含まれていればCSPブロックです。次に「Network」タブでHTMLページのリクエストを選択し、「Response Headers」の中に Content-Security-Policy ヘッダーがあるか確認してください。値の中の script-src ディレクティブに www.googletagmanager.com が含まれていなければ、サイト管理者・開発者に追加を依頼する必要があります。
Q:Tag Assistant Legacyと新しいTag Assistantは何が違うか?
旧「Tag Assistant Legacy」はChrome拡張機能として単体で動作し、ページ上のタグの種類を識別する機能が中心でした。現在Googleが提供する tagassistant.google.com を使う新しいTag AssistantはGTM管理画面と直接連携し、タグの発火・未発火の確認、変数の値の照合、トリガーの評価状況の確認ができるデバッグコンソールとして機能します。2つを混同して旧拡張機能でプレビュー接続を試みてもConnectedにはならないため、現在は管理画面経由の新方式のみを使用してください。GA4キーイベントがGoogle広告にインポートできない時の原因切り分けでは、タグの発火確認を前提とした計測連携の診断フローを解説しています。
GTMプレビューのトラブルは、「繋がらない」「タグが動かない」「本番と乖離している」の3症状に整理した上で、ブラウザ・GTM設定・サイト側の3レイヤーを順番に潰していくことで、当日中に原因が特定できるケースがほとんどです。とくにCSPによるブロックは、エラーメッセージを見れば明確に診断できるにもかかわらず、原因と気づかないまま時間を費やすパターンが多いため、Consoleタブの確認を習慣化してください。
ClarityのカスタムイベントをGTMで設定してセグメントを作る方法など、GTMを使った計測の拡張を進める際も、今回解説したデバッグコンソールの使い方が土台になります。
真策堂では、GTM・GA4・Google広告の計測設計から診断まで、実務に即した相談を受け付けています。「プレビューは動いているのに数字が合わない」「CSPの設定が関係しているかもしれないが開発者への依頼の仕方が分からない」といったご相談はお気軽にお問い合わせください。
- アクセス解析
広告CVのダブルカウントを発見・修正する実務手順|GA4×Google広告×Meta広告の計測ズレ診断と正規化フロー
広告コンバージョンの重複計測(ダブルカウント)をGA4・Google広告・Meta広告の3媒体横断で診断・修正する実務フレームを解説。GTMタグ重複・GA4インポートCV二重計上・Meta Pixel+CAPI重複排除の対処手順と正規化フローを体系化します。
- アクセス解析
GA4とGoogle広告のコンバージョン数が合わない原因7パターン|計測期間・アトリビューション・カウント方式の突き合わせ手順
GA4とGoogle広告でコンバージョン数が合わない原因を、アトリビューション・カウント方式・クリック日/CV日・ルックバック・ビュースルー・タイムゾーン・データしきい値の7パターンで切り分け。管理画面の確認手順と優先順位付きチェックリストで当日中に原因特定できます。
- アクセス解析
GA4キーイベントがGoogle広告にインポートできない・反映されない時の原因切り分けと解決チェックリスト
GA4キーイベントをGoogle広告にインポートできない・反映されない原因を、リンク設定・GA4キーイベントマーク・Google広告インポート操作の3層で切り分け。状況別チェックリストとスマート入札への波及確認まで実務手順で解説します。