웹 분석 플랫폼은 오늘날 모든 기업에 없어서는 안 될 필수 요소이며 Google Analytics가 가장 널리 사용되는 플랫폼입니다. 이전에 Google 검색 콘솔 SEO 데이터를 Google 스프레드시트 대시보드로 추출하는 방법을 공유했습니다. 해당 데이터 세트에는 다른 측정기준과 측정항목이 많이 부족하다는 것을 알 수 있습니다. 특히, 귀하는 전자상거래 상점을 운영하고 있으며 전환 데이터는 귀하에게 매우 중요합니다.
이 Python 튜토리얼에서는 Python을 사용하여 Google Analytics API를 연결하고 필요한 데이터를 추출하는 방법을 안내합니다. 이 작품이 끝나면 Python 스크립트의 API를 통해 호출하는 차원과측정항목을 배울 수 있습니다. 또한 이 자동 업데이트를 Google 스프레드시트 대시보드와 통합할 수 있습니다. 더 완전한 장비와 차원적인 통찰력을 가질 수 있습니다.
목차: Python을 사용한 Google Analytics 4 API 통합
- Google Analytics API 활성화
- Python 스크립트에서 Google Analytics 범위 및 자격 증명 설정
- 데이터 범위를 프레임워크로 설정하려면
report()
및batchGet()
사용하세요。 - 필요한 데이터를 추출하여 Google Sheets에 업로드하세요。
- Google Analytics API의 전체 Python 스크립트
- GOOGLE 최신 트렌드 API 엔드포인트 권장사항
가장 인기 있는 Google Analytics 4 기초 및 고급 강좌 튜토리얼
Google Analytics 4 API 활성화
먼저 API 개발자에서 Google Analytics API를 활성화해야 합니다. 라이브러리에서 Google Analytics를 검색하면 GA V4 버전 API를 찾을 수 있습니다. 이것은 가장 발전된 프로그래밍 방식이며 이를 사용하여 사용자 정의 대시보드를 구축할 수 있습니다.
그런 다음 다른 Google API 스크립트와 마찬가지로 JSON 파일을 다운로드하여 자격 증명과 키를 생성해야 합니다. 실제로 이전 장에서 생성한 Google 검색 콘솔 프로젝트 자격 증명과 키를 계속 사용할 수 있습니다.
또한 Google Analytics 계정에 로그인하고 관리 섹션의 보기 액세스 관리에 API 로봇 이메일을 추가합니다. 따라서 로봇은 GA에 액세스할 수 있습니다.
Python 스크립트에서 Google Analytics 범위 및 자격 증명 설정
GA 데이터를 읽어보면 Google Analytics API 범위는 아래 첨부된 URL입니다.
https://www.googleapis.com/auth/analytics.readonly
service = build('analytics', 'v4', credentials=credentials, discoveryServiceUrl=('https://analyticsreporting.googleapis.com/$discovery/rest?version=v4'))
Shopify 제품 데이터 피드와 같은 JSON 형식입니다. 기본적으로 이것은 우리가 추출할 수 있는 GA 개방형 데이터 프레임워크입니다. 마지막으로 API 키 변수 및 자격 증명을 만드는 것은 다른Google API 스크립트와 마찬가지로 중요합니다.
데이터 범위를 프레임워크로 설정하려면 report()
및 batchGet()
사용하세요。
Google Analytics API에는 두 가지 최상위 메소드가 있습니다. 하나는 검색이고 다른 하나는 BatchGet입니다. 이 방법 내에서 우리는 액세스할 계정과 원하는 데이터 차원을 GA에 알릴 수 있습니다. 그리고 데이터 범위 블록에는 기본적으로 이러한 값이 있어야 합니다.
response = service.reports().batchGet(
body={
'reportRequests':[
{
'viewId': 'xxxxxxxxx',
'dateRanges': [{'startDate': '2021-06-01','endDate': '2021-06-30'}],
'metrics': [{'expression': 'ga:goalCompletionsAll'}],
'dimensions': [{"name": "ga:landingPagePath"}],
'orderBys': [{"fieldName": "ga:goalCompletionsAll", "sortOrder": "DESCENDING"}],
'pageSize': 20
}]
}
).execute()
-
viewId
: GA 계정 및 특정 속성 보기 ID입니다. 추적 ID와 혼동하지 마십시오. 뷰 ID의 위치는 첨부된 스크린캡과 같이 여기에 있어야 합니다. -
dateRanges
: 데이터의 시작 날짜와 종료 날짜를 설정할 수 있습니다. 이 섹션은 GA에서 선택한 기간과 같습니다. -
Metrics and Dimensions
: 측정항목은 세션, 거래, 사이트에 머문 시간 등 추출하는 특정 데이터로 정의됩니다. 측정항목은 국가 수준, 기기, 페이지 등과 같이 보고 있는 거시적 관점으로 정의됩니다. 문서에서 사용할 수 있는 값에 대한 자세한 내용은 UA 측정기준 및 측정항목 탐색기를 참조하세요. -
orderBys
: 내림차순 또는 오름차순 설정입니다. 기본적으로 위에서 설정한 측정항목 데이터의 순위를 매기는 데 사용합니다. -
pageSize
: 매번 모든 데이터를 가져올 필요가 없으며 사용자 정의 대시보드를 생성하여 필요에 따라 숫자를 설정할 수 있습니다.
필요한 데이터를 추출하여 Google Sheets에 업로드하세요。
위의 Python 코딩으로 B에 명령을 내릴 때 가져오려는 데이터 결과가 이 형식으로 나타나면 GA API와 함께 작동하는 것입니다. 다음 단계는 이 형식 없이 값을 추출하는 루프를 만드는 것입니다.
먼저 값이 없는 두 개의 변수 A와 B를 만듭니다. 곧 사용하게 됩니다. 모든 데이터가 보고서 내에 있다는 것을 알 수 있습니다. 따라서 루프에서 get()
메서드를 사용하여 먼저 필요한데이터 블록을 추출할 수 있습니다. 이는 보고서 내의 열 헤더, 측정기준, 측정항목 헤더 및 행입니다.
for report in response.get('reports', []):
columnSection = report.get('columnHeader', {})
dimensionSection = columnSection.get('dimensions', [])
metricSection = columnSection.get('metricHeader', {}).get('metricHeaderEntries', [])
rows = report.get('data', {}).get('rows', [])
둘째, 행에는 측정기준과 측정항목이 있습니다. 이 블록의 값이 각각 우리가 추출할 대상임을 알 수 있습니다. 따라서 여기에 row라는 루프를 만들어야 합니다. 인쇄를 했더니 첨부된 스크린캡처럼 데이터가 나오면 제대로 작동하는 것입니다.
for row in rows:
dimensions = row.get('dimensions', [])
dateRangeValues = row.get('metrics', [])
현재 가져온 데이터가 아직 업로드할 준비가 되지 않았음을 알 수 있습니다. 우리는 이 루프에서 필요한 핵심 가치를 추가로 추출해야 합니다.
1) 헤더 "ga:"를 제거하고 zip() 메서드를 사용하여 두 변수를 결합하여 작동합니다.
Python의 zip()
메서드는 두 개 이상의 반복 가능 항목에서 요소를 집계하는 반복자를 만듭니다. 결과 반복기를 사용하여 일반적인 프로그래밍 문제를 빠르고 일관되게 해결할 수 있습니다. 여기서 차원 섹션과 차원은 최종 값을 얻기 위해 동일한 경로에 있는 두 개의 변수임을 볼 수 있습니다. 따라서 차원이라는 이 루프의 경우 zip()
메서드를 사용하여 함께 실행할 수 있습니다.
for header, dimension in zip(dimensionSection, dimensions):
A.append(dimension)
2) 메트릭 값 추출
반복자를 다룰 때 반복 횟수도 유지해야 합니다. Python은 이 작업을 위한 내장 함수 enumerate()
제공하여 프로그래머의 작업을 용이하게 합니다. Enumerate() 메서드는 iterable에 카운터를 추가하고 이를 열거 객체 형식으로 반환합니다.
for i, values in enumerate(dateRangeValues):
for metaicHeader, value in zip(metricHeaders, values.get('values')):
B.append(int(value))
3) Pandas를 사용하여 데이터 프레임을 만들고 Easy2Digital API를 사용하여 Google 스프레드시트에 업로드합니다.
Google Analytics 4 API의 전체 Python 스크립트
Google Analytics 4 API의 Python 스크립트 전체 버전을 갖고 싶다면, "Chapter 20"이라는 메시지를 추가하여 뉴스레터를 구독해 주세요. . 우리는 즉시 귀하의 사서함으로 스크립트를 보내드립니다。
20장: Python을 사용하여 맞춤 마케팅 대시보드와 통합하는 Google Analytics 4 API 액세스를 재미있게 읽어보시기 바랍니다. 그렇게 했다면 아래 나열된 일 중 하나를 수행하여 우리를 지원해 주세요. 이는 항상 우리 채널에 도움이 되기 때문입니다.
- PayPal( paypal.me/Easy2digital )을 통해 채널을 지원하고 기부하세요.
- 내 채널을 구독하고 Easy2Digital Youtube 채널 알림 벨을 켜십시오.
- 내 페이지 Easy2Digital Facebook 페이지를 팔로우하고 좋아요를 누르세요.
- 해시태그 #easy2digital을 사용하여 소셜 네트워크에 기사를 공유하세요.
- Easy2Digital 10% 할인 코드로 제품 구매( Easy2DigitalNewBuyers2021)
- Easy2Digital 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하세요.
- Patreon을 통해 월간 멤버십을 구독하여 독점적인 혜택을 누리세요( www.patreon.com/louisludigital )