R을 사용하여 Universal Analytics 데이터를 BigQuery에 백업하는 방법
게시 됨: 2023-09-26유니버설 애널리틱스(UA)가 마침내 종료되었으며 이제 데이터가 Google Analytics 4(GA4) 속성으로 자유롭게 유입됩니다. UA 설정을 다시는 보지 않으려는 유혹을 느낄 수도 있지만, UA를 떠나기 전에 나중에 분석해야 할 경우를 대비해 이미 처리된 데이터를 저장하는 것이 중요합니다. 데이터를 저장하려면 Google의 데이터 웨어하우징 서비스인 BigQuery를 추천합니다. 이번 블로그에서는 UA에서 어떤 데이터를 백업해야 하는지, 어떻게 백업하는지 알려드리겠습니다!
데이터를 다운로드하기 위해 Google Analytics API를 사용할 것입니다. UA에서 필요한 데이터를 다운로드하고 BigQuery에 업로드하는 스크립트를 한번에 작성하겠습니다. 이 작업에서는 googleAnalyticsR 및 bigQueryR 패키지를 사용하면 이 작업이 매우 간단해지기 때문에 R을 사용하는 것이 좋습니다. 이러한 이유로 우리는 R에 대한 튜토리얼을 작성했습니다!
이 가이드에서는 자격 증명 파일 다운로드와 같은 인증 설정의 더 복잡한 단계를 다루지 않습니다. 이에 대한 정보와 BigQuery에 데이터를 업로드하는 방법에 대한 자세한 내용은 R 및 Python에서 BigQuery에 데이터 업로드에 대한 블로그를 확인하세요!
R을 사용하여 UA 데이터 백업
R 스크립트의 일반적인 경우와 마찬가지로 첫 번째 단계는 라이브러리를 로드하는 것입니다. 이 스크립트에는 다음이 필요합니다.
라이브러리(googleAuthR)
라이브러리(googleAnalyticsR)
라이브러리(bigQueryR)
이전에 이러한 라이브러리를 사용한 적이 없다면 콘솔에서 install.packages(<PACKAGE NAME>)를 실행하여 설치하세요.
그런 다음 다양한 승인을 모두 분류해야 합니다. 이렇게 하려면 다음 코드를 실행하고 제공된 지침을 따르십시오.
googleAuthR::gar_cache_empty()
googleAuthR::gar_set_client(“C:\\Users\\Tom Brown\\Documents\\R\\APIs\\credentials.json”)
bqr_auth(email = “<여기에 이메일>”)
ga_id <- <여기에서 GA 보기 ID>
ga_id는 아래와 같이 UA에서 뷰를 선택할 때 뷰 이름 아래에서 찾을 수 있습니다.
다음으로 UA에서 실제로 가져올 데이터를 결정해야 합니다. 다음을 가져오는 것이 좋습니다.
| 세션 범위 차원 | 이벤트 범위 차원 | 페이지뷰 범위 측정기준 |
| 클라이언트 ID | 클라이언트 ID | 페이지 경로 |
| 타임스탬프 | 타임스탬프 | 타임스탬프 |
| 소스 / 매체 | 이벤트 카테고리 | 소스 / 매체 |
| 장치 카테고리 | 이벤트 액션 | 장치 카테고리 |
| 운동 | 이벤트 라벨 | 운동 |
| 채널 그룹 | 소스 / 매체 | 채널 그룹 |
| 운동 |
이를 BigQuery의 세 테이블에 배치하면 향후 모든 잠재적인 UA 데이터 요구 사항을 충족하기에 충분합니다. UA에서 이 데이터를 가져오려면 먼저 기간을 지정해야 합니다. UA 플랫폼으로 이동하여 보고서 중 하나를 살펴보고 데이터 수집이 처음 시작된 시기를 확인하세요. 그런 다음 그 날부터 스크립트를 실행하기 전날까지 실행되는 날짜 범위를 지정합니다. 이 날은 전체 24시간 분량의 데이터를 확보할 수 있는 마지막 날입니다(UA가 끝난 후 이 작업을 수행하는 경우). 일몰에는 어쨌든 사용 가능한 데이터가 100% 포함됩니다). 우리의 데이터 수집은 2017년 5월에 시작되었으므로 다음과 같이 썼습니다.

날짜 <- c(“2017-05-01”, Sys.Date()-1)
이제 위 표에 따라 UA에서 무엇을 가져와야 하는지 지정해야 합니다. 이를 위해서는 서로 다른 범위의 차원을 함께 쿼리할 수 없기 때문에 google_analytics() 메서드를 세 번 실행해야 합니다. 다음 코드를 정확하게 복사할 수 있습니다.
세션 풀 <- google_analytics(ga_id,
날짜_범위 = 날짜,
지표 = c(“세션”),
차원 = c(“clientId”, “dateHourMinute”,
'sourceMedium', 'deviceCategory', '캠페인', 'channelGrouping'),
anti_sample = 참)
이벤트풀 <- google_analytics(ga_id,
날짜_범위 = 날짜,
측정항목 = c("totalEvents", "eventValue"),
차원 = c(“clientId”, “dateHourMinute”, “eventCategory”, “eventAction”, “eventLabel”, “sourceMedium”, “campaign”),
anti_sample = 참)
pvpull <- google_analytics(ga_id,
날짜_범위 = 날짜,
측정항목 = c(“페이지뷰”),
차원 = c(“pagePath”, “dateHourMinute”, “sourceMedium”, “deviceCategory”, “campaign”, “channelGrouping”),
anti_sample = 참)
이렇게 하면 세션 범위 차원의 경우 sessionpull , 이벤트 범위 차원의 경우 eventspull , 페이지 보기 범위 차원의 경우 pvpull이라는 세 가지 데이터 프레임에 모든 데이터가 깔끔하게 정리됩니다.
이제 데이터를 BigQuery에 업로드해야 합니다. 코드는 다음과 같아야 하며 각 데이터 프레임에 대해 세 번 반복됩니다.
bqr_upload_data(“<프로젝트>”, “<데이터세트>”, “<테이블>”, <데이터프레임>)
제 경우에는 코드가 다음과 같습니다.
bqr_upload_data("내 프로젝트", "test2", "bloguploadRSess", sessionpull)
bqr_upload_data("내 프로젝트", "test2", "bloguploadREvent", eventspull)
bqr_upload_data("내 프로젝트", "test2", "bloguploadRpv", pvpull)
이 모든 내용이 작성되면 스크립트를 실행하고, 편안히 앉아 휴식을 취하도록 설정할 수 있습니다! 완료되면 BigQuery로 이동하여 현재 속한 모든 데이터를 볼 수 있습니다.
비오는 날을 대비해 UA 데이터를 안전하게 보관해두면 GA4 설정의 잠재력을 극대화하는 데 전적으로 집중할 수 있습니다. Semetrical이 이를 도와드리겠습니다! 데이터를 최대한 활용하는 방법에 대한 자세한 내용은 당사 블로그를 확인하세요. 또는 분석에 관한 모든 것에 대한 추가 지원을 받으려면 웹 분석 서비스를 확인하여 어떻게 도움을 받을 수 있는지 알아보세요.
