Имам няколко извиквания на API на GA, които бих искал да изпълня в един скрипт. Обажданията ще се различават в зависимост от „източника“ (технически просто име на място) и специфични филтри и показатели за всеки източник.
Използвах пакета RGA със скрипт, който ми позволи да посоча всички идентификатори на профили, които исках да използвам. Функцията lapply преминава през идентификационните номера на профилите, но бих искал също така да прегледам стойностите на показателя и филтъра за всеки „източник“, посочен в таблица с данни. Това би било много по-ефективно от изброяването на 40 различни повиквания в скрипта с 40 различни филтъра.
Ето скрипта, който използвах:
ids <- c(123456,12345679)
start <- "2015-12-01"
end <- "2015-12-31"
res <- lapply(ids, function(id) {
ans <- get_ga(id, start.date = start, end.date = end,
dimensions = "ga:yearMonth",
metrics = "ga:sessions",
filters = "ga:medium==organic;ga:landingPagePath!~gppc|sm003|refer=")
ans$id <- id
return(ans)
})
res <- do.call(rbind, res)
organic <- cbind("organic", res)
Низът „organic“ ще бъде име на място за реда, който ще съдържа върнатите показатели.
Това, което бих предпочел да направя, е да използвам тази рамка от данни, за да присвоя стойности:
a <- c(123456,12345679,123456,12345679,123456,12345679)
b <- c("organic","organic","cpc","cpc","banner","banner")
c <- c("ga:medium==organic;ga:landingPagePath!~gppc|sm003|refer=","ga:medium==organic;ga:landingPagePath!~gppc|sm003|refer=","ga:landingPagePath!~gppc|sm003|refer=","ga:landingPagePath!~gppc|sm003|refer=","ga:medium==banner","ga:medium==banner")
check <- cbind(a,b,c)
colnames(check)[1:3] <- c("profile","source","filters")
След това използвайте някаква функция за прилагане или цикъл, за да върнете всеки ред въз основа на комбинацията от профил, филтър.