我正试图从谷歌分析API检索的数据中获取各个日期。我试图模仿谷歌分析应用程序的功能。
例如,谷歌分析应用程序有一个折线图,如果日期范围是4月20日至25日,总用户数为4,则显示22日有2个用户,27日有2个用户。等等
但是当我使用API(如
const url = `https://analyticsdata.googleapis.com/v1beta/properties/${propertyId}:runReport`;
const requestBody = {
metrics: [
{
name: 'activeUsers',
},
{
name: 'bounceRate',
},
{
name: 'averageSessionDuration',
},
{
name: 'engagedSessions',
},
{
name: 'eventCount',
},
{
name: 'eventsPerSession',
},
{
name: 'screenPageViewsPerSession',
},
{
name: 'sessions',
},
{
name: 'sessionsPerUser',
},
{ name: 'totalUsers' },
],
dateRanges: [
{
startDate: startDate,
endDate: endDate,
name: 'date_range',
},
],
};
const response = await axios.post(url, requestBody, requestOptions);
数据返回以下内容
{
"metricHeaders": [
{
"name": "activeUsers",
"type": "TYPE_INTEGER"
},
{
"name": "bounceRate",
"type": "TYPE_FLOAT"
},
{
"name": "averageSessionDuration",
"type": "TYPE_SECONDS"
},
{
"name": "engagedSessions",
"type": "TYPE_INTEGER"
},
{
"name": "eventCount",
"type": "TYPE_INTEGER"
},
{
"name": "eventsPerSession",
"type": "TYPE_FLOAT"
},
{
"name": "screenPageViewsPerSession",
"type": "TYPE_FLOAT"
},
{
"name": "sessions",
"type": "TYPE_INTEGER"
},
{
"name": "sessionsPerUser",
"type": "TYPE_FLOAT"
},
{
"name": "totalUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
{
"metricValues": [
{
"value": "4"
},
{
"value": "0.6"
},
{
"value": "29.2088052"
},
{
"value": "2"
},
{
"value": "45"
},
{
"value": "9"
},
{
"value": "4.2"
},
{
"value": "5"
},
{
"value": "1.25"
},
{
"value": "4"
}
]
}
],
"rowCount": 1,
"metadata": {
"currencyCode": "USD",
"timeZone": "Etc/GMT-3"
},
"kind": "analyticsData#runReport"
}
所以它只显示总数,而不显式显示用户何时处于活动状态。
是我遗漏了一个参数,还是根本不可能得到这些日期?
顺便说一句,我正在尝试获取新的GA4跟踪ID。
谢谢你的时间
2条答案
按热度按时间mrphzbgm1#
从您的requestBody中,我看到您仅请求指标,因此您将获得整个选定期间的聚合数据。
您还应该输入
date
维度,以便按所需范围内的日期对值进行细分。sxissh062#
谢谢Michele Pisani回答这个问题。
我已经找到了一个非常有用的网站,显示哪些值可用
https://ga-dev-tools.google/ga4/query-explorer/
是的,我需要加上这个
我的请求身体。
谢谢!