GoogleAnalytics4(以下、GA4)では、内部トラフィックをIPアドレスで除外できる設定がありますが、テストを実施したときだけIPアドレス除外を超えてトラフィックが計測される事象が発生していました。
落ち着いて整理してみると大した問題ではなかったのですが、備忘録として残します
事象
・社内ネットワークからdockerのローカル環境でテストしたときに、GA4のIPアドレス除外が効かずにトラフィックが計測されてしまう
・具体的にはリリース前の新機能へのアクセスが計測されていた
確認したこと
・社内ネットワーク外からアクセスしていないか→テスト担当者に確認したが問題なし
・設定したIPアドレスがおかしいのでは→ifconfig(ipconfig)や確認サイトと一致
・GA4のリアルタイムページを開きながらローカルでテスト→計測されない(再現せず)
結局の原因はSafariのプライバシー機能
・「そういえばUI改修のテストのときにトラフィックが増えがちだな」という傾向から、テストに使用している全ブラウザでテストしたところ、Safariの場合でのみGA4のフィルターを貫通していることが分かった
・調べてみるとSafariにはプライバシー関連の「IPアドレスを非公開にする」機能がある
IPアドレスを非公開にする: IPアドレスが既知のトラッカーから自動的に保護されます。iCloudに登録している対象ユーザの場合、Safariでのブラウズ中にIPアドレスがトラッカーやWebサイトから保護されます。このオプションをオフにすると、IPアドレスは非公開になりません。
https://support.apple.com/ja-jp/guide/iphone/iphb01fc3c85/ios
・ここでいうトラッカーにあたるGA4へは偽装したIPアドレスが送られ、IPアドレス確認サイトには正規のIPアドレスが送られていたのだと思われる
・本番でもSafariアクセスすれば内部トラフィックとして除外されていない状態だったが、社内でSafariを使ってアクセスすることがなかったので気が付かなかった
テストのときは、Safariのプライバシーを蔑ろにしよう
・テストのトラフィックが計測されないよう、PC/SP共にSafariの当該機能をオフにしたところ、無事IPアドレスフィルターが有効になり、安心してテストできるようになりました。
(ちなみにiCloudプライベートリレーという似たIPアドレス偽装の機能もあるが、こちらはiCloud+のサブスクリプション登録の必要があるので気にしなくて良さそうである)