【GA4対策】海外からのスパムアクセスをGTMで除外(計測ブロック)する具体的な手順
「GA4を見たら、中国やアメリカなど海外からのアクセスが急増している」「スパムアクセスのせいで、本来のPV数やコンバージョン率が正確に測れない」——Webサイトの運用をご支援しているA社様から、ある日こんなご相談をいただきました。
すぐさまアクセス解析の状況を確認すると、確かに不自然な海外からのトラフィックがレポートを埋め尽くしていました。Webサイトを運用していると、ある日突然やってくる海外からのボットやスパムアクセス。GA4のレポートがノイズだらけになってしまい、正しい分析ができず頭を抱えるWeb担当者の方は多いのではないでしょうか。
この記事では、A社様への解決策として実装した「Webサイト自体は海外からも見れる状態にしつつ、GA4の計測だけを日本国内(JP)に限定する」という、GTM(Googleタグマネージャー)を使った手法をステップ・バイ・ステップで解説します。あわせて、GA4に限らず使える見分け方も紹介します。
サーバーブロックの落とし穴と今回の課題

海外からの不要なアクセスを防ぐ手段として、真っ先に思いつくのはサーバー側(.htaccess等)で海外IPを弾く方法です。しかし、A社様からは「海外にいる日本人(駐在員や留学生など)が見られなくなるのは困る」という強いご要望がありました。
かといって、GA4の標準機能には「特定の国だけを除外する」というフィルターが存在しません。サイトの閲覧は許可しつつ、計測のノイズだけを消すにはどうすればよいのか。ここで思考を切り替え、GTMを活用したアプローチに辿り着きました。
GTMと無料APIを使った仕組みのカラクリ

解決策のコアとなるのは、計測のノイズだけを消すという仕組みです。ユーザーがサイトを開いた瞬間、無料で使えるIP判定ツールを使って国コード(JPなど)を取得し、日本からのアクセスだった場合のみGA4を動かす(発火させる)ようにします。
APIキーの登録などが不要で、無制限に使えるCloudflareのTraceツール(1.1.1.1/cdn-cgi/trace)を利用するため、誰でも無料で今すぐ実装できるのが最大のメリットです。運用フェーズや重要度に合わせて、小回りの利く手法と言えます。
具体的な手順・解決策
それでは、GTMでの具体的な設定ステップを解説します。
ステップ1:国コードを取得する「カスタムHTML」タグを作る
まずは、ユーザーの国籍(IP)を判定してGTMに教えるためのタグを作ります。
- GTMの左メニューから [タグ] > [新規] をクリック。
- タグの種類で [カスタム HTML] を選択します。
- 以下のコードをコピーして貼り付けます。(※GTMの仕様上、古いJavaScriptの書き方(ES5)に変換してあります)
<script>
fetch('https://1.1.1.1/cdn-cgi/trace')
.then(function(res) {
return res.text();
})
.then(function(text) {
// 取得したデータから国コード(例: JP)を抜き出す
var match = text.match(/loc=([A-Z]+)/);
var country = match ? match[1] : 'UNKNOWN';
// GTMのデータレイヤーに国情報を送る
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'location_checked',
'user_country': country
});
})
.catch(function(err) {
// 万が一エラーが出た場合はUNKNOWNとする
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'location_checked',
'user_country': 'UNKNOWN'
});
});
</script>
- トリガーは [All Pages](初期化またはページビュー) を選択します。
- タグ名を「IP国コード判定」などにして保存します。
ステップ2:取得した国コードを入れる「変数」を作る
次に、ステップ1で取得した国コード(JPなど)を受け止める箱を作ります。
- 左メニューの [変数] > ユーザー定義変数の [新規] をクリック。
- 変数のタイプで [データレイヤーの変数] を選択。
- データレイヤーの変数名に user_country と入力。
- 変数名も「user_country」として保存します。
ステップ3:日本からの時だけ動く「トリガー」を作る
GA4を動かすための「新しい条件」を作ります。
- 左メニューの [トリガー] > [新規] をクリック。
- トリガーのタイプで [カスタム イベント] を選択。
- イベント名に location_checked と入力。
- このトリガーの発生場所を [一部のカスタムイベント] に変更。
- 条件設定の枠で、[user_country] [等しい] [JP] と設定。
- トリガー名を「日本国内からのアクセスのみ」などにして保存します。
ステップ4:既存のGA4タグの設定を差し替える
最後に、今動いているGA4のタグの「発火タイミング」を差し替えます。
- 既に設定されている [GA4 設定タグ(またはGoogleタグ)] を開きます。
- 下部にあるトリガー(現在は「All Pages」になっているはずです)を削除します。
- 代わりに、ステップ3で作った「日本国内からのアクセスのみ」のトリガーを追加して保存します。
設定が終わったら、いきなり公開せずにテストすることをおすすめします。GTM右上の「プレビュー」から、プレビュー画面(Tag Assistant)の左側で location_checked をクリックした際、GA4のタグが「Tags Fired(発火したタグ)」に入っていれば成功です。
GA4以外でも使える海外からの不自然なアクセスの見分け方

GTMでの対策を講じる前に、そもそも今見ているトラフィックが「不自然なアクセス」かどうかを見極める必要があります。以下の3つの指標を組み合わせることで、GA4に限らずある程度判断できます。

1つだけ条件に当てはまる場合は、通常の変動とみなして問題ないことが多いです。一方で、2つ以上の指標が同時に当てはまり、特定の日付で突然始まっていて、新しい被リンクやキャンペーンなど心当たりがない場合は、発生源を特定するまで数字を鵜呑みにしないことをおすすめします。
原因を探る際は、地域でセグメントして確認するのがおすすめです。不自然なアクセスは、少数のURLに集中したり、同じデバイスモデルばかり報告したり、データセンターの多い国に偏ったりする傾向があります。汚染された期間を基準にレポートや予算判断を行うことは避け、発生源の特定を優先することが大切です。
導入後の注意点

この設定を行うと、ページが開いた瞬間に「あなたはどこの国ですか?」と確認する処理が走るため、GA4の計測が通常よりほんのコンマ数秒だけ遅れます。実運用上はほぼ影響ありませんが、ごく稀にページを即座に閉じたユーザーの計測が漏れる可能性があります。しかし、スパムノイズでレポートがグチャグチャになるストレスに比べれば、メリットの大きい施策です。
私たちLIHは、単に言われた通りの設定を行うだけでなく、クライアント様のビジネス状況やエンドユーザーの利便性まで考慮し、運用フェーズや重要度に合わせてポリシーを使い分けるソリューションを提案しています。
Cross Talk:GA4計測制御の対応で感じること
出利葉貴弘(代表取締役)
相原さん、今回のA社様の対応お疲れ様。単純に海外からのアクセスをサーバーではじくのではなく、「計測だけを制御する」という視点の切り替えは的確だったと思う。クライアント様も本来の目的を見失わずに済んで安心されていたね。
相原(現場)
ありがとうございます。サイト閲覧の機会損失を防ぐというビジネス上の要件と、正確なデータ取得というマーケティングの要件を両立させる必要がありました。CloudflareのTraceツールとGTMを組み合わせる手法を選択しました。外部APIを使うことで少し表示と計測にタイムラグが出ますが、ノイズを消すメリットの方がはるかに大きいと判断しました。
出利葉貴弘(代表取締役)
その「メリットとデメリットの天秤」を現場で素早く判断できたのは良かった。ツールはあくまで手段であり、私たちが守るべきはクライアント様の「ビジネスの機会」と「正しい意思決定のためのデータ」だ。今後もこうした多角的な視点を持った技術提案を、チーム全体で共有していこう。
よくある質問
Q. GA4の標準機能だけでは海外アクセスを除外できないのですか?
GA4には既知のボットを自動で除外する機能が標準で備わっていますが、国や地域を指定して計測を止める機能はありません。特定の国を除外したい場合は、本記事で紹介したGTMを使った方法か、探索レポートのフィルタで地域やブラウザ条件を除外する方法を併用する必要があります。
サーバー側で海外IPをブロックする方法ではダメなのですか?
サーバー側(.htaccess等)で海外IPを弾く方法は手軽ですが、海外在住の日本人(駐在員・留学生など)や、海外から正規にアクセスしたいユーザーまで閲覧できなくなる点がデメリットです。サイトの閲覧自体は許可したまま計測だけを制御したい場合は、GTMを使う方法が有効です。
Q. この設定を行うとページの表示速度やユーザー体験に影響はありますか?
外部APIへの問い合わせが発生するため、GA4の計測にコンマ数秒程度のタイムラグが生じます。ページ自体の表示速度に体感できるほどの影響はありませんが、ごく稀にページを即座に閉じたユーザーの計測が漏れる可能性があります。
GA4の計測・アクセス解析のご相談はLIHへ
LIHは500件超の中小企業のWeb支援実績をもとに、GA4の計測設定やアクセス解析の改善まで幅広くサポートしています。自社での対応が難しい場合や、リスク管理をプロに任せたい方は、まずはお気軽にご相談ください。