본문으로 바로가기

구글 애널리틱스 공부


거의 대부분 구글 애널리틱스 Academy 사이트의 자료이지만 GAIQ 시험 준비용으로 관련 자료를 요약하여 순서없이 자료를 정리해놓을 생각 입니다. 이것은 그 첫글입니다. 본문글에서 영어단어를 그대로 써놓은것은 영어가 미숙해 적절한 해당 한글단어를 찾지 못해 영어단어 그대로 작성해놓았습니다. 이것이 의미전달이 더 명확할 것 같기도합니다. 

구글 애널리틱스라는 툴에 관심이 있다면 잘못된 정보든 더나은 자료든 GA(Google Analytic)에대한 것이면 무엇이든 의견을 교환했으면 좋겠읍니다. 참고로 여기 정리된 자료는 대부분  GA 도움말 또는 GA Academy사이트 학습중 자료를 정리해 논것입니다.

GA=Google Analytics 


1.반송률의 정확한 이해 ?

반송률(Bounce Rate)가 사이트의 문제점을 파악할때 가장 일차적으로 보는 지표인데 정확한 이해가 어렵더군요.GA에서 추출된 수치는 아래의 이미지 공식대로 구하는것이라고합니다.


출처: http://www.analytics-ninja.com/blog/2012/06/google-analytics-bounce-rate-demystified.html

Rb ,Tv는 알겠는데 Te가 어떤 수치 인지 모르겠음 ? Total entries to page?  이글 보시면 좀 알려주세요. 


2.구글 애널리틱스 data 모델 소개 


User > Session > Interaction (an pageview, an event, a transcation, a social interaction)


3. http://www.google-analytics.com/__utm.gif? 구글 ga를 설치하면 모든 정보를 __utm.gif라는 1x1픽셀크기의 이미지 파일로 보내는데 ? 뒤로 붙는 parameter에  모든정보를 붙여 애널리틱스 서버에 보낸다. 

모든 parameter 이름과 보내는 data의미는  https://developers.google.com/analytics/resources/concepts/gaConceptsTrackingOverview#gifParameters  이페이지를 참고 하면됩니다.


4..웹사이트 데이터 수집

GA는 1사쿠키를 사용한다.

스크립트 설치는 <HEAD>태그 전에 삽입한다. ga.js는 비동기적으로 동작을하여 (이말은 html 렌더링과 별개로) 모든 사용자의 interaction을 수집한다. 


1사쿠키:방문기준으로 해당사이트에서 발행하는 쿠키

3사쿠키:해당사이트가 아닌 타사이트에서 발행하는 쿠키


5.모바일 앱 데이터 수집

모바일 앱 데이터는 js가아니라 SDK 를 설치함으로 가능하다. 사용자가 앱을 삭제후 재설치 하면 재방문자가 아니라 새로운 unique방문자로 구글애널리틱스 sdk는 판별한다.  batchprocessing으로 SDK는 앱데이터를 모아 서버에 전송한다. 



6. Measurement protocol(측정 프로토콜)로 데이터를 수집한다.

웹사이트나 모바일앱을 제외한 WEB-CONNECTTED된 다른 장비들의  추적은 가능한가? 가능하다. 예를들면 키오스크 나 고객응대 POS 등 기기에서 WEB-CONNECTED가 되었다면 웹사이트 추적과 같은방법으로 Measurement protocol을 사용하여 파라미터를 넘겨줌으로서 측정 가능하다. 


7.GA의 DATA처리와 환경


수집->환경설정과 처리 ->Reporting 


Configuration & Processing 단계에서 수집된 data들이 처리되는 세부사항


 1,2,3,4,

users와 sessions data를 수집하고 집합시키는동안 GA는  data base table 을 구성한다. 


8. User 와 Session에대한 이해와  GA의 처리

GA  디폴트 세션 인정시간은 30초인데 설정을 통해 변경가능하다. 하나의 유저가 다수의 세션을 만들 수 있다.


9.user와 session의 hit 처리

위에서 언급한것 처럼 GA는 3가지 컴포넌트를 가지고 데이터 모델을 만드는데 user,session,interaction 이 그것이다. user와 session의 이해가 그 핵심이며 이것이 방문자수와 방문수를 카운트하는 각각의 raw data가 된다. 웹개발자라면 user,session에 대한 이해는 어렵지않다.

GA는 기기별로 UID(고유번호)를 부여한다. 사용자가 브라우져의 캐쉬를 삭제하거 모바일기기의 앱을 삭제하거나 하면 새로운 uid를 부여하며 당연히 새로운 user(사용자)로 판별한다.

한명의 user는 다수의 session 을 발생시킬수 있고 기본 세션 인정시간은(start-end) 30분이다.  GA사이트에 로그인하여 관리하면에 이 세션시간을 사용자 임의로 설정할 수 가 있다. 


아래 그림처럼 방문(=세션)은  __utmb파라미터에 붙는 시간으로 구별을 한다. 




상호작용이 없이 31분이 지나 다시 page를 보았을때 __utmb 는 아이 삭제 된다. 새로운 방문(sesssion)으로 간주한다는 의미이다.


상호작용이 30분안에 다시이뤄지면 같은 세션으로 본다는 의미이다. 위의경우는1user의  방문수가 2이고 아래경우는 그대로 방문수가1 이다. 


10.GA에  DATA밀어넣기 ? 

GA에 외부 DATA를 밀어넣어 좀더 나은 레포팅을 얻을 수 있다. 


밀어 넣는 방법은 두가지가 있다. 첫째로 다른 구글제품의(adwors,adsense,webmaster tool) 계정을연결시키거나 둘째로 GA 속성 관리메뉴에서 직접 raw Data를 csv형식의 엑셀파일이나 구글 애널리틱스API를 통해 직접 밀어넣는 방법이다.


계정연결은 쉽다. 구글 의 다른제품들의 환경설정을 통해 계정을 연결하면 Google Analytics와 연동이 된다. 이때 대부분 구글 애널리틱스의 

계정 > 속성 > 프로필(보기) 레벨에서 "속성" 수준의 추적 ID를 물어본다. (추적ID란? EX:UA-45123123-12 이런형태이고 속성 관리에서 확인가능하다) 그러면 애널리틱스에 캠패인별 클릭,전환,에드센스 클릭,..분석DATA를 확인할 수 있다.

두번째 방법인 직접 data 밀어넣기 이건 안해보았는데가장 쉽게 해볼 수 있는 것은 GA관리 메뉴에 Dd가져오기 메뉴를 사용해서 밀어넣어보는것이다.  이때 애널리틱스 raw data set 과 import 할 사용자  data set 이 결합될때 key를 중심으로 두개의 data set이 결합된다. 


데이터를 import하는  두가지 경우 dimension확장(측정기준을 확장) 하거나 Cost data imprt( 비용데이터를 업로드)하거나 두가지 경우가 있다.


좌측의 Author ,Topic이 Page URL이라는 키로 애널리틱스 data set과 결합했다. 실제 올려봐야하는데 이건 대충 이런거구나 감만 잡고 있다. 

좌측의  Author,Topic이 사용자 Demenssion(측정기준)


비용data는 캠패인 소스,캠페인 미디엄을 키로 클릭수,...등으로 구성된 data를 ga로 밀어넣으면 통합된다.

캠페인 소스,캠페인 미디엄은 다른 광고주 플랫폼의 data가 되겠죠? 예를 들면 daum,naver 광고 data set을 아래와같이 뽑고 GA 와 결합하면 이렇게 확장된 dimenssion(측정기준)을 가지고 GA를 이용해  metrics(측정항목)를 다양하게 걸어 의미있는 DATA를 이끌어 낼수 있다는 의미이다.




11.Transforms & aggreegating data (data 변환과 합산? 적당히 뭐라고해야할지 몰라title을 영어 그대로 적음)


data를 include,exculde,modify할수 있는 방법은 3가지이다. 프로필(보기)수준에서 필터를 거는것,목표를 설정하는것,그룹핑하는것

필터는 유입data에 exlude,include를 할 수있다 (ex:특정IP제외) 실제 특정 프로필에는 필터를 걸어서 사용하고 있습니다.

두번째 목표를 설정하는것 이것도 꼭 설정하세요. 목표는 회원가입,특정페이지보기,특정이벤트 등의로 도착url을 설정하거나 이벤트를걸어 가상페이지 뷰를 방문했을때 등으로 설정할 수 있다. GA 에서 프로필 수준에 여러개의 목표를 설정할수 있고 전환율(conversion rate)을 리포팅 해주는데 이것만봐도 사이트가 전체적으로 원하는 목적으로 운용되는지 알 수 있겠죠?


웹사이트마다 정체성과 탄생배경그리고 목적이 모두 다릅니다. 따라서 실제 웹사이트 분석시 가장 먼저 파악해야할 부분은 

사이트의 비지니스 목적 입니다(Business Object)

이를 기반으로 그다음 

WebSite goal(사이트 목표)를 리스트업 하고 

다시 이를 기반으로 

KPI(핵심성과 지표)를 리스트업 합니다.

그리고 마지막으로 KPI를 기반으로 

KPI에 상응하는 Google Analytics 수집방법을 도출 시킬수 있습니다.(전환 목표)


Business Object → Website Goal   KPI   GA goal 


목표 자체가 GA를 사용하는 목적이 아니라는겁니다. 위에서처럼 개념을 좀더 크게 잡으면 좋을듯 합니다.


나머지 세번째 그룹핑은 사용을 안해봤지만 채널별그룹핑,컨첸츠별 그룹핑을 통해 좀더 세분화되고 맞춤화된 DATA 통계를 보기 위함인가봅니다.

영어에 조금 친숙하신분이나 경험하신분은 설명좀 많이 해주세요. 

그룹핑 방법은 2가지가 있다. 채널 그룹핑,컨텐츠 그룹핑

각유입 채널별로 그룹핑한다.


컨첸츠별로 그룹핑한다.


이러한 방법으로 그룹핑을 해놓으면  GA는 디멘션에 따른 여러 메트릭스를 미리계산(pre processing)하고 집합시켜놓는다. 그래서 사용자가 report를 요청하면 미리 계산하고 집합시켜놓은 DATA를 reporting 한다.


12.Reporting 개관 

GA에서 모든 레포팅 자료는 서로다른 dimenssion(측정기준)과 metrics(측정항목)의 조합으로 이루어 진다.  매우 크고 복잡한 data집합을 빠르게 처리하기위해 GA는 샘플링(sampling)을 한다.  Google Analytics API를 통해 custom ui 및 사용자 application을 자체 제작을 할 수도 있다.


아래 이미지에서

국가 라는 dimenssion(측정기준)에 Visits,New Visits,Bounse Rate 등의 Metrics(측정항목:정량적)를 검으로서 국가별 방문,반송율,새방문자를 알 수 있게 됩니다. 이처럼 다양한 dimenssion에 metrics 조합으로 모든 GA의 레포팅들이 만들어진다. 우리가 만든 사용자변수,필터,그룹핑,세그먼트를 적절히 더걸어주면(조합)하면 의미있는 분석자료를 구할 수 있다.




13.Building Reports with dimenssion & metrics 

dimenssion(측정기준)과 metrics(측정항목, 양적인 지표들)를 이해하는것이 중요하다 둘의 결합들로 레포팅들이 이루어지기 때문이다.

아래 이미지로 다시 예를 들어보면 

Paget Title,Source/Medium 같은 특징적인 Data가 Dimenssion(측정기준) 이고, Unique Pageviews,New Visits와같은 양적인 지표가 Metrics(측정항목)가된다. 다양한 Dimenssion에 Metrics의 조합이 GA 보고서의 전부이다.


알아둬야할점은 모든  Dimension과 Metrics가 되는것이아니고 같은 레벨(User,Session,Hit)에서 같은 조합을 할 수있다.

아래 이미지에서 페이지 제목과 페이지 체류시간(Time on page)는 조합이 가능하나 (같은 레벨이기때문에) Traffic source or 지역정보 와는 조합을 할 수없다.(지역정보가 Session 레벨이기때문에)  Visits는 같은 레벨이 기때문에 조합 가능하다.  글로 표현하기 어려운것 같지만 User,Sessoin,Hit 각 레벨이 의마하는 범위를 이해한다면 당연한사실이다.



GA에 모든 디멘션과 메트릭스는 이곳에서 확인하세요.  https://developers.google.com/analytics/devguides/reporting/core/dimsmets

구글은 도움말이 강력한건지? 공부할게 많은건지?모르겠습니다.


14.Reporting APIs

GA API를 이용해 개발을 했다면 금방 이해가될텐데 하여튼  API를 이용하면 GA의 모든 REPORT를 제작하는 CUSTOM APPLICATON에서 DATA를 사용할 수 있다.


api 에서 GA에 QUERY를 날릴때 던지는 파라메터는 View ID,start date,end date,dimensions,metrics  그리고 옵션으로 filter,segment를 날릴수 있다.order는 뭘의미하는건지 모르겠습니다. 




 https://ga-dev-tools.appspot.com/explorer/?csw=1 

이곳에가면 Query API 브라우져가 있습니다. 해당 쿼리를 날리면 DATA를 던져줍니다. GA관련 Application을 개발할때 매우 유용할 것 같습니다.


15.Reporting Sampling ..

샘플링을 GA메뉴에서 설정할 수 있고 샘플링을 하면 속도가 빨라진다. 구글 애널리틱스 프리미엄은 샘플링 안된 RAW DATA 를 기준으로 볼 수 있다. 

그리고 샘플링에대한 이해...

-샘플링 방식

-샘플링 설정 

고서가 샘플링된 데이터에 기반을 둔 경우 정확도 또는 속도를 높이기 위해 샘플링 크기를 조절할 수 있습니다. 사이트 이용 경로 시각화 보고서에서는 다중 채널 유입경로 보고서의 방문수가 100,000회, 전환수가 100만 회를 넘는 경우에 샘플링이 실행됩니다.


개념정리가 많은 글이었지만 현재 관리하고있는 쇼핑몰에 GA를 설치하고 모니터링하고 있기때문에 다음엔 평소고민했던 그리고 해결못했던 좀더 실무에 근접한 고민들을 정리하는 글도 정리차원에서 글로 남겨볼 계획입니다.


마지막으로 웹분석은 "문화"라는 생각 합니다. 물어보면 필요는 동감하며 외치지만 실제 업무에있어 시간투자를 하여 분석하여 매출을 향상을 꾀하고 또 분석 데이터를 보고 새로운 기회를 만드는일은 사치인(사실 그럴 능력도 부족하고,대부분 사내 전문적인 팀도 없겠지만) 기존 사내 문화를 분석문화로 바꾸는건 굉장히 어려운 일이죠. 수식어 붙은말 할필요없이 자기 업무시간을 쪼개거나 팀제안을 하는등 웹분석에 리소스를 투자하는게 그렇게 자유롭진 않다는 말입니다. 온라인 쇼핑몰일지만 항상 눈앞에 보이는 이번달 매출이 더 중요하거든요. 개인적인 저의 생각일뿐이지만 작은 조직일수록 기업 문화를 바꿀 중요한 키맨은 역시 ceo 인듯 생각해봅니다. 구글 애널리틱스 설치만되어있으면 양호하죠,기존엔 설치도 안되어 있었으니 사실 전,후 성과를 보여달라고하면 없지만..ㅎㅎ이제는 최소한 아주 기본적인 방문수,페이지뷰수,전환수,유입채널,전자상거래 매출,메인페이지 광고레이어 클릭수,주마다 보낸 메일링유입수 등등 정도는 이제물어보면 얼마정도 됩니다 라고 말할 수 는 있는 기반을 마련되어있으니까요. GA가 고맙죠.^^


GA와 관련 많은 공부할 자료가 있는데  계속적으로 정리할 계획입니다.