唐揚げ食べたい

六本木で働くwebエンジニアのブログです

GAのイベントを環境ごとにフィルタリングする

概要

新しくサーバ側からGAイベントを送るように仕込んでみたけど、ステージング環境でも何故か計測されるぞ?!というプチトラブルに遭いました。
今まで言われるがまま仕込んでたせいで自分で全然理解してないままだったので、事の顛末を備忘として残します。

GAのイベントを仕込むには

この辺をどうぞ developers.google.com kyanite.hatenablog.com

何が起こったか

ステージングではイベントを計測されない設定のはずなのに、されてるぞ?!
実装者(私)は概要にある通り、今まで理解してGAを設定していたわけではないので、
そもそも「ステージングでは計測されない」という前提も知らず…。
計測された = 自分の実装があってると思っていたのですが、計測されるということ自体が誤りでした。

また、チームの中にはここについて正確に知る人がおらず…。
「計測されないはずだけど、なんでされてるんだろう????」という状態に陥りました。

イベントをフィルタリングするための設定

GAのイベントのフィルタリングにはビューの設定のうち フィルタ が使われます。

f:id:miyakona38572:20200410185948p:plain:w200   f:id:miyakona38572:20200410185953p:plain:w200
GAの設定画面
support.google.com

誤解① ウェブサイトのURL

実はビューの設定の ウェブサイトのURL という項目があります。
今回はステージングと本番のURLが違い、 ウェブサイトのURL には本番のURLが設定してありました。
これにより、ステージングは計測されないと思い込んでいる状況にありました。

f:id:miyakona38572:20200410190550p:plain
ウェブサイトのURLを指定できるんだよね
ここの設定、以下のリンクを参照すると単純にリンク先のドメインとして利用できるってだけなのですかね…? www.oro.com 一応、公式も貼っておきます(ちょっと曖昧な表現に感じ、私はピンときませんでしたが…) support.google.com

誤解② リモートワーク

すでに運用しているイベントだったので、社内からのアクセスが計測されない設定になっている状態のビューでした。
が…。
コロナウィルスの影響を受けて、各自宅からステージング環境にアクセスしていたため、
全て除外されているIP以外からのアクセスとなり「ステージングでもなぜか計測される」と誤解してしまいました。
VPNを用意しているものの回線が太くなく、必要がないときにはVPNを切断して開発していました。
そのため、普段利用していないVPNの存在を忘れてアワアワしてしまいました。

誤解③ サーバ側からの送信

今回新たにつけたイベント発行処理はサーバ側からの送信でした。
(詳しいことはこちらを参照ください : php側でGAイベントを送る - 唐揚げ食べたい
勘の良い方はもうおわかりかと思いますが、このサーバのGIPについてもフィルタの除外設定に入れる必要があったのです。
幸い(?)弊社のステージング環境は1台のEC2しかなくGIPも持ってたので、除外設定を入れて事なきを得ました。

以上です。今後は何事も理解して使うようにしていきたいです。