[Python] Python에 GA4(Google Analytics4) 연동하고 조회하기

참고자료

GA4(GoogleAnalytics4) → GCP(Google Cloud Platform) 연결 방법
 

Google Analystic4(GA4) API 연결 (GCP 환경)

이번 프로젝트에서 GCP 환경에서 GA4의 데이터를 불러와야하는 작업이 생겼다.데이터 ETL 파이프라인을 개발하고 대시보드까지 구축해야하는데As-Is에서는 대시보드를 lookerstudio로 썼기 때문에 바

milkyspace.tistory.com

참고자료와 같이 연결시킬 수도 있고, 이미 최초의 관리자가 KEY를 가지고 있다면 관리자 계정에서 [계정 엑세스 관리]에서 서비스 계정을 추가 및 해당 계정의 표준 역할을 수정하고 Key 공유를 한다면 공동 관리도 가능하다.

(key 공유를 받은 사람은 위 과정을 거칠 필요는 없어진다.)

 

파이썬에서 google-analytics-data 설치

pip install google-analytics-data

 

GA4(Google Anlytics4) API 호출

import os
import pandas as pd
import itertools

# key 값 경로 확인 후 가져오기
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = './{Mykey}.json'
                                               # {Mykey} 부분에 구글 클라우드 플랫폼에서 생성한 본인 json키 입력

# GA4 [관리]-[속성 설정]-[속성]-[속성 세부 정보] 에서 속성 ID값 확인 가능
property_id="{GA4 속성 ID값}"

from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
    DateRange,
    Dimension,
    Metric,
    RunReportRequest,
)
client = BetaAnalyticsDataClient()
client

(1) {Mykey}에 구글 클라우드 플랫폼에서 생성한 json키를 입력

(2) property_id= 부분에 GA4 속성세부 정보에서 확인 GA 속성 ID입력

후, client를 호출하고

<google.analytics.data_v1beta.services.beta_analytics_data.client.BetaAnalyticsDataClient at ~~~ >

다음과 같은 결과가 나오면 연결이 잘 된 것이다!

 

Python에서 GA4 데이터 조회하는 방법

request = RunReportRequest(
    property=f"properties/{property_id}", 
    dimensions=[
        Dimension(name="date"),
        Dimension(name="deviceCategory"),
        Dimension(name="country"),
    ],
    metrics=[
        Metric(name="activeUsers"),
        Metric(name="screenPageViews"),
    ],
    date_ranges=[
        DateRange(start_date="7daysAgo", end_date="today")
    ],
    limit = 1000
)
response = client.run_report(request)

for row in response.rows:
    print(row.dimension_values[0].value, row.dimension_values[1].value, row.dimension_values[2].value,
          row.metric_values[0].value, row.metric_values[1].value)
20240704 mobile South Korea 1820 5128
20240704 desktop South Korea 1732 2757
20240628 desktop South Korea 1726 3002
20240703 desktop South Korea 1726 2799

연결이 잘 됬다면 위와 같은 코드로 이렇게 호출할 수 있다!

 

측정기준 및 측정항목 확인 (Dimensions & Metrics)

연결은 잘 됬는데.. 뭘 가져올지 모르겠다면? 

https://ga-dev-tools.google/ga4/

 

https://ga-dev-tools.google/ga4/

About This Site Google Analytics Demos & Tools is a resource for users and developers to discover what's possible with the Google Analytics Platform. Learn how to implement GA and applications that can be built to take advantage of the flexibility and powe

ga-dev-tools.google

해당 사이트에서 서비스 계정 구글 아이디로 로그인하고 GA4 Dimensions & Metrics Explorer 항목을 선택하면

여러 측정기준과 항목들을 다음과 같이 확인할 수 있다.

 

예를 들어, Signed in with user ID 옆에 있는 signedInWithUserId 부분이 해당 변수 명이다.

확인하면서 dimensions, metrics 부분에 해당 변수 명을 잘 넣어주면 결과값이 나올 것이다. 

 

GA4에서 파이썬으로 연동된 데이터를 데이터 프레임화 하고 싶다면?

2024.07.05 - [Python] - [Python] GA4 파이썬 연동한 데이터 데이터프레임(Dataframe)으로 변환하기

참조하기!