GA4の海外アクセス、実はボットだった話

GA4の海外アクセス、実はボットだった話

きっかけは国別データでした。GA4のレポートをなんとなく眺めていたら、ユーザーの国別内訳がアメリカ・ポーランド・ドイツ・韓国とバラバラで、正直ちょっとぎょっとしました。日本語オンリーの個人ブログで、しかも公開してまだ数日なのに、なんでこんなに海外からのアクセスがあるんだろうと。今回はその原因を調べた話です。

海外からのアクセスが目立った

内訳を見て驚きました。該当期間の集計を見ると、アクティブユーザー27人のうちアメリカが9人、日本が8人、ポーランドが4人、ドイツと韓国が1人ずつ、という内訳でした。母数が小さいとはいえ、日本以外の方が多いという状況にはさすがに違和感がありました。海外向けの宣伝は一切していないし、SNSでの拡散もまだしていない段階だったので、余計に不自然に見えたんですよね。

怪しい兆候は他にもありました。ちなみに国別の内訳には「(not set)」という項目も4人分ありました。これは国情報が取得できなかったアクセスという意味なんですが、これも後から思うと怪しいサインの一つだったなと思います。

エンゲージメント率を見たら答えが分かった

手がかりはここでした。そこで国別の詳細指標まで確認してみたところ、答えはすぐに見つかりました。日本以外の国は軒並みエンゲージメント率0%、平均エンゲージメント時間も0秒だったんです。一方で日本だけはエンゲージメント率23%、平均エンゲージメント時間31秒と、ちゃんと人が読んでいそうな数値になっていました。つまり海外からの「アクセス」は、ページを開いた記録は残っているのに、スクロールも滞在も一切していない、という状態だったわけです。

実際に確認した手順

確認の手順はこうです。確認したのはGA4の「レポート」→「ユーザー属性」→「ユーザーの国」というレポートです。デフォルトだとアクティブユーザー数と新規ユーザー数くらいしか表示されていないんですが、右上の鉛筆アイコンから指標をカスタマイズすると、「エンゲージのあったセッション数」「エンゲージメント率」「平均エンゲージメント時間」といった指標を列に追加できます。国別のアクセス数だけを見ていると気づけなかったことが、このひと手間で一気に見えてきました。今回みたいに数字に違和感を覚えたときは、内訳の「量」だけじゃなく「質」を示す指標もあわせて見る、という習慣がついたのは収穫でした。

これはボット・クローラー系のアクセスだと判断した

判断の決め手はここでした。エンゲージメントがゼロというのは、人間の行動としてはかなり不自然です。ページを開いた瞬間に離脱するにしても、多少のエンゲージメント時間は記録されるのが普通なので、実際の読者が動いた形跡はなく、自動化されたアクセス(クローラーやスキャナーの類)だと判断しました。公開したばかりの新規ドメインは、検索エンジン以外にもSEO監査ツールやAI系のクローラー、脆弱性スキャナなど、色んな自動アクセスの対象になりやすいらしく、その中にはJavaScriptまで実行してGA4のタグを反応させてしまうものも一定数あるようです。

身構えたのは一瞬でした。調べる前は「もしかして何か攻撃的なアクセスを受けてるんじゃないか」と一瞬身構えたんですが、エンゲージメント率を見た時点で、実害があるタイプのものではなさそうだと落ち着いて考えられるようになりました。数字だけ見て慌てるより先に、その数字が何を意味しているのかまで踏み込んで考える大事さを実感した瞬間でした。

完全に防ぐのは難しいと分かった

完全ブロックは無理でした。じゃあこの手のアクセスを完全にブロックできるのかというと、正直かなり難しそうでした。GA4は「既知のボット・スパイダー」を標準で自動除外してくれる仕組みがあるものの、これは業界標準リストに載っている既知のものだけが対象で、新しいAIクローラーなどは対象外のことも多いようです。またホスト名を偽装して測定エンドポイントに直接偽アクセスを送る、いわゆる「ゴーストスパム」的な手口だと、そもそも自分のサイトのコードを一切経由しないので、サイト側でどう頑張っても防ぎようがありません。今回のケースがどちらだったのかまでは特定できなかったんですが、どちらにしても100%防ぐのは非現実的だと理解しました。

結局どう判断したか

今回は見送りました。対策として、GA4の管理画面でホスト名を条件にしたデータフィルタを作ることもできるらしいんですが、今回は見送ることにしました。理由は単純で、今の母数(27人)だと設定の手間に対して得られる効果が小さすぎるからです。実際のアクセス数が増えてきて、この手のノイズが分析の邪魔になるレベルになったら、そのときに改めて対応を考えようと思います。今の段階で大事なのは、数字に一喜一憂しすぎないことと、エンゲージメント率のような「実際に読まれているか」を示す指標もセットで見る癖をつけることかなと。

反省点も一つあります。あと、これはGA4だけでなくサーバー側のアクセスログと突き合わせて確認するのもアリだったなと後から思いました。今回はそこまではやっていないんですが、次に同じような違和感を覚えたときは、Xserverのアクセスログでも同じタイミングのリクエストがどんなUser-Agentで来ているかを見てみようと思っています。

この視点は後で活きました。ちなみに、この「量だけでなく質の指標もあわせて見る」という考え方は、後日また別の形で役に立つことになりました(GA4の滞在時間が長すぎる。掘ったら正体は自分だった)。

まとめ

教訓はシンプルです。GA4で海外からのアクセスが急に増えて驚いたら、まずは国別の内訳に加えて、エンゲージメント率も一緒に確認してみるのがおすすめです。エンゲージメント率がゼロに近いなら、ボットやクローラーの可能性が高くて、慌てて何か対策する必要はないケースがほとんどだと思います。逆に言うと、この指標を知らなかったら、しばらく無駄に不安になっていたかもしれません。

ちなみに後日、アフィリエイトのクリック数でも同じ構造の話に行き当たりました(A8.netのクリック数、実は人間のクリックじゃなかった話)。

この記事の内容を、YouTube Shortsでも紹介しています

この記事を書いた人

Web制作歴10年近く。WordPressのテーマカスタマイズやコーディングを中心に、副業・本業ともにweb制作に携わっています。このブログでは、実際に手を動かして分かったことを書いています。

Cat's Handをフォローする

この記事が参考になったら、応援クリックをお願いします

タイトルとURLをコピーしました