ウェブ解析

GA4、ユニバーサル アナリティクス

Google Apps Script スプレッド シート

GAS ( Google Apps Script ) で Google アナリティクス の指標を取得、 スプレッド シート に記録する (2)

投稿日:

GASサンプル

下記では、

let metrics01 = “ga:sessions”; //セッション数
let metrics02 = “ga:users”; //ユーザー数
let metrics03 = “ga:pageviews”; //ページビュー数
let metrics04 = “ga:bounceRate”; //直帰率

の数値の取得をフィルターを掛けて行っております。

function getGoogleAnalytics() {

//コンテナバインドスクリプトに紐づくスプレッドシートのアクティブシートを取得
let sheet = SpreadsheetApp.getActiveSheet();

//スプレッドシートからグーグルアナリティクスのビューIDと開始日、終了日を取得する
//セルを範囲で取得する
//getRange(row, column [, numrows [, numcolumns]])
//row [int]	指定する範囲の行番号。
//column [int]	指定する範囲の列番号。A列を1とする。
//numrows [int]	(省略可)範囲の行数を指定する。デフォルト1。
//numcolumns [int]	(省略可) 列数を指定する。デフォルト1。
let setting = sheet.getRange(2, 1, 1, 3).getDisplayValues();

//グーグルアナリティクスから取得する指標データを設定する
let metrics01 = "ga:sessions";      //セッション数
let metrics02 = "ga:users";         //ユーザー数
let metrics03 = "ga:pageviews";     //ページビュー数
let metrics04 = "ga:bounceRate";    //直帰率

//フィルターでディメンションを使うので、dimensions は使用しない
//let dimensions = "ga:channelGrouping";

//フィルターを設定する
//フィルターのAND条件はセミコロン、OR条件は、
let filters_01_01 = "ga:channelGrouping==Organic Search;ga:deviceCategory==mobile";
let filters_01_02 = "ga:channelGrouping==Display;ga:deviceCategory==mobile";
//let filters = "ga:channelGrouping==Organic Search";

//1行だけのデータなので、ソートは不要
//let sortType = "-ga:sessions";

//--------------------------- 
//--------------------------- gaData_01_01 -- 全体_Organic Search_セッション数
//--------------------------- 

//Google Analytics APIリクエストして、グーグルアナリティクスのデータを取得する
let gaData_01_01 = Analytics.Data.Ga.get(
setting[0][0], //ビューID
setting[0][1], //集計期間 開始日
setting[0][2], //同 終了日
metrics01,
{
//'dimensions': dimensions,
//'sort': sortType,
'filters': filters_01_01
}
).getRows();

//Google Analytics APIから取得した2次元配列のデータをスプレッドシートに書き込む
//getRange(row, column [, numrows [, numcolumns]])
//row [int]	指定する範囲の行番号。
//column [int]	指定する範囲の列番号。A列を1とする。
//numrows [int]	(省略可)範囲の行数を指定する。デフォルト1。 =gaData.length
//numcolumns [int]	(省略可) 列数を指定する。デフォルト1。 =gaData[0].length

sheet.getRange(8, 5, gaData_01_01.length, gaData_01_01[0].length).setValues(gaData_01_01);

//--------------------------- 
//--------------------------- gaData_01_02 -- 全体_Organic Search_ユーザー数
//--------------------------- 

//Google Analytics APIリクエストして、グーグルアナリティクスのデータを取得する
let gaData_01_02 = Analytics.Data.Ga.get(
setting[0][0], //ビューID
setting[0][1], //集計期間 開始日
setting[0][2], //同 終了日
metrics02,
{
'filters': filters_01_01
}
).getRows();

sheet.getRange(8, 8, gaData_01_02.length, gaData_01_02[0].length).setValues(gaData_01_02);

//--------------------------- 
//--------------------------- gaData_01_03 -- 全体_Organic Search_ページビュー数
//--------------------------- 

//Google Analytics APIリクエストして、グーグルアナリティクスのデータを取得する
let gaData_01_03 = Analytics.Data.Ga.get(
setting[0][0], //ビューID
setting[0][1], //集計期間 開始日
setting[0][2], //同 終了日
metrics03,
{
'filters': filters_01_01
}
).getRows();

sheet.getRange(8, 11, gaData_01_03.length, gaData_01_03[0].length).setValues(gaData_01_03);

//--------------------------- 
//--------------------------- gaData_01_04 -- 全体_Organic Search_直帰率
//--------------------------- 

//Google Analytics APIリクエストして、グーグルアナリティクスのデータを取得する
let gaData_01_04 = Analytics.Data.Ga.get(
setting[0][0], //ビューID
setting[0][1], //集計期間 開始日
setting[0][2], //同 終了日
metrics04,
{
'filters': filters_01_01
}
).getRows();

sheet.getRange(8, 13, gaData_01_04.length, gaData_01_04[0].length).setValues(gaData_01_04);

//--------------------------- 
//--------------------------- gaData_02_01 -- 全体_Display_セッション数
//--------------------------- 

let gaData_02_01 = Analytics.Data.Ga.get(
setting[0][0], //ビューID
setting[0][1], //集計期間 開始日
setting[0][2], //同 終了日
metrics01,
{
'filters': filters_01_02
}
).getRows();

sheet.getRange(9, 5, gaData_02_01.length, gaData_02_01[0].length).setValues(gaData_02_01);



//--------------------------- 
//--------------------------- スクリプトの最後の部分
//--------------------------- 


}

-Google Apps Script, スプレッド シート

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

setNumberFormat (GAS)

var FormatDuration = sheet.getRange(9, 15, gaData_02_05.length, gaData_02_05[0].length).setNumbe …

Google Apps Script で Google Analytics API を活用 複雑な segment と filter との同時利用

Google アナリティクス のセグメントで、下記のように、4つのページを全て閲覧した、というセグメントを作ろうとしました。 このセグメントを使って、Google アナリティクスでレポートを見るのは、 …

GAS ( Google Apps Script ) で Google アナリティクス の指標を取得、 スプレッド シート に記録する

Google Apps Script ( 以下、GAS ) はGoogleのサービスと連携しやすい特徴があり、Google アナリティクスのアクセス解析データを簡単に取得できます。 なお、下記で作成し …