brunch

You can make anything
by writing

C.S.Lewis

by 스티브 Feb 20. 2020

Google Analytics 에서 마주한 문제

Background


사내 Google Analytics를 도입하여 웹사이트 트래픽을 수집하고 있었던 중, 데이터의 부정확성에 이의제기가 있었다. 그리고 이에 대해 진단 해본 결과, 문제가 꽤나 심각했다. 이러한 상황까지 있었던 걸 감지하지 못했던 이유는 그전까지 누구도 문제를 제기하지 않았다는 점과, 웹사이트 내 마케팅 툴 적용하는 것에 과소평가 하고 안일하게 대응 했다는 점이다.

처음 Google Analytics, Facebook Pixel, Amplitude 등의 툴들을 설치 하는 개발은  여타 기능 개발에 비해 상대적으로 가이드 문서도 잘 나왔고, 단순 Ctrl +c, Ctrl+v만 하면 되는 부분이라 간단하게 처리할 수 있다고 생각했다. 그래서 분석에 대한 수치를 검증하는 절차도  공들여 하진 않았다. 하지만 마케팅 툴에 대한 사전 지식 부족, 현재 프론트 웹에 사용된 기술이 SPA(Single Page Application) 라는 점, 그리고 대부분의 타겟이 모바일 유저 라는 점 때문에 몇 가지 변수가 생겼다.

그리고 위의 변수를 통해 크게 3가지의 문제점을 발견할 수 있었다.   


1. 다른 웹사이트 도메인으로 페이지가 이동했다가 재유입 되는 문제


현재 사이트에서는 전자상거래가 발생하고 있고, 이는 아임포트 결제모듈을 사용하여 결제를 하고 있다. 아임포트의 특성상 모바일 환경에서는 결제 이후의 콜백을 현재 사이트내 리다이렉트 URL에서 이벤트를 처리하고 있었다. 그러나, 결제창이 켜지고 있을 때는 다른 도메인을 갔다가 우리페이지에 도달하게 되는 시점에, 사용자가 어느 소스 매체에서 유입이 되었는지 리셋이 되었다.


예를 들어, 페이스북에서 우리 제품의 광고를 보고 들어온 유저의 최초 소스 매체는 Facebook/cpc로 유입되었다. 그러나 이 유저가 결제를 하는 시점에는 PG사의 결제 페이지로 이동했다가 새롭게 페이지를 진입한 걸로 트래킹이 되기 때문에 결제 완료 시점에서는 결제 페이지에서 유입된 것처럼 Google Analytics가 수치를 보여주고 있었다. 따라서 어느 광고를 보고 유저가 유입되는지 정확하지 않기 때문에 광고의 효율성을 보는 ROAS 지표를 신뢰하기 힘든 상황이 되어 버렸다.


이를 해결 하기 위해 아래의 두 단계로 처리하였다.

1) Referral Exclusion List 에 추가

1-1) Google Anyltics 내 'Admin' 클릭 후 위의 빨간 박스 텍스트를 클릭하여 진입
1-2) 위의 빨간 버튼을 클릭하고 제외할 URL을 입력


2) 페이지 재진입시 UTM 파라미터 최초 파라미터로 적용 

        - 브라우저 로컬 스토리지에 유저가 사이트에 최초 진입시 가지고 있는 UTM 파라미터 저장.

        - 결제 후 페이지 재진입시 UTM 파라미터 값을 가지고 진입할 수 있도록 지정



참고한 사이트:

https://support.google.com/analytics/answer/2795830?hl=en

https://medium.com/fatllama-engineering/excluding-facebook-and-google-social-sign-in-from-your-referrals-with-google-analytics-ff81588e519

https://groups.google.com/forum/#!msg/google-analytics-analyticsjs/NtwQFQAZ2Oo/kh-T0c1eHCYJ





2. 소스 매체 불명확(direct / none) 문제


위의 문제는 유입 경로가 명확하지 않아 Google Analytics에서 추적이 안될 때 나타나는 형태이다. 위와 같은 이슈의 원인은 여러가지 있는데, 그 중 하나는 특정 앱의 웹뷰로 접근했을 때, 추적이 안되는 문제가 종종 생기곤 한다. Google Analytics 에서는 소스,매체, 캠페인을 판단할 때 광고를 클릭할 때 자동으로 생성되는 태그 값을 기준으로 트래킹 한다. 하지만, 유튜브나 혹은 특정 앱에서 접근 하는 경우 종종 추적할 수 없게 된다. 이 때 해결 방법 중에 하나는 광고 캠페인을 개제할 때, URL 경로에 UTM 파라미터를 미리 심어주는 것이다. 아래와 같은 방식으로 처리해 볼 수 있다.


    1) 수동 태그 추가를 자동 태그추가보다 우선 적용 Google Analytics → Admin → Property Setting 으로 진입하여 'Advance' 항목에 'Allow manual tagging (UTM values) to override auto-tagging (GCLID values) for Google Ads and Search Ads 360 integration' 을 클릭

이미지 예시


             2) 광고 매체 URL에 수동으로 UTM 파라미터를 붙여준다.



3. 각 페이지 뷰의 수가 예상치보다 현저히 떨어짐


페이뷰가 제대로 동작을 안하고 있었는데, 이는 홈페이지가 Single Page Application 으로 개발되었기 때문에 발생하는 문제로 확인 되었다. Google Analytics 공식 홈페이지 에서도 SPA에서 발생할 수 있는 문제에 대해 솔루션을 공지하고 있다.


즉 SPA 의 경우 전통적인 웹 페이지 로드 방식과는 다르다는 것이다. 기존의 웹에서 URL 자체가 페이지의 리소스 위치를 가리키고 있었던 반면에,  SPA에서는 단일 페이지 안에서 URL이 변경될 때마다, 동적으로 페이지를 생성하는 방식이다. Google Analytics 페이지 트래킹 방식이 URL에 기반하다보니 SPA에서는 제대로 동작을 하지 않았던 상황이었다.


따라서, Google Analytics Developer 사이트에 제안한 urlChangeTracker 플러그인을 사용하여 이를 해결하였다.


참고한 사이트:

https://developers.google.com/analytics/devguides/collection/analyticsjs/single-page-applications




작가의 이전글 개발 소스코드 규칙 정의하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari