'구글 애널리틱스 분석 자동화'에 해당되는 글 1건

  1. 2015.01.07 R을 이용한 구글 애널리틱스 분석

좀 더 편하게 로그 분석을 할 수 있는 방법을 찾다가 어느 블로그에서 발견한 것입니다. 소스만 복사해 놓은 거라... 원문을 쓰신 분 죄송합니다.


우선, 구글 API를 이용할 수 있도록 합니다. 자세한 사항은 구글링 참조

1) Google Developers Console 가입 

2) Analytics API 사용 등록

3) API 및 인증 메뉴 → 사용자 인증 정보 메뉴에서 "새 클라이언트 ID 만들기"


R코드는 아래 처럼 인증 → 가져올 데이터 정의 → 데이터 가져오기 → 분석 순으로 작성됩니다. 이를 응용하면 반복되는 분석을 자동화하는데 큰 도움이 될 것 같습니다. 그런데 R을 잘 모른다는 것이 함정 ㅜㅜ


library(RGoogleAnalytics)

library(ggplot2)

library(magrittr)

library(dplyr)

library(lubridate)

library(xts)


; 새로 만들거나 기존의 클라이언트 ID와 클라이언트 비밀 보안 입력

token <- Auth(client.id = "XXXXXXX.apps.googleusercontent.com", client.secret = "XXXXXXX")

save(token,file="./token_file")

load("./token_file")

ValidateToken(token)


; 데이터를 가져올 보기의 번호 입력(table.id는 구글 애널리틱스 → 보기 → 설정에서 볼 수 있습니다.

query.list <- Init(start.date = "2014-12-01",

                   end.date = "2014-12-31",

                   dimensions = "ga:date",

                   metrics = "ga:users,ga:pageviews",

                   max.results = 10000,

                   sort = "-ga:users",

                   table.id = "ga:XXXXXXXX")

ga.query <- QueryBuilder(query.list)                   

ga.data <- GetReportData(ga.query, token)


; 분석에 맞게 데이터를 작성합니다. 아래는 요일변수를 만드는 예입니다.

ga.data <- ga.data %>% mutate(weekdays=factor(weekdays(as.Date(date, "%Y%m%d")), levels = c("일요일", "월요일", "화요일", "수요일", "목요일","금요일", "토요일")))


; 분석 결과를 시각화 합니다.

ga.data %>% data.frame %>% group_by(weekdays) %>% summarise(wdsums=sum(users)) %>% ggplot(aes(weekdays, wdsums)) + geom_bar(aes(fill=weekdays),stat="identity")

Posted by 값진인생
,