我有很多 URL (> 8.500) 我想使用 R 查询 Google Analytics API。我正在使用googleAnalyticsR包。问题是,我确实能够遍历我的一组 url,但是创建的数据帧只返回每行主机 ID 的总值(例如每行的相同值)。
这是我到这一步的程度:
library(googleAnalyticsR)
library(lubridate)
#Authorize with google
ga_auth()
ga.acc.list = ga_account_list()
my.id = 123456
#set time range
soty = floor_date(Sys.Date(), "year")
yesterday = floor_date(Sys.Date(), "day") - days(1)
#get some - in this case - random URLs
urls = c("example.com/de/", "example.com/us/", "example.com/en/")
urls = gsub("^example.com/", "ga:pagePath=~", urls)
df = data.frame()
#get data
for(i in urls){
ga.data = google_analytics_4(my.id,
date_range = c(soty, yesterday),
metrics = c("pageviews","avgTimeOnPage","entrances","bounceRate","exitRate"),
filters = urls[i])
df = rbind(df, ga.data)}
结果总是在创建的数据帧(自己的数据)中的每一行中接收 my.id-domain 的总统计信息:
任何人都知道如何解决这个问题的更好方法,还是谷歌分析只是阻止我们以这种方式查询它?
你得到的是正常的:你只查询metrics
( c("pageviews","avgTimeOnPage","entrances","bounceRate","exitRate")
),所以你只能得到你的指标。
如果你想分解这些指标,你需要使用dimensions
:https : //developers.google.com/analytics/devguides/reporting/core/dimsmets
在你的情况下,你对ga:pagePath
维度感兴趣,所以像这样(未经测试的代码):
ga.data = google_analytics_4(my.id,
date_range = c(soty, yesterday),
dimensions=c("pagePath"),
metrics = c("pageviews","avgTimeOnPage","entrances","bounceRate","exitRate"),
filters = urls[i])
我建议您使用Google Analytics Query Explorer
直到获得所需的结果,然后将其移植到 R。
至于结果数量,默认情况下您可能会限制为 1K,直到您增加max_rows
. API 对 10K 有硬性限制,这意味着如果需要,您必须使用分页来检索更多结果。我在 R 文档中看到 max=99999999 的一些示例,我不知道 R 库是否自动处理超过前 10K 的分页,或者他们是否不知道硬限制:
batch_gadata <- google_analytics(id = ga_id,
start="2014-08-01", end="2015-08-02",
metrics = c("sessions", "bounceRate"),
dimensions = c("source", "medium",
"landingPagePath",
"hour","minute"),
max=99999999)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句