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

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の傾向


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

Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.
タイトルとURLをコピーしました