메인 콘텐츠로 이동

Google Analytics API 활용 – R로 분석하기

Google Analytics R로 분석하기
google analytics R로 분석하기

들어가며

블로그나 홈페이지 사이트, eDM 마케팅 이벤트 페이지를 운영하는데 Google analytics는 필수적인 도구로 자리매김하고 있습니다. Google analytics는 간편하게 웹로그를 수집하고 분석하는데 탁월한 도구로 널리 알려졌지만, 도구를 이해하고 사용하는게 쉽지 않아 Google analytics의 다양한 기능을 적극 활용하지 못하고 있습니다.(Google Analytics의 단점이 기능이 너무 다양하고 강력해서 무엇부터 어떻게 시작해야 할지 파악하기 쉽지가 않다는 것이 아닐까 합니다.)

Google Analytics는 웹사이트 트래픽 추적 분석을 넘어, 수많은 데이터 소스를 엮어 하나의 데이터 분석 플랫폼으로 만드는데 효과적입니다. GA를 활용하면 여러 구글 제품에서 발생한 데이터를 통합해 하나의 보고서로 받아볼 수 있습니다. 구글 애드워즈, 애드센스, 웹마스터 도구(Search console), YouTube, A/B Testing, 이메일 뿐 아니라, 구글 설문지 오프라인 데이터도 통합이 가능합니다. 구글 외의 제품도 데이터를 통합할 수 있습니다.

Google Analytics의 데이터 통합은 차차 다루기로 하고, 이번 포스팅에서는 Google Analytics에서 수집하는 데이터를 구글에서 제공하는 API를 활용해 GA데이터를 더 자세히 들여다보는 방법에 대해 이야기하고자 합니다. R을 사용하는 것이 익숙한 마케터나, 데이터 분석가, 연구자들에게 유용하리라 생각합니다.

사전준비

사이트를 tracking하고 있는 Google Analytics 계정과 데이터를 읽어올 수 있는 권한이 필요합니다.

R에서 Google analytics에 데이터를 추출해오는 라이브러리는 다양합니다. RGoogleAnalytics, RGA, rga, ganalytics, GAR이 있습니다만, 이번 포스팅에서는 편의상 RGA에 맞춰 진행하겠습니다. 개인적으로 RGA가 가장 사용이 쉬운 것 같습니다.

 

RGA 라이브러리 설치 및 사용하기

install.package 함수로 RGA라이브러리를 설치하고 RGA라이브러리를 로딩합니다.

R의 RGA 라이브러리로 Google Analaytics 분석

RGA 라이브러리에서 데이터를 가져오는 3가지 절차입니다.

  1. authorize() 함수로 RGA 라이브러리가 Google Analytics Data에 접근할 수 있는 권한 부여하기
  2. list_profile() 함수로 접근할 사이트 ID 찾기
  3. get_ga(core reporting API), get_mcf, get_realtime으로 API 별 데이터 받아 오기

authorize() 함수로 RGA 라이브러리가 Google Analytics Data에 접근할 수 있는 권한 부여하기

authorize() 함수를 실행하면 Oauth인증이 진행됩니다. 콘솔화면에서 url을 복사해서 웹브라우저의 주소창에 복사합니다.

R의 RGA라이브러리에서 Oauth인증

웹브라우저 URL에 입력하면 다음과 같은 인증 화면으로 리다이렉트 됩니다. 허용버튼을 클릭합니다.

R 애플리케이션 Google Analytics에서 Oauth인증 진행

인증을 받으면 다음과 같은 화면이 나타납니다. 아래의 Authorization코드를 복사해서 R의 콘솔창에 붙여넣습니다.

oauth인증 코드 확인

별다른 설정을 하지 않으셨다면 내문서에 .ga-token.rds 라는 인증 토큰이 생성된 것을 확인하실 수 있습니다. R이 자동으로 이 인증 토큰을 읽어 오기 때문에 매번 인증을 진행할 필요는 없습니다.

token파일 확인

list_profile() 함수로 접근할 사이트 ID 찾기

List_profiles 함수를 실행하면 Google analytics가 관리하고 있는 사이트의 목록을 받아오실 수 있습니다. 특정 사이트에서 데이터를 받아오기 위해 사이트ID가 필요한데 profiles을 참고하여 id를 찾아봅니다.

RGA_list_profile

get_ga로 데이터 받아오기

이번 포스팅에서는 Goolgle Analytics API 중 Core Reporting API만 다루겠습니다. 나머지 부분은 RGA 패키지 설명을 참조하시면 되겠습니다. RGA 라이브러리에서 Core Reporting API를 다루는 함수는 get_ga()입니다. 사이트 유입 현황이나 랜딩페이지 등 우리가 자주 조회하는 정보들에 대한 데이터를 제공합니다.

 # get_ga argument 설명

get_ga( 사이트ID, 데이터 조회 시작일, 데이터 조회 마지막 일, dimensions(항목, 카테고리), metrics(수치, 값), 고객 세그먼트 등) 이 있습니다.

Metrics와 dimensions에 대한 설명은 해당 구글 링크를 참고하시면 되겠습니다. 직관적으로 dimensions는 카테고리컬, 범주형 변수이고, Metrics는 범주에 대한 수치라고 생각하시면 됩니다.

Google Analytics가 정의하는 dimension과 metric을 파악해서 쿼리를 작성해야 하는데, 콘솔창이나 IDE환경에서 이것을 파악하는 것이 쉽지 않습니다. 구글도 개발자들의 편의를 제공하고자 Query Explorer라는 웹페이지로 브라우저 환경에서 쿼리를 작성하는 툴을 제공합니다.

Query Explorer에서 데이터를 가져올 사이트를 설정하고

Query Explorer로 Google analytics의 dimensions과 metric을 확인할 수 있습니다.

데이터를 가져올 쿼리에 들어갈 쿼리 파라미터를 설정합니다.

Query Explorer에서 Query Parameter에 값을 입력하면 Google Analytics에서 해당 쿼리에 대한 데이터를 제공합니다.

Query Explorer에 표시된 쿼리 파라미터가 RGA에서도 쓰이니 참고하시길 바랍니다.

2017년 7월 1일부터 7월 31일까지 일자별 유입 매체별 랜딩페이지로 세션수가 얼마나 되는지 쿼리를 작성했습니다. Run Query를 눌러 아래 화면에서 결과를 확인할 수 있습니다.

Query Explorer 쿼리 결과를 바로 확인할 수 있다.

 

다시 R로 돌아가서 Query Explorer에 작성했던 파라미터 값을 참고해 다음과 같이 get_ga의 함수 내부에 값을 설정합니다.

Google Analytics에 Query를 R 라이브러리 RGA의 get_ga함수로 작성

get_ga의 반환 결과는 data.frame형태입니다.

R google Analytics에 쿼리 결과 데이터

주의사항

  • Google Analytics에서 제공하는 Dimensions의 수는 7개로 제한되어 있습니다. 중복 Dimensions 수를 줄여 꼭 필요한 만큼만 사용하세요.
  • Dimenions와 Metrics를 잘못된 조합으로 사용하면 결과가 올바르지 않을 수 있습니다. Google analytics 보고서를 참고해서 해당 Dimensions에서 제공하는 Metric이 무엇인지 참고하시고 쿼리를 작성하시기 바랍니다.
  • Metrics에 대한 의미는 구글 도움말 문서를 참고하십시오.

Google Analytics는 기업의 비즈니스를 더욱 윤택하게 해주는 도구입니다. 동부 클라우드 G 스위트 서비스와 함께 사용하셔서 Data-Driven Decision으로 비즈니스를 혁신하세요.

동부 클라우드 G Suite 소개 바로가기

동부 클라우드 G Suite 서비스 상담받기