GASとGoogleアナリティクスを連携させ昨日分のアクセス数TOP3位のページタイトル及び合計アクセス数を取得する方法
GASとGoogleアナリティクスを連携させて「昨日分のアクセス数TOP3位のページタイトルと当該ページのアクセス数」及び「昨日分の合計アクセス数」を取得したい。Google Analytics Data APIを使うことで実装できる模様。以下にソースコードと実装方法をメモ。
Google Analytics Data API
リファレンス
https://developers.google.com/analytics/devguides/reporting/data/v1?hl=ja
GASの準備
「サービス→Google Analytics Data API」を選択し追加しておく。今回はバージョンv1betaを使用した。
尚、似たようなAPIで「Analytics Reporting API」というのもあるので間違えないよう注意。
実装方法
ソースコード
function runReport() {
//Google AnalyticsプロパティID
const PROPERTY_ID = '【プロパティID】';
//取得したいメトリクスの名前
const METRIC_NAMES = ['screenPageViews'];
//取得したいディメンジョンの名前
const DIMENSION_NAMES = ['Date', 'pageTitle', 'eventName'];
//取得期間の開始終了
const START_DATE = 'yesterday';
const END_DATE = 'yesterday';
const metrics = METRIC_NAMES.map((x) => {
const tmp = AnalyticsData.newMetric();
tmp.name = x;
return tmp;
});
const dimensions = DIMENSION_NAMES.map((x) => {
const tmp = AnalyticsData.newDimension();
tmp.name = x;
return tmp;
});
const dateRange = AnalyticsData.newDateRange();
dateRange.startDate = START_DATE;
dateRange.endDate = END_DATE;
const request = AnalyticsData.newRunReportRequest();
request.dimensions = dimensions;
request.metrics = metrics;
request.dateRanges = dateRange;
const report = AnalyticsData.Properties.runReport(request,'properties/' + PROPERTY_ID);
if( !report.rows ){
return;
}
let count = 1;
let limit = 3;
let all_pv = 0;
let body = '';
for( const row of report.rows ){
const title = row.dimensionValues[1].value;
const pv = Number(row.metricValues[0].value);
if( count <= limit ){
body += `${count}位 ${title} | ${pv}pv\n`;
}
count = count + 1;
all_pv = all_pv + pv;
}
body += `合計${all_pv}pv`;
console.log(body);
return false;
}
書き換える場所
PROPERTY_IDは自サイトのプロパティIDを記述する。imitを書き換えることで上記〇位が設定できる。
その他連携
bodyに「昨日分のアクセス数TOP3位のページタイトルと当該ページのアクセス数」及び「昨日分の合計アクセス数」が入るので例えばだけど結果を指定のアドレスにメールを送りたい場合は以下過去記事を参考にGmail連携させる。
関連記事
-
-
GASとAdSense Management APIを使って前日分の売り上げをメール通知する方法
Googleアドセンスの売り上げをチェックする際、いつもはアドセンスの管理画面に ...
-
-
GASのプログラム実行時間計測方法と各種制限についてのメモ
PHP等でプログラムを組んでいると、あまり実行時間について気にすることはなかった ...
-
-
GASを使って任天堂ホームページ更新情報のRSSを取得する方法
GASを使ってRSSを取得してみたい。今回はニンテンドーホームページ更新情報とい ...
-
-
GASとGoogleカレンダを連携し暦通りではない店休日を取得する方法
小売店等のサイトで営業日カレンダーみたいなものを表示させる際に今まではPHPで管 ...
-
-
GASでGoogleカレンダーと連携してイベントの取得・追加・削除
Google Apps Scriptの勉強としてGoogleカレンダーと連携させ ...