获取按过去 X 天的指标排序的维度的前 google 个分析项目
Get top google analytics items of a dimension sorted by a metric of the last X days
例如我想获取最近 30 天内访问量最大的三个页面,按会话数排序。
因此,对于每一天,我都希望按 ga:sessions
对每天排名前三的 ga:pagePath
项目进行排序。这在单个查询中可能吗?
此查询应 return 90 项,每天 3 ga:pagePath
项。
再举一个例子,是否可以获得每天加载速度最快的三个 (ga:pageLoadTime) 页面而不是访问量最大的页面?这需要关于排序指标的不是 ASC 而是 DESC 排序。
如有必要,我可以使用 v4 API。
1) 因此,对于每一天,我都希望每天按 ga:sessions 排序的前三个 ga:pagePath 项。这在单个查询中可能吗?
是的,这是可能的。这可以通过独特的综合浏览量来完成。 Google 状态:Unique Pageviews is the number of sessions during which the specified page was viewed at least once. A unique pageview is counted for each page URL + page Title combination.
明显的警告是 URL + 页面标题组合,但这可能对您有利,具体取决于应用程序。
在 Google 分析中:
转到行为 > 网站内容 > 所有页面。按唯一浏览量排序。
在 GAv4 中 API
{
"reportRequests": [
{
"viewId": "VIEW_ID",
"dateRanges": [
{
"startDate": "30daysAgo",
"endDate": "yesterday"
}
],
"metrics": [
{
"expression": "ga:uniquePageViews"
}
],
"dimensions": [
{
"name": "ga:pagePath"
}
],
"pageSize": 3,
"orderBys": [
{
"fieldName": "ga:uniquePageViews",
"sortOrder": "DESCENDING"
}
]
}
]
}
2) 还有可能获得三个最快加载 (ga:pageLoadTime) 页面而不是每天访问最多的页面吗?这需要关于排序指标的不是 ASC 而是 DESC 排序。
是的,这也是可能的。但是,您可能想使用 ga:avgPageLoadTime
,因为 ga:pageLoadTime
是总时间(来自所有网页浏览量)。
在 Google 分析中:
转到“行为”>“网站速度”>“页面计时”。将数字列更改为 Avg。页面加载时间(秒)并按此列排序。
在 GAv4 中 API
{
"reportRequests": [
{
"viewId": "VIEWID",
"dateRanges": [
{
"startDate": "30daysAgo",
"endDate": "yesterday"
}
],
"metrics": [
{
"expression": "ga:uniquePageViews"
}
],
"dimensions": [
{
"name": "ga:pagePath"
}
],
"pageSize": 3,
"orderBys": [
{
"fieldName": "ga:avgPageLoadTime",
"sortOrder": "ASCENDING"
}
]
}
]
}
但是,此报告可能不会有太大帮助,因为它主要会提取异常值,而不是感兴趣的页面。我会将此调用与另一个调用结合起来以检索,1) 唯一页面浏览量排名前 n 的页面,以及 2) 将其用作页面加载时间调用的过滤器。
例如(在 R 中,使用 googleAnalyticsR):
1)
#retrieve the top 100 pages (ranked via unique pageviews)
test <- google_analytics_4(VIEW_ID,
date_range = c("30daysAgo", "yesterday"),
metrics = "uniquePageviews",
dimensions = "pagePath",
max=100, #this is the top n pages
order = order_type("uniquePageviews", sort_order=c("DESCENDING"),orderType = c("VALUE")))
2)
#call the top 3 pages via avgPageLoadTime
test2 <- google_analytics_4(VIEW_ID,
date_range = c("30daysAgo", "yesterday"),
metrics = "avgPageLoadTime",
#But only for the top 100 pages (ranked via unique pageviews).
#filterExpression = uniquePageViews is greater then the unique pageviews
#of the 100th ranked page.
filtersExpression=paste("ga:uniquePageViews>",tail(test$uniquePageviews, 1), sep=""),
dimensions = "pagePath",
max=3,
order = order_type("avgPageLoadTime", sort_order=c("ASCENDING"),orderType = c("VALUE")))
更新:
您要实现的目标不可能在单个查询中实现。
问题是结果的顺序对您尝试查询的日期有反应。
透视 table 将不起作用,即使您可以按天透视页面并且有 30 列,它也会显示前三个页面的每日流量,而不是每天前三个页面.
要获得您正在寻找的结果,您需要 运行 过去 x 天的循环,为感兴趣的指标调用前 3 个结果。
例如我想获取最近 30 天内访问量最大的三个页面,按会话数排序。
因此,对于每一天,我都希望按 ga:sessions
对每天排名前三的 ga:pagePath
项目进行排序。这在单个查询中可能吗?
此查询应 return 90 项,每天 3 ga:pagePath
项。
再举一个例子,是否可以获得每天加载速度最快的三个 (ga:pageLoadTime) 页面而不是访问量最大的页面?这需要关于排序指标的不是 ASC 而是 DESC 排序。
如有必要,我可以使用 v4 API。
1) 因此,对于每一天,我都希望每天按 ga:sessions 排序的前三个 ga:pagePath 项。这在单个查询中可能吗?
是的,这是可能的。这可以通过独特的综合浏览量来完成。 Google 状态:Unique Pageviews is the number of sessions during which the specified page was viewed at least once. A unique pageview is counted for each page URL + page Title combination.
明显的警告是 URL + 页面标题组合,但这可能对您有利,具体取决于应用程序。
在 Google 分析中:
转到行为 > 网站内容 > 所有页面。按唯一浏览量排序。
在 GAv4 中 API
{
"reportRequests": [
{
"viewId": "VIEW_ID",
"dateRanges": [
{
"startDate": "30daysAgo",
"endDate": "yesterday"
}
],
"metrics": [
{
"expression": "ga:uniquePageViews"
}
],
"dimensions": [
{
"name": "ga:pagePath"
}
],
"pageSize": 3,
"orderBys": [
{
"fieldName": "ga:uniquePageViews",
"sortOrder": "DESCENDING"
}
]
}
]
}
2) 还有可能获得三个最快加载 (ga:pageLoadTime) 页面而不是每天访问最多的页面吗?这需要关于排序指标的不是 ASC 而是 DESC 排序。
是的,这也是可能的。但是,您可能想使用 ga:avgPageLoadTime
,因为 ga:pageLoadTime
是总时间(来自所有网页浏览量)。
在 Google 分析中:
转到“行为”>“网站速度”>“页面计时”。将数字列更改为 Avg。页面加载时间(秒)并按此列排序。
在 GAv4 中 API
{
"reportRequests": [
{
"viewId": "VIEWID",
"dateRanges": [
{
"startDate": "30daysAgo",
"endDate": "yesterday"
}
],
"metrics": [
{
"expression": "ga:uniquePageViews"
}
],
"dimensions": [
{
"name": "ga:pagePath"
}
],
"pageSize": 3,
"orderBys": [
{
"fieldName": "ga:avgPageLoadTime",
"sortOrder": "ASCENDING"
}
]
}
]
}
但是,此报告可能不会有太大帮助,因为它主要会提取异常值,而不是感兴趣的页面。我会将此调用与另一个调用结合起来以检索,1) 唯一页面浏览量排名前 n 的页面,以及 2) 将其用作页面加载时间调用的过滤器。
例如(在 R 中,使用 googleAnalyticsR):
1)
#retrieve the top 100 pages (ranked via unique pageviews)
test <- google_analytics_4(VIEW_ID,
date_range = c("30daysAgo", "yesterday"),
metrics = "uniquePageviews",
dimensions = "pagePath",
max=100, #this is the top n pages
order = order_type("uniquePageviews", sort_order=c("DESCENDING"),orderType = c("VALUE")))
2)
#call the top 3 pages via avgPageLoadTime
test2 <- google_analytics_4(VIEW_ID,
date_range = c("30daysAgo", "yesterday"),
metrics = "avgPageLoadTime",
#But only for the top 100 pages (ranked via unique pageviews).
#filterExpression = uniquePageViews is greater then the unique pageviews
#of the 100th ranked page.
filtersExpression=paste("ga:uniquePageViews>",tail(test$uniquePageviews, 1), sep=""),
dimensions = "pagePath",
max=3,
order = order_type("avgPageLoadTime", sort_order=c("ASCENDING"),orderType = c("VALUE")))
更新:
您要实现的目标不可能在单个查询中实现。
问题是结果的顺序对您尝试查询的日期有反应。
透视 table 将不起作用,即使您可以按天透视页面并且有 30 列,它也会显示前三个页面的每日流量,而不是每天前三个页面.
要获得您正在寻找的结果,您需要 运行 过去 x 天的循环,为感兴趣的指标调用前 3 个结果。