グーグルスプレッドシートを操作する「googlesheets」とGoogly Analyticsのデータを取得する「RGA」パッケージを利用して、直近1週間の記事アクセス数を前週と比較したランキングをグーグルドライブに保存する例です。
以下のようなスプレッドシートがグーグルドライブに保存できます。
https://docs.google.com/spreadsheets/d/1x-5Ia_ugrk_JvKbJS1Av_xWWUm45W_cx-2Xe43KRNHk/edit?usp=sharing
スプレッドシートのアドオンを利用してGoogly Analyticsのデータを取得する方法もあるようですが、図式化やデータのハンドリングを考えるとRの利用をオススメします。
・「googlesheets」パッケージの紹介
https://www.karada-good.net/analyticsr/r-136/
・「RGA」パッケージの紹介
https://www.karada-good.net/analyticsr/r-141/
参考です
・Google Trendsのデータを取得「gtrendsR」パッケージ
https://www.karada-good.net/analyticsr/r-392/
実行コマンドはR version 3.2.2で確認しています。
実行コマンド
詳細はコメント、コマンドのヘルプを確認してください。
#パッケージのインストール #install.packages("googlesheets") #install.packages("RGA") #パッケージの読み込み library("googlesheets") library("RGA") #グーグルドライブへのログイン:gs_authコマンド #実行するとグーグルへのログインとgooglesheetsによる #許可のリクエスト画面がブラウザに表示されます。 gs_auth(new_user = TRUE) #googleアカウントにログインした状況で事項:authorizeコマンド #変数を用意することで複数アカウントの制御が可能です authorize() #get_gaに設定するprofile.idを取得:list_profilesコマンド #idとnameを取得 list_profiles()[, c(1, 5)] #実行日の前日を含めた3週間前までの日を取得 Weeks <- seq(Sys.Date() - 1, len = 3, by = "-1 weeks") GetDataWeeks <- data.frame(EndData = c(Weeks[1], Weeks[2]), StartData = c(Weeks[2] + 1, Weeks[3] + 1)) #ページビュー数が多いコンテンツ順に取得 PVContent <- list(NULL, NULL) for(i in seq(nrow(GetDataWeeks))){ PVContent[[i]] <- get_ga(profileId = paste0("ga:", list_profilesコマンドで取得したid), start.date = GetDataWeeks[i, 2], end.date = GetDataWeeks[i, 1], dimensions = "ga:pageTitle, ga:pagePath", metrics = "ga:pageviews, ga:uniquePageviews, ga:bounces, ga:entrances, ga:exits", sort = "-ga:pageviews") } #ランキングを取得 #今週の結果 NewRanking <- data.frame(Tittle = PVContent[[1]]$page.title, Ranking = seq(length(PVContent[[1]]$page.title))) #先週の結果 OldRanking <- NULL for(i in seq(PVContent[[1]]$page.title)){ OldRanking <- c(OldRanking, ifelse(length(which(PVContent[[2]]$page.title == PVContent[[1]]$page.title[i])) == 0, "NA", which(PVContent[[2]]$page.title == PVContent[[1]]$page.title[i])) ) } #今週の結果に先週の順位を結合 NewRanking <- cbind(NewRanking, OldRanking = OldRanking) #記事タイトルをハイパーリンク化 #https://www.karada-good.netを自身ブログのTOP URLに変更してください NewRanking <- cbind(NewRanking[, 1], paste0("https://www.karada-good.net", PVContent[[1]]$page.path), NewRanking[, 2:3]) #データの体裁を整える colnames(NewRanking) <- c("記事タイトル", "URL", paste0(format(GetDataWeeks[1, 2], "%m/%d"), "-", format(GetDataWeeks[1, 1], "%m/%d")), paste0(format(GetDataWeeks[2, 2], "%m/%d"), "-", format(GetDataWeeks[2, 1], "%m/%d"))) #グーグルシートを作成:gs_newコマンド #書き込むデータを指定:inputオプション;nの数値を変更すると書き込むデータ数を変更できます #データ範囲以外のセル表示設定:trimオプション gs_new(title = paste0(format(GetDataWeeks[1, 2], "%m/%d"), "-", format(GetDataWeeks[1, 1], "%m/%d"), " 人気記事ランキング Top100"), ws_title = "人気記事ランキング Top100", input = head(NewRanking, n = 100), trim = TRUE)
少しでも、あなたの解析が楽になりますように!!