🤸♀️
GASでAnalyticsのデータを取得する方法
やりたいこと
GoogleAppScriptで、GoogleAnalyticsのデータを取得して、Spreadsheetに入力する。
Spreadsheetのアドオンだけで取得することもできるけど、GASを使うことで柔軟にデータを加工できたり、いろいろと小回りが効く。
実装方法
ビューIDを確認
Google Analyticsを開き、取得したいサイトのビューIDを確認してメモしておく。
スプレッドシート&GASを開く
Google Analytics APIを有効化
データを取得する関数を作る
以下のサンプルコードを参考に、GASで関数を作る。
サンプルコード
function fetchGoogleAnalytics() {
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadSheet.getSheetByName('テスト');
const viewId = '111111111' // 最初のステップでメモしたビューID
const startDate = '2021-03-01'
const endDate = '2021-03-07'
const metrics = "ga:pageviews,ga:sessions,ga:users"; // 取得したいデータ
const dimensions = "ga:pagePath"; // 切り口(何毎に取得するか)
const sortType = "-ga:pageviews";
const filters = "ga:pagePath=~/new_users.*;ga:pageviews>=10" // フィルター(任意)
const gaData = Analytics.Data.Ga.get(
'ga:' + viewId,
startDate,
endDate,
metrics,
{
'dimensions': dimensions,
'sort': sortType,
'filters': filters // 任意
}
).getRows();
sheet.getRange(4, 1, gaData.length, gaData[0].length).setValues(gaData); // セルA4を起点に書き込み
}
Google Analytics APIを有効化したことで、
Analytics.Data.Ga.get("ビューID", "開始日", "終了日", "取得したい指標", {"dimension":"ディメンション", "sort":"ソート方法"})
でデータを取得することが可能になっている。
よく使う指標と、その書き方
よく取得する指標
日本語表記 | パラメーターとしての表記 |
---|---|
ユーザー | ga:users |
セッション | ga:sessions |
ページビュー数 | ga:pageviews |
ページ/セッション | ga:pageviewsPersession |
平均セッション時間 | ga:avgSessionDuration |
直帰率 | ga:bounceRate |
離脱率 | ga:exitRate |
よくディメンションに設定する指標
日本語表記 | パラメーターとしての表記 |
---|---|
ページ | ga:pagePath |
ページタイトル | ga:pageTitle |
参照 | ga:source |
メディア | ga:medium |
参照/メディア | ga:sourceMedium |
デバイスカテゴリ | ga:deviceCategory |
時間帯 | ga:dateHour |
Query Explorerについて
GoogleAnalyticsのAPIを叩いて、データを取得することができるページ。
Googleが公式に提供している。
GASでコードを書くとき、ここでのクエリの組み立て方などが参考になることも多い。
参考
Discussion