구글 애널리틱스에서 로그분석을 하면 중요한 포인트가 바로 내부트래픽을 제외하는 작업입니다.


내부 IP가 기록되는 경우 정상적인 로그가 아닌 내부 사람들이 테스트나 기타 활동으로 인한 클릭이 고스란히 잡히고 그 양이 많다면 올바른 데이터 분석을 위해 큰 문제를 발생시키기 때문입니다.


그래서 구글 애널리틱스에서는 대부 IP를 필터링 하는 기능을 제공하고 있는데요.

다른 사이트에 비하면 조금 불편합니다.


<에이스 카운터 IP 필터링 기능 - 그냥 해당 IP를 추가하면 범위 설정까지 가능>


하지만 구글의 경우 확장성과 자율성을 최대한 보장하는 대신에 정규식을 사용해 필터링 원하는 정보를 입력해야 합니다.


예로들어 123.123.123.12 이라는 IP를 필터링 하고 싶으면 단일 IP의 경우 그냥 입력하는 기능을 부여하고 있지만 범위를 지정하기 위해서는 정규식이라는 것을 활용해야 하는데요.


사용법이 복잡합니다.


예로들어 제외를 희망하는 IP 주소가 65.240.248.161 - 189 이라고 한다면


^65\.240\.248\.(16[1-9]|17[0-9]|18[0-9]) 이렇게 입력해야 합니다. 딱 봐도 복잡해 보이조?

해석은 다음과 같습니다.


^65\. = 시작은 65로 해야한다. 그리고 마지막에 .은 기호가 아닌 문자이다.

240\. = 240을 포함하고 뒤에 .은 기호가 아닌 문자이다.

248\. = 248을 포함하고 뒤에 .은 기호가 아닌 문자이다.

마지막에 범위를 지정하는 함수식이 조금 복잡합니다.

(16[1-9]|17[0-9]|18[0-9])  = 16으로 시작하고 3번째자리는 1~9까지 혹은 17로 시작하고 3번째자리는 1~9까지 혹은 18로 시작하고 3번째자리는 1~9까지인 함수 이렇게 표현됩니다.


IP 주소가 65.240.248.1 - 253 이라면 조금 더 복잡합니다. 

일단 앞에는 동일합니다. 하지만 마지막이 조금 복잡한데요

(\d{1,2}$|1\d{2}$|2[0-4]\d|25[0-3])

1.2자리에는 0~99까지 숫자가 들어옵니다.$은 종결을 의미하는데요. $이 없으면 999도 포함된다는 것을 의미합니다. 말 그대로 앞2자리가 0~99까지 지정되었기 때문입니다. 

1\d{2}$ 이 말은 앞에는 1이라는 숫자가 오고 2번째 자리에는 0~99까지 가능하다는 말입니다. 역시 끝은 $로 막아야 합니다.

2[0-4]\d이말은 첫째는 2가 오고 뒷자리는 0~4 마지막은 0~9라는 의미입니다. 즉 200~249 포함합니다.

25[0-3]은 앞에 두자리는 25로 시작하고 마지막자리는 0~3까지 가능하다는 의미입니다.


이렇게 작성한 코드는 http://rubular.com/ 와 같은 사이트에서 정규식이 정상적인지 확인 가능합니다.



 

이렇게 만들어진 정규식을 구글 애널리틱스 필터에 적용시키면 내부에서 발생하는 트래픽을 제외한 로그 수집이 가능합니다.


구글 애널리틱스를 사용하는 분들은 내부 IP를 꼭 체크해보세요!!

블로그 이미지

사진찍는백곰

산업관련 정보, 마케팅, 웹로그분석, 기타 산업진흥마을 이야기

,