GA4のレポートを開いたら、localhostや見覚えのないテスト用ドメインが混ざっている。「この数字、なんだろう?」というときは、本番と同じ測定IDのGoogleタグが、ローカル環境やテスト環境でも動いています。まず「ホスト名」で送信元を確認して、今後のデータはGA4のフィルタかGTMの発火条件で分けます。ひとつだけ注意点があって、過去に入ったデータは元に戻せません。ここだけ先に知っておくと安心です。
この記事でわかること
本番以外のアクセスが入る理由と、今後混ざらないようにする方法を整理します。
- ローカル環境やテスト環境のデータが入る原因
- GA4で送信元のホスト名を確認する方法
- GA4とGTM、どちらで除外するか
本番以外のアクセスが入る原因
原因はほぼ一つで、本番と同じGoogleタグやGTMコンテナが、ローカル環境やテスト環境でも読み込まれているためです。
WordPressサイトやHTML一式を複製すると、計測タグもそのままついてきます。その状態でテストページを開けば、URLが本番と違っていても、イベントは同じGA4プロパティに飛びます。
よくあるのは次のパターンです。
- テスト環境にも本番用のGTMコードが入っている
- ローカル環境で本番用コンテナを読み込んでいる
- HTMLへ直接書いたGoogleタグが複製先にも残っている
- 複数サイトで同じ測定IDを使っている
ページパスが/contact/だけでは、本番かテストかを見分けられません。GA4ではURLのドメイン部分が「ホスト名」として記録されるので、まずこの値を見ます。
GA4でホスト名を確認する
除外設定の前に、本番として残すホスト名と、不要なホスト名を分けます。ここが曖昧なまま進めると、あとで必要なデータまで消しかねません。
確認しやすいのは、GA4の「ページとスクリーン」レポートかデータ探索です。
- 「レポート」を開く
- 「エンゲージメント」から「ページとスクリーン」を開く
- 表のディメンションへ「ホスト名」を追加する
- 表示された送信元を確認する
画面上でホスト名を追加しにくい場合は、「探索」から自由形式を作って、ディメンションに「ホスト名」、指標に「イベント数」を入れます。
| ホスト名 | 扱い |
|---|---|
www.example.com | 本番サイトとして残す |
staging.example.test | テスト環境として除外する |
localhost | ローカル環境として除外する |
見覚えのないホスト名があっても、即除外はおすすめしません。フォーム用サブドメインや予約システムなど、実は本番で必要な送信元だった、というのがいちばん怖いパターンです。先に正体を確認してみてください。
GA4のウェブホスト名フィルタで除外する
除外するホスト名が分かっているなら、GA4の「ウェブホスト名トラフィック フィルタ」が使えます。
設定場所は次のとおりです。
管理
→ データの収集と修正
→ データフィルタ
→ フィルタを作成
フィルタを作成したら、除外するホスト名とマッチタイプを設定します。
- 完全一致:
localhostや特定のテストドメインだけを対象にする - 次を含む:複数のホスト名に共通する文字列でまとめる
「次を含む」は便利そうに見えて、範囲が広がりがちです。本番ドメインまで巻き込んでいないか、指定する文字列をよく確認してみてください。
最初は「テスト」にする
データフィルタを「有効」にすると、除外された新しいデータはあとから戻せません。だから最初は「テスト」です。24〜36時間ほど待って、何が対象になったかを確かめます。
自由形式のデータ探索に「テストデータのフィルタ名」と「イベント数」を追加すると、条件に一致したデータを確認できます。不要なホスト名だけが対象になっていると分かってから「有効」に切り替えれば安心です。
GTMで本番環境からだけ送信する
GTMを使っているなら、GA4に届いてから除外するのではなく、そもそも本番以外でタグを動かさない、という手もあります。
GTMの組み込み変数「Page Hostname」を使って、Googleタグのトリガーを次のように絞ります。
Page Hostname 等しい www.example.com
この設定なら、localhostやテストドメインではGoogleタグが発火しません。本番として許可するホスト名だけを指定するので、テスト環境が増えても条件を足し続けなくて済みます。
注意点がひとつ。クリックやフォーム送信用のGA4イベントタグが別にあるなら、そちらにも同じホスト名条件が必要かを確認します。それと、HTMLに直接書かれたGoogleタグやWordPressプラグインからの送信は、GTMの条件では止まりません。
GA4とGTMのどちらを使うか
既知の不要なホスト名をGA4側で除外するならウェブホスト名フィルタ、本番以外からは最初から送信したくないならGTMのPage Hostname。ざっくりこの分け方です。
| 方法 | 向いているケース | 注意点 |
|---|---|---|
| GA4のホスト名フィルタ | 除外するホスト名が明確 | 有効後の除外は戻せない |
| GTMのPage Hostname | 本番だけを送信元として許可したい | GTM外のタグには効かない |
| 測定先を分ける | テスト環境も計測したい | 本番用の測定IDと混同しない |
GA4タグをGTMだけで管理している小さなサイトなら、GTMで本番だけ送信する形が分かりやすいです。設置経路が複数あるなら、GA4側のフィルタも候補に入ってきます。
過去に入ったデータは消せない
GA4のデータフィルタもGTMの発火条件も、過去に収集したデータには効きません。
過去の分析をしたいときは、レポートやデータ探索にホスト名の条件を追加して、本番ホスト名だけを表示します。元データを削除するわけではなく、見るときに絞る、という考え方です。
自分で進められる範囲と、いったん止める条件
本番ホスト名が1つで、不要なテスト用ホスト名もはっきりしているなら、自分でも進めやすい設定です。GA4側はテスト状態、GTM側はプレビューを使えば、反映前に対象を確かめられます。
一方、次のような場合は、フィルタを有効にする前に構成の整理からです。
- 本番サイトが複数のドメインやサブドメインにまたがっている
- GTMとHTML直書きの両方でGoogleタグを設置している
- Google広告など、GA4以外のタグも同じ条件で動いている
- どのホスト名が本番として必要なのか判断できない
とくにGA4のフィルタを有効にしたあとのデータは戻せません。対象が曖昧なうちは、無理に進めないほうが安全です。
おわりに
GA4にローカル環境やテスト環境のアクセスが入るのは、本番と同じGoogleタグや測定IDが動いているため。まずホスト名で送信元を確認して、既知の不要な送信元はGA4のフィルタ、本番以外から送らない形にしたいならGTMのPage Hostnameで分けます。
GA4とGTMの両方に設定があってどこを直せばいいか分からない、フィルタを有効にする前に対象を確認しておきたい。そんなときは、お力になれると思うのでお気軽にご相談ください。



