UPDATE:2022.4.12
- CATEGORY
GASを使ってアナリティクスのコンバージョンをスプレッドシートに取得したお話
こんにちは、かずです。タイトルのまんまなのですが、アナリティクスからコンバージョンの数だけ取得したいときに、1件だけならいいですが、複数件あると色んなところをクリックしてページを読み込んで・・・とても時間がかかります!
備忘録かねてますのでざっくりですがご了承ください!
早速ですが、コードがこちら
6行目のmetricsは取得したデータになります。
コンバージョン以外にも色々データが取得出来るのでレポート作成なんかにも便利です!
下記で色々試せます!
次の行のviewIDはアカウントでもプロパティでもなくビューのIDです!
取得したい数が多い場合、スプレッドシートにひたすらIDを記述してforで回してもいいですね!
function getGoogleAnalytics() {
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadSheet.getSheetByName('sheet1');
const lastRow = sheet.getLastRow();
const start = '2022-03-01'
const end = '2022-03-31'
const metrics = "ga:goalCompletionsAll";
for(let i = 2; i <= lastRow; i++){
const viewId = sheet.getRange(i, 2).getValue();
const gaData = Analytics.Data.Ga.get(
'ga:' + viewId,
start,
end,
metrics,
).getRows();
sheet.getRange(i, 3, gaData.length, gaData[0].length).setValues(gaData);
}
}
文字ばかりでわかりにくかったらごめんなさい!
ではでは。
function getGoogleAnalytics() {
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadSheet.getSheetByName('sheet1');
const start = '2022-03-01'
const end = '2022-03-31'
const metrics = "ga:goalCompletionsAll";
const viewId = 'ビューのID';
const gaData = Analytics.Data.Ga.get(
'ga:' + viewId,
start,
end,
metrics,
).getRows();
sheet.getRange(1, 3, gaData.length, gaData[0].length).setValues(gaData);
}