← 記事一覧へ

ブログ

GTM(Googleタグマネージャー)でタグが計測されない原因と確認方法【プレビューは動くのに本番で出ない】

gtm 計測されないタグマネージャー 動作確認gtm プレビュー 本番 違いgtm タグ 発火しない

「GTMのプレビューではちゃんとタグが発火しているのに、本番サイトだと計測されない」——タグマネージャーを使っていると、いちばん多く、いちばん混乱するのがこのパターンです。プレビューが緑(発火OK)だと「設定は正しい」と安心してしまうのに、公開後の本番では数字が出ない。プレビューと本番のどこが違うのかが分からないと、無限に設定を触り続けることになります。

こんな症状に心当たりはありませんか?

  • GTMのプレビューでは発火しているのに、本番では計測されない
  • 公開(Submit)したはずなのに変更が反映されていない
  • 特定のページ・特定のボタンだけタグが動かない
  • 開発者ツールを見ると、計測リクエストがそもそも飛んでいない
  • GA4やGoogle広告の管理画面にイベントが届かない

この記事では、「GTMで計測されない」ときに何を、どの順で疑えばいいかを、6つのよくある原因に整理します。やみくもにタグやトリガーを作り直す前に、上から順に切り分けていきましょう。

まず大前提:「プレビューで動く」と「本番で動く」は別物

診断でつまずく最大の原因は、プレビューの緑(発火OK)を「本番でも動く証明」だと思い込むことです。GTMのプレビューは、あなたのブラウザに作業中の未公開バージョンを一時的に読み込んで動かす仕組みです。つまり、プレビューが動いても、その変更が本番の訪問者に配信されているとは限りません

まず、いま自分が見ているのがどの状態なのかを整理しましょう。

状態 誰が見ている中身か 計測される?
プレビュー(Tag Assistant) 作業中の未公開バージョン あなたのブラウザだけ
公開済み(Submit後) 公開バージョンのコンテナ すべての訪問者
未公開の編集中 ワークスペースの下書き 誰にも配信されない

ポイントは、「プレビューで発火=本番で計測」ではないということです。以下の原因1〜6は、この差から生まれるつまずきを、多い順・切り分けやすい順に並べています。

原因1:変更を「公開(Submit)」していない

最も多く、最も見落とされるのがこれです。GTMは、タグやトリガーを作って保存しただけでは本番に反映されません。右上の**「公開(Submit)」を押して、新しいバージョンを配信して初めて本番に出ます**。プレビューはワークスペースの下書きを見ているので、公開しなくても発火します——だから「プレビューは動くのに本番で出ない」が起きます。

確認方法: GTM右上の「バージョン」画面を開き、最新の変更が「公開バージョン」に含まれているかを確認します。「公開して〜」というバージョン名の日時が、あなたの編集より前なら、公開が済んでいません。

つまずきやすい例: 「プレビューは緑なのに本番でゼロ」の大半はこの原因1です。プレビューで満足せず、必ず公開ボタンを押したか・公開バージョンに入っているかを先に確認してください。詳しくはコンバージョンは発火するのに記録されない場合も参考になります。

原因2:トリガー条件が本番の状況と合っていない

タグが発火するかどうかはトリガーが決めます。ここの条件が実際のページと少しでもズレると、本番では発火しません。

  • URL条件のズレ: 「Page URL が /thanks を含む」で組んだが、本番の完了ページが /complete/thank-you/、末尾スラッシュ有無、クエリ付き(?id=...)で微妙に違う
  • 要素のクリック条件のズレ: ボタンのクラス名・IDが本番で変わっている、あるいはSPA(画面遷移しないサイト)でクリック要素が動的に差し替わる
  • フォーム送信トリガー: 実装によっては標準のフォーム送信を検知できず、発火しない

確認方法: プレビュー(Tag Assistant)で、その操作をしたときにトリガーが「Fired(発火)」か「Not Fired(未発火)」かを見ます。Not Firedなら、トリガーの条件と実際の値(URLやクリック要素)を突き合わせます。

つまずきやすい例: 「特定のページだけ計測されない」ときは、まずこのトリガーのURL条件を疑ってください。本番URLをコピーして、条件に本当に一致するか一字ずつ照合するのが確実です。

原因3:公開バージョン・コンテナID(GTM-XXXX)の取り違え

意外に多いのが、見ている場所と本番に入っている場所が違うケースです。

  • コンテナIDの取り違え: 本番サイトに埋め込まれているのが GTM-AAAA なのに、あなたが編集しているのが GTM-BBBB(テスト用・別サイト用・作り直した別コンテナ)だと、いくら設定しても本番には出ません
  • 旧コード・二重設置: サイト側に古いGTMコードが残っている、または複数のGTMが二重に入っていて、意図しない側が動いている

確認方法: 本番ページで開発者ツールを開き、ソース内の GTM- で始まるIDを検索して、自分が編集しているコンテナIDと一致するかを確認します。あわせて、複数の GTM- が出てこないか(二重設置)も見ます。

つまずきやすい例: サイト制作会社とマーケ担当で別々のGTMを入れてしまい、「設定したのに出ない」が長期化するのは典型です。まず本番のHTMLに入っている実際のコンテナIDを確認しましょう。

原因4:タグが「一時停止」または未接続になっている

タグ自体が止まっていることもあります。

  • タグの設定で**「一時停止(Pause)」**になっている
  • タグにトリガーが1つも紐づいていない(発火条件がないので永久に発火しない)
  • 依存する別のタグ(設定タグ・初期化タグ)が発火していない

確認方法: GTMのタグ一覧で、対象タグに一時停止マークが付いていないか、トリガー欄が空でないかを確認します。

つまずきやすい例: 検証のために一時停止したまま公開して、そのまま止まっている——という取り違えは珍しくありません。公開前にタグの状態を一覧で見直しましょう。

原因5:同意設定(Consent)でブロックされている

計測の信号は送られる直前で止められていることもあります。GTMの同意モードや、Cookie同意バナーとの連携によって、ユーザーが同意していない状態ではタグの発火が保留・ブロックされる設定になっていることがあります。

  • 同意バナーで許可される前は、計測タグが待機・非発火になる
  • 「必須Cookieのみ」を選んだユーザーの計測が制限される

確認方法: プレビューで同意ステータスを確認し、同意前後で発火が変わるかを見ます。本番では、実際に同意バナーで許可した状態で計測が動くかを確認します。

つまずきやすい例: 「プレビュー(同意済み扱い)では動くのに、本番の訪問者では出ない」場合、同意設定でブロックされている可能性があります。プレビューの自分は同意済みでも、本番の訪問者は未同意のことが多い、という視点が抜けがちです。

原因6:変数(データレイヤー)が空になっている

タグは発火しても、中身のデータが空だと計測が成立しない・値がおかしくなることがあります。GTMは、金額・注文ID・イベント名などをデータレイヤーという受け渡しの仕組みから読み取ります。ここが本番で埋まっていないと、タグは動いても「値なし」で送られます。

  • サイト側がデータレイヤーに値を書き込む前にタグが発火してしまう(タイミングのズレ)
  • 変数名の綴りがサイト側とGTM側で食い違っている
  • プレビューでは開発者が手で値を入れていて、本番では埋まっていない

確認方法: プレビューの「Variables(変数)」「Data Layer」タブで、発火の瞬間に対象の変数が期待どおりの値になっているかを確認します。空や undefined なら、サイト側の書き込みタイミング・変数名を見直します。

つまずきやすい例: eコマースの購入金額が「0」や空で届くのは、ほぼこのデータレイヤーのタイミングか変数名のズレです。GA4タグの検証Google広告コンバージョンの検証の観点も合わせて確認すると切り分けやすくなります。

見落としがち:ブロッキングトリガー(例外トリガー)がタグを止めている

タグの発火トリガーの条件がすべて満たされていても、GTMには**ブロッキングトリガー(例外トリガー)**という仕組みがあり、これが条件に一致するとタグの発火を無言で止めます。たとえば、社内トラフィックの除外や特定ページの除外のためにブロッキングトリガーが設定されている場合、発火トリガーの条件に関係なくタグは発火しません。

確認方法: GTMでタグを開き、発火トリガーの下にあるブロッキングトリガーの欄を確認します。プレビューで発火トリガーの条件がすべて緑なのに「Not Fired」になっているタグは、ブロッキングトリガーが原因であることが多いです。

つまずきやすい例: ブロッキングトリガーは発火トリガーより表示が目立たないため、忘れられがちです。トリガー条件が正しいはずなのにタグが発火しない場合は、タグを作り直す前にブロッキングトリガーを確認しましょう。コンバージョンは発火するのに記録されない場合でもよくある原因です。

GTMが原因か切り分ける確認の順番

上から順に確認すると、最短で原因にたどり着けます。

  • 開発者ツールの「Network」タブで、そもそも計測リクエストが飛んでいるか(飛んでいなければ発火の問題=原因1〜4)
  • プレビュー(Tag Assistant)で、対象トリガーがFiredか、変数に値が入っているか
  • GTMのバージョン画面で、最新の変更が公開バージョンに入っているか
  • 本番HTMLのコンテナID(GTM-XXXX)が、編集中のものと一致しているか
  • 同意バナーで許可した状態で、本番でも発火・計測されるか

手元の確認だけでは分からないこと

原因1〜6の確認はどれも有効ですが、自分の手元で1回プレビューするやり方には、構造的な限界が2つあります。

  1. 自分の環境=本番のユーザー環境ではない。 プレビューはあなたのブラウザに未公開バージョンを読み込んで動かすもので、同意ステータス・ログイン状態・拡張機能・キャッシュなどが本番の訪問者と違います。手元では発火しても、実際の訪問者の条件(未同意・別ブラウザ・SPAの遷移経路)では欠けていることがあります。
  2. 広告クリックがからむコンバージョンは確認が難しい。 「広告経由で本当に計測されるか」をきちんと見ようとすると、本来はライブ広告をクリックして経路を再現する必要があり、これは自己クリックとして広告ポリシー違反のリスクを伴います。

「プレビューで発火しているからOK」と判断すると、本番のユーザーがたどる実際の経路でデータが欠けている問題を見逃しがちです。

広告ブロッカーとプライバシーツール:本番だけに現れる盲点

訪問者の中には広告ブロッカー、プライバシー重視のブラウザ、トラッキング防止拡張機能を使っている人が増えており、GTMや計測リクエストがブロックされるケースがあります。自分のテスト環境でこれらを使っていなければ、この影響は見えません。

  • uBlock OriginやPrivacy Badgerなどの拡張機能が googletagmanager.com のスクリプトをブロックし、GTM自体が読み込まれない
  • プライバシー重視のブラウザ(Brave、Firefoxの強化トラッキング防止機能)が google-analytics.comgoogleads.g.doubleclick.net への送信をブロックする
  • 企業のファイアウォールやDNSレベルのブロッカーが、計測リクエストをネットワークから出る前に除去する

実務的な意味: ブロックされたヒットはGA4やGoogle広告に一切表示されません。トラッキングをブロックしているユーザーに対するGTM側の対策はありませんが、この差分を理解しておくと、存在しない設定ミスを追いかける無駄を防げます。詳しくは広告ブロッカーとピクセルブロッキングSafari ITPによるコンバージョン損失も参考にしてください。

ヒント: 原因1〜6で設定が正しいと確認できたのにコンバージョン数が想定より少ない場合、訪問者の広告ブロッカー利用率がその差の一因かもしれません。サーバーサイドGTMを導入すると、計測リクエストを自社ドメイン経由にすることで一部のデータを回収できます。

レポート反映の遅延を除外してから再構築する

タグの発火が正しいことを確認したあと、GA4やGoogle広告にすぐ数字が出なくても慌てないでください。レポートの反映遅延は正常であり、計測が壊れていると誤解しがちです。

  • GA4リアルタイムレポート: イベントは数秒〜数分で表示されますが、標準レポートへの完全な反映には24〜48時間かかることがあります
  • Google広告コンバージョン: 新しいコンバージョンアクションは表示開始まで最大24時間かかり、レポート上はコンバージョン日ではなく広告クリック日に帰属されます
  • コンバージョンリンカー: Google広告のコンバージョンリンカータグが発火していないと、コンバージョンは計測されても正しいキャンペーンに帰属されません。詳しくはGCLIDとクリックIDを参照してください

確認方法: GA4のリアルタイムレポート(レポート > リアルタイム)で、テスト後数分以内にイベントが届くことを確認します。Google広告では、ツール > コンバージョンでコンバージョンアクションの「最終記録」タイムスタンプを確認します。タイムスタンプが最近なら計測は動いています——標準レポートがまだ追いついていないだけです。

確認チェックリスト

  • 変更を「公開(Submit)」し、最新の変更が公開バージョンに含まれている
  • 対象トリガーの条件(URL・クリック要素)が、本番の実際の値と一致している
  • 本番HTMLのコンテナID(GTM-XXXX)が、編集中のコンテナと同じ
  • 対象タグが一時停止になっておらず、トリガーが紐づいている
  • 同意バナーで許可した状態でも、本番で発火・計測される
  • 発火の瞬間、データレイヤー(変数)に期待どおりの値が入っている
  • 開発者ツールの「Network」で、本番の計測リクエストが実際に飛んでいる

くわしくはコンバージョン計測の検証チェックリストもあわせて活用してください。

よくある質問(FAQ)

Q. GTMのプレビューでは発火しているのに、本番で計測されません。 A. 最も多いのは、変更を「公開(Submit)」していない(原因1)ケースです。プレビューは未公開バージョンを見ているため、公開しなくても発火します。次に、本番のコンテナIDが編集中のものと違う(原因3)、同意設定でブロックされている(原因5)を疑ってください。

Q. 特定のページ・ボタンだけタグが発火しません。 A. トリガー条件のズレ(原因2)が筆頭容疑です。本番URLの末尾スラッシュやクエリ、ボタンのクラス名・IDが、トリガーの条件と本当に一致しているか、プレビューでFired/Not Firedを見ながら照合してください。

Q. タグは発火しているのに、金額や注文IDが空で届きます。 A. データレイヤー(変数)が空になっている(原因6)可能性が高いです。サイト側がデータレイヤーに値を書き込むタイミングと、変数名の綴りを確認してください。プレビューの「Variables」「Data Layer」タブで発火時の値を見るのが確実です。

Q. 設定したはずなのに、どこを見れば公開できているか分かりますか? A. GTM右上の「バージョン」画面で、最新の変更が「公開バージョン」に含まれているかを確認します。公開バージョンの日時があなたの編集より前なら、公開(Submit)が済んでいません。

Q. コンテナIDが合っているかは、どう確認しますか? A. 本番ページを開いて開発者ツールでソース内の GTM- を検索し、出てきたIDが編集中のコンテナIDと一致するかを見ます。複数の GTM- が出てくる場合は二重設置の可能性があります。

まとめ:公開を確認し、最後は本番の経路で確かめる

「GTMで計測されない」は、①未公開(Submit忘れ)、②トリガー条件のズレ、③コンテナIDの取り違え、④タグの一時停止、⑤同意設定でブロック、⑥データレイヤーが空、のどれかにほぼ集約されます。プレビューの緑で安心せず、上から順に切り分ければ、やみくもにタグを作り直さずに原因へたどり着けます。

ただし、手元でのプレビュー確認には限界があります。本番環境で、実際の訪問者の経路でも正しく計測されているかまで踏み込むことが、本当の意味での「計測できている」確認です。

ConversionOKは、外部の独立した実ブラウザであなたの本番ページにアクセスし、実際に送信されるタグの計測リクエストを傍受して検証します。自分の広告をクリックする必要も、社内環境の影響を受けることもありません。まずは無料の静的チェックで、計測の入口を確認してみてください。