← 記事一覧へ

ブログ

GA4のタグが正しく動いているか確認する方法【4つの手順と死角】

ga4 タグ 確認ga4 確認GA4 タグ 動作確認GA4 計測 確認

「GA4を設定したけれど、本当に正しく計測できているのか分からない」——これは広告やサイト運用でとても多い不安です。タグは入れたつもりでも、実際にデータが記録されていなければ、レポートも広告の最適化もすべて狂ってしまいます。

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

  • GA4のコンバージョン(キーイベント)の数が、いつまでも 0 のまま
  • 広告管理画面の数字と、GA4のレポートの数字が 合わない
  • 設定したはずなのに、レポートに 反映されない
  • 昨日まで取れていたのに、急に計測が 止まった

この記事では、GA4のタグが正しく動いているかを確認する4つの方法と、計測されないよくある原因トップ5、見落としがちな「死角」、そして本番環境で確実に検証するための考え方を、実務目線で整理します。まだGA4のコンバージョン計測を設定していない場合は、先にGA4コンバージョン計測ガイドをご覧ください。

この記事の要点

  • 「動いている」には設置・発火・記録の3つのレベルがあり、多くのツールは最初の2つしか確認できない
  • DebugViewでイベントが表示されても、GA4が実際に記録したとは限らない
  • 自分の広告は絶対にクリックせず、必ず独立した環境から確認する

確認の前に:「動いている」には3つのレベルがある

GA4の動作確認でつまずく最大の原因は、「タグが動いている」を1つの状態だと思い込むことです。実際には次の3段階があり、いま自分はどれを確認しているのかを意識するだけで、原因の切り分けが一気に楽になります。

レベル 意味 よくある落とし穴
① 設置 ページにタグ(gtag / GTM)が読み込まれている そもそも一部ページに入っていない
② 発火 イベントのリクエストがGoogleへ送信される 設置はOKでも特定の操作で発火しない
③ 記録 GA4側がそのイベントを受理・保存する 発火していても同意設定や除外フィルタで記録されない
① 設置 ページにタグが読み込まれる ② 発火 Googleへイベント送信 ③ 記録 GA4が受理・保存する ✕ 一部ページに未設置 ✕ トリガー・公開の問題 ✕ 同意・フィルタで除外 多くの確認ツールは②で止まる——②と③の間こそ、コンバージョンが静かに消える場所

ポイントは、②発火と③記録は別物だということです。ブラウザからリクエストが飛んでいても、GA4の同意モードや内部トラフィック除外の設定によっては、データが保存されないことがあります。多くの確認ツールは②までしか見ていません。ここが後述する「死角」の核心です。

以下の手順1〜4は、主に①設置と②発火を確認する方法です。③記録の確認は、手順2(DebugView/リアルタイム)と、記事後半の「発火しているのに記録されない理由」で詳しく扱います。

補足:あなたは「gtag直貼り」?「GTM経由」?

確認に入る前に、自分のサイトがGA4タグをどう設置しているかを把握しておくと、見るべき場所が変わってきます。大きく2通りです。

  • gtag(直貼り):HTMLに gtag.js のコードを直接書いている方式。確認は手順1〜3(タグアシスタント・DebugView・開発者ツール)が中心。
  • GTM(Googleタグマネージャー)経由:GTMのコンテナを通してGA4タグを管理する方式。確認は手順4(GTMプレビュー)が主役になり、「トリガーが正しく発火しているか」「変更を公開したか」が要点。

どちらか分からない場合は、開発者ツールのNetworkタブで gtm.js のリクエストがあればGTM経由、gtag だけなら直貼りの可能性が高いです。どちらの方式かで、つまずく場所も変わることを覚えておいてください。

かんたん確認:ページのソースコードを見る

ツールを使う前に、タグがそのページに存在するか(①設置)を最も手早く確認する方法が、HTMLソースの直接確認です。

  1. 確認したいページを開く
  2. 右クリック → ページのソースを表示(または Ctrl + U / Cmd + Option + U
  3. Ctrl + F / Cmd + F で測定ID(例:G-XXXXXXX)を検索する

gtag('config', 'G-XXXXXXX') の記述(またはGTMコンテナの gtm.js の読み込み)が見つかれば、そのページにタグは存在しています。見つからなければ、そもそもコードが入っていないので、設置を確認するのが先です。

この方法では発火や記録までは分かりません。タグのコードがHTMLに書かれているかだけの確認です。SPAやJavaScriptで動的にタグを注入しているサイトでは、ソース上に表示されないこともあります。その場合は手順1や手順3に進んでください。

手順1:Googleタグアシスタントで確認する

最も手軽な公式ツールが Googleタグアシスタント(tagassistant.google.com)です。

  1. タグアシスタントに自分のサイトURLを入力して接続する
  2. 開いたプレビュー画面でページを操作する
  3. 検出されたタグ(GA4の測定ID G-XXXXXXX など)と、送信されたイベントが一覧で表示される

分かること: タグが設置されており、イベントのリクエストが送信されている(①と②)。 分からないこと: GA4が最終的にそれを記録したか(③)。タグアシスタントは「送信された」ところまでを見せるツールです。

つまずきやすい例: トップページでは検出できても、実際にコンバージョンが起きる「サンクスページ」や「カート完了ページ」を開いていないと、肝心のイベントは確認できません。確認すべきは、計測したいその瞬間のページです。

手順2:GA4のDebugView/リアルタイムで確認する

GA4管理画面側から見る方法です。DebugView はデバッグモードのイベントをほぼリアルタイムで表示します。

  • デバッグモードを有効化する(GTMのプレビュー、debug_mode パラメータ、または公式拡張機能などで有効になります)
  • 対象ページを操作し、GA4の「管理 → DebugView」でイベントが流れてくるかを見る
  • デバッグを使わない場合は「レポート → リアルタイム」でも、直近のアクティブユーザーやイベントを確認できます

分かること: イベントがGA4に届いて表示されている(③に最も近い確認)。

つまずきやすい例: DebugView/リアルタイムはあくまで「今この瞬間」の確認です。特定の条件(同意の状態、特定ブラウザ、特定の流入経路)でだけ起きる欠損は、自分が手元で操作した1パターンでは再現しないことがあります。「自分の操作では出た」=「全ユーザーで取れている」ではない点に注意してください。

手順3:ブラウザの開発者ツール(Network)で確認する

技術的に最も確実に「②発火」を見られるのが、ブラウザの開発者ツールです。

  1. 確認したいページを開き、開発者ツールの「Network(ネットワーク)」タブを開く
  2. フィルタに collect または google-analytics と入力する
  3. ページ操作で …/g/collect へのリクエストが飛ぶかを見る
  4. リクエストの中身で、tid(測定ID)や en(イベント名)が意図どおりかを確認する

分かること: どのイベントが、どんなパラメータで送信されたか(②を最も精密に)。 分からないこと: やはり③(GA4が受理したか)。送信内容が正しくても、サーバー側で弾かれていないかは別途見る必要があります。

つまずきやすい例: 広告ブロッカーやブラウザのトラッキング防止機能がオンだと、collect のリクエスト自体がブロックされ、「発火していない」ように見えることがあります。確認時はこれらをオフにしたクリーンな状態で見ましょう。

手順4:Googleタグマネージャーのプレビューで確認する

GTMでタグを管理している場合は、プレビューモードで「どのトリガーでどのタグが発火したか」を操作ごとに追えます。

  • GTMのワークスペースで「プレビュー」を起動
  • 対象サイトを開いて操作し、各イベントでGA4タグが発火しているかを確認
  • 発火していなければ、トリガー条件や変数の設定ミスが原因

つまずきやすい例: GTMの変更は公開(Submit)するまで本番に反映されません。プレビューでは動くのに本番で計測されない、という場合は「公開し忘れ」が圧倒的に多い原因です。GTMの詳しいトラブルシューティングはGTMタグが計測されない原因と対処法を参照してください。

補足ツール:Google Analytics Debugger拡張機能

Google Analytics Debugger は、GA4のリクエスト内容をブラウザの開発者コンソールに詳細表示してくれる無料のChrome拡張機能です。

  1. Chrome ウェブストアから拡張機能をインストールする
  2. 拡張機能のアイコンをクリックして「ON」にする
  3. 確認したいページを開き、開発者ツール → Console(コンソール) タブを開く
  4. GA4のヒットごとに、イベント名・パラメータ・測定ID・タイミングなどがログ表示される

手順3(Networkタブ)だとリクエストが多くて見づらい場合に特に便利です。アナリティクスのトラフィックだけをフィルタして整形表示してくれるため、パラメータの設定ミスや値の欠落を見つけやすくなります。

また、この拡張機能を有効にするとGA4のDebugViewも自動的にオンになるため、コンソールとGA4管理画面の両方で同時に確認できます。

クロスドメイン設定の確認

コンバージョンの経路が複数ドメインにまたがる場合(例:www.example.comcheckout.example-pay.com)、単一ドメインの確認だけでは不十分です。クロスドメイン計測は、外部リンクに _gl パラメータを付与してGA4がセッションをつなげる仕組みに依存しています。

確認手順:

  1. ドメインAからドメインBへ遷移するリンクをクリックする
  2. ドメインBのURLに _gl= クエリパラメータが含まれているかを確認する
  3. DevToolsやタグアシスタントで、両ドメインで同じ測定IDが発火しているかを確認する
  4. GA4の管理 → データストリーム → タグの設定 → ドメインの設定で、両ドメインが登録されているかを確認する

よくある失敗パターンは、リダイレクトで _gl パラメータが消える、片方のドメインで別の測定IDを使っている、などです。ドメイン間でセッションが分断される場合は、クロスドメイントラッキングが壊れる原因と対処法も参照してください。

計測されない「よくある原因」トップ5

確認しても計測されていないとき、原因はだいたい次の5つに集約されます。上から順に疑ってください。

1. そもそもタグが入っていないページがある

全ページ共通で入れたつもりが、別テンプレートのページ(LP・決済完了ページなど)だけ抜けている、というのは定番です。計測したいページを直接開いて手順1〜3で確認します。

2. GTMの変更を公開していない

前述のとおり、GTMはプレビューで動いても、公開しない限り本番には出ません。「設定した=公開した」ではない点に注意。

3. 同意モード(同意バナー)で計測が止まっている

Cookie同意バナーを入れている場合、ユーザーが同意していない状態では計測が制限・停止される設定になっていることがあります。同意した状態・していない状態の両方で挙動を確認しましょう。

4. 内部トラフィック除外で自分が消えている

自分や社内のIPアドレスを除外する設定が入っていると、自分でテストしても計測されません(これは正常な動作です)。テスト時は除外対象になっていないか確認します。

5. イベントは届くが「値」や「重複」でおかしくなる

発火・記録はされていても、購入金額(value)が渡っていない、通貨が違う、同じイベントが二重に送られている——といった「中身の不一致」もよくあります。eコマースの場合はGA4 eコマース purchaseイベントの正しい設定方法も確認してください。数が合わないときは件数だけでなくパラメータの中身まで見ます。

「発火しているのに記録されない」のはなぜか

手順1〜4で「発火(②)」は確認できても、レポートに出てこない(③にならない)。これが最も混乱するパターンです。理由は、発火=Googleへ送信、記録=Googleが受理して保存、は別の段階だからです。

送信されたイベントが記録に至らない代表的な要因:

  • 同意モードの状態:同意がない/制限付きの状態では、計測そのものや一部パラメータが送られない・保存されない
  • データフィルタ・内部トラフィック除外:受理段階で対象外として弾かれる
  • 設定の不一致:測定IDの間違い、キーイベント(コンバージョン)として登録していない、など
  • 反映の時間差:標準レポートは即時ではなく、反映まで時間がかかる(後述)

⚠️ 最大の落とし穴:ブラウザ側で「送れている」ことを確認しただけでは、本番でそのデータが本当に貯まっているかまでは保証できません。発火はブラウザ側の事実であり、記録はGoogle側の判断です。

このパターンの詳細はコンバージョンが発火しているのに記録されない原因で解説しています。

GA4管理画面でデータストリームのステータスを確認する

見落としがちなステップとして、データストリーム自体がデータを受信しているかの確認があります。

  1. GA4で管理 → データストリームを開く
  2. ウェブストリームをクリックする
  3. 「過去48時間」のデータ収集インジケーターを確認する — 最近ヒットが届いているかどうかが表示されます

タグが発火しているはずなのにストリームにデータが表示されない場合、原因は測定IDの不一致(タグが別のプロパティにデータを送っている)やプロパティレベルのフィルタですべて除外されている、といったケースが多いです。イベント単位のデバッグに入る前に、プロパティレベルで③記録を確認する最も手早い方法です。

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

4つの手順はどれも有効ですが、自分の手元で1回操作して確認するやり方には、構造的な限界が2つあります。

  1. 自分の環境=本番のユーザー環境ではない。 ログイン状態・拡張機能・社内IP除外などの影響で、手元では問題なく見えても、実際の訪問者の条件では欠けていることがあります。
  2. 広告クリックがからむコンバージョンは確認が難しい。 「広告経由で本当に計測されるか」をきちんと見ようとすると、本来はライブ広告をクリックして経路を再現する必要があり、これは自己クリックとして広告ポリシー違反のリスクを伴います。

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

確実に確認するためのチェックリスト

まずは無料・手軽にできる範囲を、順番に潰していきましょう。全プラットフォーム共通のチェックリストはコンバージョン計測の検証チェックリストにまとめています。

  • 計測したい全ページにタグが入っているか(一部ページの入れ忘れがないか)
  • 手順1〜3のいずれかで、対象イベントが発火しているか
  • DebugView/リアルタイムで、GA4側に届いて表示されるか
  • GTM利用時、変更を公開済み
  • 同意バナー(同意モード)の状態によって計測が止まっていないか
  • 内部トラフィック除外・データフィルタで自分や社内が除外されていないか
  • 金額(value)・通貨・重複など、イベントの中身は正しいか
  • 本番の実ユーザー条件でも欠けていないか(手元の1パターンだけで判断しない)

よくある質問(FAQ)

GA4を設定したのにコンバージョンが0なのはなぜ?

よくある順に、①キーイベント(コンバージョン)として登録していない、②GTMを公開していない、③反映待ち(標準レポートは時間差あり)、④同意モードや内部トラフィック除外で計測が止まっている、が考えられます。本記事の「原因トップ5」を上から確認してください。

タグアシスタントで「発火」と出ればOK?

それは「送信された(②)」の確認までです。GA4が記録した(③)かは別問題。DebugViewやリアルタイムで実際に届いているか、本番条件でも欠けていないかまで見て初めて安心できます。

設定してからレポートに出るまで、どれくらいかかる?

リアルタイム/DebugViewは数十秒〜数分で確認できますが、標準のレポートへの反映には時間差があり、最大で24〜48時間ほどかかることがあります。「すぐ出ない=壊れている」と即断しないでください。

広告をクリックして確認した方が確実?

自分の広告を自分でクリックするのは、広告プラットフォームのポリシー違反(自己クリック)と見なされ、アカウント審査・停止のリスクがあります。確認は、自分のアカウントの外側=独立した環境から行うのが安全です。

同じコンバージョンが二重に計測されるのはなぜ?

タグを2か所(gtag直貼りとGTMの両方など)で読み込んでいる、ページの再読み込みやリダイレクトで同じイベントが2回送られている、といった原因が典型です。開発者ツールのNetworkで …/g/collect が1操作につき何回飛んでいるかを数えると切り分けられます。

MetaピクセルやGoogle広告の計測も、同じ方法で確認できる?

考え方は同じです。開発者ツールのNetworkで、Metaなら facebook.com/tr、Google広告なら google.com/...conversion 系のリクエストを見れば「発火」は確認できます。ただし「届いた・記録された」かは各プラットフォーム側のテストツールでの照合が必要で、ここでもブラウザ確認だけでは完結しません。

まとめ:発火の確認で止めず、「本番で記録されるか」まで見る

GA4のタグ確認は、手順1〜4で「発火」までは十分に見られます。大事なのはその先——本番環境で、実際の訪問者の経路でも正しく記録されているかまで踏み込むことです。

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