GA4와 Google Analytics Data API 연결하여 광고 performance 측정 데이터 추출하기

나이트 개발자·2023년 3월 17일
0
post-thumbnail

워낙 이것 저것 설장하다 보니 기억나지 않을 것 같아 간략히 기록을 남긴다.

이 모든 과정을 진행할 때 웹페이지 접근은 반드시 한 개의 구글 계정으로 진행해야 쉽고 빠르게 결과를 얻을 수 있다.

주의할 점

인터넷에서 Research하다 보면 Google Analytics API, Google Analytics Reporting API 와 연결하는데.. 과거 이용했던 API들로 보이고 관련된 python 라이브러리도 다르다.

API와 Client package선택

간략히 파악한 바를 남기자면, 구글 애널리틱스 API는 기본 데이터 액세스를 위한 것이며, 차원, 지표, 필터를 사용해 데이터를 맞춤화할 수 있다. 리포팅 API는 후속 버전으로, 더 정교한 분석 및 보고 기능을 제공한다. 여러 차원과 지표를 결합해 복잡한 쿼리를 실행할 수 있다. 고급 기능도 지원한다.

Google Analytics Data API는 최신 버전이고, GA4 속성 데이터를 가져온다. 전통적인 Universal Analytics와 다른 데이터 모델을 사용하며, 이벤트 기반 데이터 수집 및 분석 기능을 제공한다. 정교한 분석 및 보고 기능을 구현할 수 있으며, BigQuery와 통합해 대용량 데이터 처리와 분석도 지원한다.

따라서 GA4를 위해서는 한 가지 옵션만 사용하는 것이 안전하고 빠르게 개발할 수 있는 방법이다.

인증준비

거기다 인증을 위한 준비 과정에서 Credential 생성을 위해 API Key,OAuth 2.0 Client ID, Service Account 이 셋 중 하나를 선택하게 되는데 단순히 리포트 용이라면 Service Account로 해야한다. 앞의 두 방법은 그 뜻을 알게 되면 당연히 선택하지 말아야할 옵션이라는 것을 알게 된다.

작업순서

  1. GCP쪽에서 Google Analytics Data API enable하기

  2. 서비스어카운트 추가하기

  3. 서비스어카운트의 인증키 json 생성하여 다운받기

  4. 프로그램을 돌릴 환경에서 export GOOGLE_APPLICATION_CREDENTIALS="[PATH]" 설정하기

  5. GA4에서 Property ID 찾아두기 "좌하단 admin 버튼 눌러서 나타나는화면에서 두번째 컬럼 최 상단에 내가 사용하는 GA account의 property ID가 보임.

  6. ADMIN 탭 아래 Account 컬럼에 있는 Account Access Management 를 눌러 2.에서 생성한 서비스어카운트의 이메일 주소 형식의 아이디를 추가하여 권한 부여하기. (Viewer이상)

  7. google-analytics-data 패키지 인스톨

  8. 샘플 프로그램 실행

dimentions

  • date
  • firstSessionDate
  • firstUserSourceMedium
  • firstUserManualTerm
  • firstUserManualAdContent
  • firstUserGoogleAdsCampaignName
  • pageReferrer
  • landingPagePlusQueryString

metrics

  • newUsers
  • conversions
  • totalUsers
  • transactions
  • checkouts
  • totalPurchasers
  • engagedSessions
  • userEngagementDuration
  • bounceRate

중요 지표 이해

  • Engagement : 10초 이상 지속되거나, 컨버전 이벤트가 있거나, 2개 이상의 화면 조회가 있는 세션.
  • Engagement rate : 참여 세션의 백분율 (참여 세션을 전체 세션으로 나눈 값). 이 지표는 분수로 반환되며, 예를 들어, 0.7239는 72.39%의 세션이 참여 세션임을 의미한다.
  • Bounce rate : 참여하지 않은 세션의 백분율 ((전체 세션에서 참여 세션을 뺀 값)을 전체 세션으로 나눈 값). 이 지표는 분수로 반환되며, 예를 들어, 0.2761은 27.61%의 세션이 바운스임을 의미한다.
  • Conversions : 컨버전 이벤트의 개수. 이벤트는 수집 시점에 컨버전으로 표시되며, 이벤트의 컨버전 표시 변경은 앞으로 적용된다. 구글 애널리틱스에서 어떤 이벤트든지 컨버전으로 표시할 수 있으며, 일부 이벤트(예: first_open, purchase)는 기본적으로 컨버전으로 표시된다. 자세한 내용은 https://support.google.com/analytics/answer/9267568 를 참조하고, 전체 필드에 대한 설명은 https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema?authuser=0&hl=ko 를 참조

이렇게 추출된 데이터는 주기적으로 가공하여 얼마의 기간동안 어떤 광고가 노출되고 성과가 얼마나 좋았는 지를 그래피컬하게 표현할 예정이다. 결과가 나오면 본 글에 하단에 추가할 예정!

profile
개발하면서 또는 프러덕 관리하면서 겪는 기억해둬야하는 내용을 메모장 삼아 남긴다. Google Keep이나 메모 도구에 남기는 것과는 달리 잘 정리할 수 있어서 언젠가 들춰봐야할 내용들을 담은 글들이 게시된다.

0개의 댓글