概要
事前準備
仕様
期間は直近1週間
dataRanges に startDate: 6daysAgo と endDate: today を指定する
PV数順に10記事分のURLを取得
dimensions に pageLocation を使用する
metrics に screenPageViews を使用する
limit に 10 を指定する
ノート記事のみのリストにする
pageLocation に /notes/ を含むかどうかでフィルタリングする
スクリプト
import { BetaAnalyticsDataClient } from '@google-analytics/data'
const propertyId = process.env.GA4_PROPERTY_ID
const client = new BetaAnalyticsDataClient()
const runReport = async () => {
const [response] = await client.runReport({
property: `properties/${propertyId}`,
dateRanges: [
{
startDate: '6daysAgo',
endDate: 'today',
},
],
dimensions: [
{
name: 'pageLocation',
},
],
metrics: [
{
name: 'screenPageViews',
},
],
dimensionFilter: {
filter: {
fieldName: 'pageLocation',
stringFilter: {
matchType: 'CONTAINS',
value: '/notes/',
},
},
},
limit: 10,
})
console.log('Report result:')
response.rows.forEach((row) => {
console.log(row.dimensionValues[0].value)
})
}
runReport()
実行結果