GA4にローカル環境やテスト環境のアクセスが入る原因と除外方法

GA4のレポートを開いたら、localhostや見覚えのないテスト用ドメインが混ざっている。「この数字、なんだろう?」というときは、本番と同じ測定IDのGoogleタグが、ローカル環境やテスト環境でも動いています。まず「ホスト名」で送信元を確認して、今後のデータはGA4のフィルタかGTMの発火条件で分けます。ひとつだけ注意点があって、過去に入ったデータは元に戻せません。ここだけ先に知っておくと安心です。

この記事でわかること

本番以外のアクセスが入る理由と、今後混ざらないようにする方法を整理します。

  • ローカル環境やテスト環境のデータが入る原因
  • GA4で送信元のホスト名を確認する方法
  • GA4とGTM、どちらで除外するか

本番以外のアクセスが入る原因

原因はほぼ一つで、本番と同じGoogleタグやGTMコンテナが、ローカル環境やテスト環境でも読み込まれているためです。

WordPressサイトやHTML一式を複製すると、計測タグもそのままついてきます。その状態でテストページを開けば、URLが本番と違っていても、イベントは同じGA4プロパティに飛びます。

よくあるのは次のパターンです。

  • テスト環境にも本番用のGTMコードが入っている
  • ローカル環境で本番用コンテナを読み込んでいる
  • HTMLへ直接書いたGoogleタグが複製先にも残っている
  • 複数サイトで同じ測定IDを使っている

ページパスが/contact/だけでは、本番かテストかを見分けられません。GA4ではURLのドメイン部分が「ホスト名」として記録されるので、まずこの値を見ます。

GA4でホスト名を確認する

除外設定の前に、本番として残すホスト名と、不要なホスト名を分けます。ここが曖昧なまま進めると、あとで必要なデータまで消しかねません。

確認しやすいのは、GA4の「ページとスクリーン」レポートかデータ探索です。

  1. 「レポート」を開く
  2. 「エンゲージメント」から「ページとスクリーン」を開く
  3. 表のディメンションへ「ホスト名」を追加する
  4. 表示された送信元を確認する

画面上でホスト名を追加しにくい場合は、「探索」から自由形式を作って、ディメンションに「ホスト名」、指標に「イベント数」を入れます。

ホスト名扱い
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の両方に設定があってどこを直せばいいか分からない、フィルタを有効にする前に対象を確認しておきたい。そんなときは、お力になれると思うのでお気軽にご相談ください。

サイト改善相談を見る

SNS SHARE

はてなブックマークでシェアXでシェアLINEでシェアPocketでシェア