본문 바로가기

Google Analytics

구글 애널리틱스 티스토리 관리자 계정으로 로그인 된 내부 사용자 분류하기

티스토리 블로그를 시작한 지 시간이 흘렀습니다. 

 

시간이 흘러도  저의 블로그를 가장 많이 사용하는 사용자는 저입니다. 

 

개인 맥북으로도 회사 컴퓨터로도 핸드폰으로도 들어가고 쿠키도 지우고 하다보니 구글 애널리틱스에서 인식하는 사용자가는 많아졌는데 

사실 전부 저입니다. 

 

슬프지만 저 자신을 속일 수는 없기에 제 티스토리 계정으로 로그인 된 경우 커스텀 디멘션 상에서 내부 사용자로 필터링 하도록 설정 해보겠습니다. 

 

자 먼저 티스토리 블로그에 들어왔을 때 로그인이 되어 있는 지 안되어있는 지 , 되어있다면 누구인지를 확인해야 합니다. 

 

저는 제 티스토리 블로그에서 개발자 도구를 열어  tiara 라고 타이핑 한 뒤 실행 시켜 보았습니다. 

 

 

자 놀랍게도 많은 정보들이 나옵니다. 

 

이 tiara 라는 변수에는 티스토리에서 사용중인 사용자 로그 수집기에 수집할 정보가 저장 되어 있는 것 같습니다. 

티스토리 잘쓰고 있습니다. 이런 유용한 변수도 넣어주시고 감사합니다. 하고 속으로 감사인사를 드리고 

신나게 커스텀 디멘션을 만들어 봅니다. 

 

tistoryUserId 와 tistoryRole 이라는 디멘션을 만들어주었습니다. 

둘다 scope 는 User 로 만들어주었습니다. 

tistoryUserId 는 어떤 데이터가 쌓일 지 궁금해서 심어보았고 tistoryRole 은 티스토리에서 부여하는 Role 값이 owner 인 경우 제가 들어온 것으로 체크 하기 위해 만들었습니다. 

 

커스텀 디멘션도 만들어주었습니다. 커스텀 디멘션 만드는 방법이 궁금하시다면

https://05log.tistory.com/entry/2-%EA%B5%AC%EA%B8%80-%EC%95%A0%EB%84%90%EB%A6%AC%ED%8B%B1%EC%8A%A4-%EC%BB%A4%EC%8A%A4%ED%85%80-%EB%94%94%EB%A9%98%EC%85%98-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

구글 애널리틱스 커스텀 디멘션 만들기

안녕하세요 구글 애널리틱스 커스텀 디멘션 세팅하는 방법을 알아 보겠습니다. 커스텀 디멘션/메트릭은 왜 세팅하는가? 기본적으로는 GA 에서 추적하지 않으나 추가적으로 추적하고 싶은 측정��

05log.tistory.com

 

를 참조하시면 좋습니다. 

 

자 이제 끝났나? 했으나 다음과 같은 에러를 만나게 됩니다. 

 

tiara 라는 변수를 찾을 수 없다고 합니다. 

아까 콘솔에서 실행했을 때는 분명이 되었는데 ,, 하며 소스를 살펴 보았습니다. 

 

 확인 해보니 tiara 라는 변수는 사이트 하단에서 선언 되고 있었습니다. 

 

html 과 자바스크립트는 문서 상단 부터 하단으로 내려가며 실행 되게 됩니다. 

구글 애널리틱스는 사이트 상단에서 실행하고 있으니 구글 애널리틱스가 실행 될 때에는 tiara 라는 변수가 아직 선언되지 않은 상황이고 그렇기 때문에 위의 에러가 발생한다는 것을 알 수 있습니다. 

 

자 그럼 구글 애널리틱스를 하단으로 이동 시키면 이 문제가 해결이 될까요? 

GA 태그를 멀리 이사를 보냈습니다. 

 

맨 끝으로 보냈지만 tiara 보다 더 멀리 보내지 못했습니다. 또 다시 에러가 발생했습니다. 

 

매우 당황했으나 침착하게 페이지 소스를 열심히 보았고 대체 할 수 있는 변수를 찾았습니다. 

 

콘솔에 T.config 와 initData 를 실행해보니 잘 실행 됩니다. 저는 T.config.Role 과 initData.id 를 사용하면 되겠습니다. 

자그럼 구글 애널리틱스 코드를 다시 심어주도록 하겠습니다. 소스 상에서 봤을 때 body 다음에 해당 코드가 실행 되기 때문에 저희도 GA 코드를 <body>  태그 앞 쪽에 배치 하도록 하겠습니다. 

 

사실 뒤에 배치하여도 큰 문제는 없지만 실행 시간이 약간 늦어질 수 있습니다. https://05log.tistory.com/entry/Google-Analytics-%EC%BD%94%EB%93%9C-%EC%82%BD%EC%9E%85-%EC%9C%84%EC%B9%98%EC%97%90-%EB%94%B0%EB%A5%B8-%EC%B0%A8%EC%9D%B4%EC%A0%90 이글을 참고하시면 좋습니다

 

Google Analytics 코드 삽입 위치에 따른 차이점

Google Analytics 관련 프로젝트를 시작 할 때 종종 듣는 질문이 있습니다. '구글 애널리틱스 코드를 어디에 심느냐에 따라서 차이점이 있나요? 공식적으로는 태그 안에 심으로 하는데 태그에 심어도

05log.tistory.com

 

이 부분에서 주의 해주셔야 할 점은 T.config.ROLE 은 어떤 상황에서든 데이터가 존재하기 때문에 그냥 작성하여도 되지만 

initData.user.id 의 경우 로그인 하지 않은 사용자의 경우 변수 자체가 빈 값으로 생성되 오류를 일으키게 됩니다. 

그렇기 때문에 gtag('set' , 'dimension5' , initData.user ? initData.user.id : 0 ) ; 으로 코딩 해주셔야 하며 이 의미는 

initData.user 의 데이터가 존재하면 initData.user.id 를 사용하고 그렇지 않으면 0 을 보내주겠다는 의미 입니다.

 

그럼 이제 네트워크 탭에서 잘 데이터를 보내주는 지 확인합니다. 

아주 잘 보내주고 있습니다. 

 

위의 initData.user 변수를 확인하면 해당 변수에 이메일 정보가 담겨 있는 것을 볼 수 있습니다. 

사실 이 친구도 저장 하고 싶지만 구글 애널리틱스는 정책상 사용자 정보를 저장하면 안되기 때문에 메일 주소는 안타깝게 보내줄 수 없습니다. 이러한 개인 정보 관련된 CRM 데이터도 몇가지 작업을 한다면 GA 데이터와 엮을 수가 있는데 이 부분은 다음에 기회가 된다면 진행해 보겠습니다. 

 

그러면 이제 만들어진 커스텀 디멘션을 활용하여 제가 로그인한 트래픽은 필터링 되는 뷰를 생성해보도록 하겠습니다. 

 

관리자 페이지 - 뷰 - 우측에 + Create View 버튼을 클릭 하여 뷰를 생성 합니다. 

 

그 후 관리자 페이지 - 뷰 - Filters - Add Filter 클릭 후 

하단 이미지 처럼 Exclue 조건으로 filter Field 를 아까 생성한 디멘션 이름 (tistoryRole) 로 선택 하고 Filter Pattern 을 'owner' 로 설정해줍니다. 

이제 Save 를 클릭하면 필터가 저장되고 적용 됩니다! 

 

이제 실시간 리포트에서 관리자 제외 뷰에서는 제가 측정이 안되는 것을 확인 할 수 있을 겁니다. 

 

이 방법이 재밌는 이유는 유저 기반으로 사용자를 인식하게 되기 때문에 이제 제가 어떤 디바이스나 환경에서 접속 하더라도 저를 인식하고 제 트래픽은 필터링 될 것이라는 점 때문 입니다. 

 

앞 부분에는 삽질을 조금 보여드렸는데 이렇게 사이트를 분석하면 자신이 필요로 하는 데이터를 찾고 수집하는 것이 가능하다는 것을 보여드리기 위해 넣어 보았습니다 ㅎㅎ 도움이 되셨기를 바라며 궁금하신 부분은 편하게 댓글 주셔도 좋습니다 :) 

 

감사합니다 :)