Rで解析:Google Analyticsの解析「googleAnalyticsR」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

Google Analyticsの解析に便利なパッケージの紹介です。Google Analyticsサイトでも高度な解析が可能ですが、どうしてもRでデータを処理したい場合にアクセスデータを簡単に得ることが出来るので利用してはいかがでしょうか。

パッケージバージョンは1.1.0。実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("googleAnalyticsR")

実行コマンド

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージのインストール
install.packages("googleAnalyticsR")

#パッケージの読み込み
library("googleAnalyticsR")

###他必要パッケージの読み込み#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
#openxlsxパッケージがなければインストール
if(!require("openxlsx", quietly = TRUE)){
  install.packages("openxlsx");require("openxlsx")
}
########

###Googleアカウントと連携:ga_authコマンド#####
#Googleアカウントを選び直す:new_userオプション;初期値FALSE
#実行するとウェブブラウザに情報が表示されます
ga_auth()
########

###最新のdimensionsとmetricsを取得:ga_metaコマンド#####
DimMet <- ga_meta(version = "data")

#&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12395;xlsx&#12391;&#20986;&#21147;
write.xlsx(x = list("Iris" = DimMet),
           file = "dimensions_metrics.xlsx",
           overwrite = TRUE)
#######

###Google&#12450;&#12459;&#12454;&#12531;&#12488;&#12391;&#31649;&#29702;&#12375;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#12434;&#21462;&#24471;:ga_account_list&#12467;&#12510;&#12531;&#12489;#####
AcountList <- ga_account_list(type = "ga4")

#&#12487;&#12540;&#12479;&#12434;&#30906;&#35469;
AcountList
# A tibble: 1 &times; 4
#    account_name accountId property_name    propertyId
#    <chr>        <chr>     <chr>            <chr>     
#  1 KARADA       9999999  &#12363;&#12425;&#12384;&#12395;&#12356;&#12356;&#12418;&#12398;  999999
# &#8505; Use `colnames()` to see all variable names
########

###GoogleAnalytics&#12398;&#12487;&#12540;&#12479;&#12434;&#21462;&#24471;:ga_data&#12467;&#12510;&#12531;&#12489;########
#&#35299;&#26512;&#12469;&#12452;&#12488;&#12398;&#25351;&#23450;:propertyId&#12458;&#12503;&#12471;&#12519;&#12531;;"propertyId"&#12434;&#25351;&#23450;
#metrics&#12398;&#25351;&#23450;:metrics&#12458;&#12503;&#12471;&#12519;&#12531;
#&#21462;&#24471;&#26085;&#26178;&#31684;&#22258;&#12434;&#25351;&#23450;:date_range&#12458;&#12503;&#12471;&#12519;&#12531;
#dimensions&#12398;&#25351;&#23450;:dimensions&#12458;&#12503;&#12471;&#12519;&#12531;
#dimensions&#20869;&#23481;&#12391;&#12501;&#12451;&#12523;&#12479;&#12522;&#12531;&#12464;:dim_filters&#12458;&#12503;&#12471;&#12519;&#12531;
#metrics&#20869;&#23481;&#12391;&#12501;&#12451;&#12523;&#12479;&#12522;&#12531;&#12464;:met_filters&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12487;&#12540;&#12479;&#12398;&#20006;&#12403;&#26367;&#12360;:orderBys&#12458;&#12503;&#12471;&#12519;&#12531;;ga_data_order&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12392;&#27005;&#12391;&#12377;
#&#21462;&#24471;&#12487;&#12540;&#12479;&#25968;&#12398;&#35373;&#23450;:limit&#12458;&#12503;&#12471;&#12519;&#12531;;&#21462;&#24471;&#26085;&#26178;&#31684;&#22258;&#12391;&#25351;&#23450;&#25968;&#12398;&#12487;&#12540;&#12479;&#12434;&#21462;&#24471;&#12375;&#12414;&#12377;

#propertyId&#12434;&#21462;&#24471;
GA_ID <- AcountList$propertyId

#&#12487;&#12540;&#12479;&#12434;&#21462;&#24471;
GetGAData <- ga_data(propertyId = GA_ID,
                     metrics = c("activeUsers","sessions"),
                     date_range = c("2022-01-01", "2022-12-31"),
                     dimensions = "date",
                     dim_filters = NULL, met_filters = NULL,
                     #ga_data_order&#12467;&#12510;&#12531;&#12489;;metrics,dimensions&#12398;&#20869;&#23481;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;
                     #&#20808;&#38957;&#12395;&#12300;+&#12301;&#12391;&#26119;&#38918;,&#12300;-&#12301;&#12391;&#26119;&#38918;
                     orderBys = ga_data_order(x = +date),
                     limit = 360)

#&#12487;&#12540;&#12479;&#30906;&#35469;
GetGAData
# A tibble: 15 &times; 3
#    date       activeUsers sessions
#   <date>           <dbl>    <dbl>
#1 2022-01-01        99999    99999
#2 2022-01-02        99999    99999
#&#20197;&#19979;&#30053;

#&#12300;ggplot2&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;&#12391;&#12503;&#12525;&#12483;&#12488;
ggplot(GetGAData, aes(x = date, y = activeUsers)) +
  geom_line(col = "#1b7a4f") +
  ggtitle("2022&#24180;_activeUsers")
########

###&#12506;&#12540;&#12472;&#12479;&#12452;&#12488;&#12523;&#12434;sessions&#38918;&#12391;&#20006;&#12403;&#26367;&#12360;&#12390;&#21462;&#24471;#####
SessionsData <- ga_data(propertyId = GA_ID,
                        metrics = c("activeUsers","sessions"),
                        date_range = c("2022-01-01", "2022-12-31"),
                        dimensions = "pageTitle",
                        dim_filters = NULL, met_filters = NULL,
                        #ga_data_order&#12467;&#12510;&#12531;&#12489;;metrics,dimensions&#12398;&#20869;&#23481;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;
                        #&#20808;&#38957;&#12395;&#12300;+&#12301;&#12391;&#26119;&#38918;,&#12300;-&#12301;&#12391;&#26119;&#38918;
                        orderBys = ga_data_order(x = -sessions),
                        limit = 360)

#1-10&#20301;&#12434;&#30906;&#35469;
SessionsData$pageTitle[1:10]
#[1] "R&#12391;&#35299;&#26512;&#65306;&#25991;&#23383;&#21015;&#25805;&#20316;&#12392;&#26908;&#32034;&#12300;grep&#12301;&#12392;&#32622;&#25563;&#12300;gsub&#12301;&#12467;&#12510;&#12531;&#12489;&#12398;&#32057;&#20171;"             
#[2] "R&#12391;&#35299;&#26512;&#65306;&#25163;&#36605;&#12391;&#32186;&#40599;&#12394;&#12464;&#12521;&#12501;&#12364;&#27442;&#12375;&#12356;&#12394;&#12425;&#12289;ggplot2&#12398;&#12414;&#12392;&#12417;&#12391;&#12377;&#12290;"            
#[3] "R&#12391;&#35299;&#26512;&#65306;&#23567;&#25968;&#28857;&#12398;&#20999;&#12426;&#25448;&#12390;&#12539;&#19978;&#12370;&#12395;&#38306;&#12377;&#12427;&#12467;&#12510;&#12531;&#12489;"                           
#[4] "R&#12391;&#12467;&#12510;&#12531;&#12489;&#65306;ggplot2&#12391;&#12398;&#33394;&#25351;&#23450;&#26041;&#27861;&#12398;&#12414;&#12392;&#12417;"                                
#[5] "R&#12391;&#35299;&#26512;&#65306;MAC&#12392;Windows&#12391;Rstudio&#12398;&#12464;&#12521;&#12501;&#12398;&#26085;&#26412;&#35486;&#25991;&#23383;&#21270;&#12369;&#12434;&#38450;&#12368;&#31777;&#21336;&#12394;&#26041;&#27861;"    
#[6] "R&#12391;&#35299;&#26512;&#65306;&#12480;&#12511;&#12540;&#22793;&#25968;&#12398;&#20316;&#25104;&#12395;&#22823;&#22793;&#20415;&#21033;&#12391;&#12377;&#12300;makedummies&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;"          
#[7] "R&#12391;&#35299;&#26512;&#65306;geom_point&#12408;&#12398;&#12486;&#12461;&#12473;&#12488;&#12420;&#12521;&#12505;&#12523;&#12398;&#20184;&#19982;&#12395;&#20415;&#21033;&#12394;&#12300;ggrepel&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;"
#[8] "R&#12391;&#35299;&#26512;&#65306;&#12487;&#12540;&#12479;&#12434;&#32080;&#21512;&#12375;&#12390;&#12414;&#12392;&#12417;&#12427;&#12467;&#12510;&#12531;&#12489;"                                 
#[9] "&#12363;&#12425;&#12384;&#12395;&#12356;&#12356;&#12418;&#12398;"                                                          
#[10] "R&#12391;&#24489;&#32722;&#65306;&#12456;&#12463;&#12475;&#12523;&#12501;&#12449;&#12452;&#12523;&#12398;&#25805;&#20316;&#12395;&#20415;&#21033;&#12394;&#12300;openxlsx&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;"    
########

出力例

・2022年_activeUsersの傾向


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました