Learn R Programming

googleAnalyticsR (version 0.3.0)

google_analytics_4: GAv4 single request

Description

A convenience function that wraps make_ga_4_req and fetch_google_analytics_4 for the common case of one GA data request. Will perform automatic batching if over the 10000 row per API call limit.

Usage

google_analytics_4(viewId, date_range = NULL, metrics = NULL, dimensions = NULL, dim_filters = NULL, met_filters = NULL, filtersExpression = NULL, order = NULL, segments = NULL, pivots = NULL, cohorts = NULL, max = 1000, samplingLevel = c("DEFAULT", "SMALL", "LARGE"), metricFormat = NULL, histogramBuckets = NULL, anti_sample = FALSE, anti_sample_batches = "auto")

Arguments

viewId
viewId of data to get.
date_range
character or date vector of format c(start, end) or for two date ranges: c(start1,end1,start2,end2)
metrics
Metric to fetch. Supports calculated metrics.
dimensions
Dimensions to fetch.
dim_filters
met_filters
filtersExpression
A v3 API style simple filter string. Not used with other filters.
order
An order_type object
segments
List of segments as created by segment_ga4
pivots
Pivots of the data as created by pivot_ga4
cohorts
Cohorts created by make_cohort_group
max
Maximum number of rows to fetch. Defaults at 1000. Use -1 to fetch all results.
samplingLevel
Sample level
metricFormat
If supplying calculated metrics, specify the metric type
histogramBuckets
For numeric dimensions such as hour, a list of buckets of data. See details in make_ga_4_req
anti_sample
If TRUE will split up the call to avoid sampling.
anti_sample_batches
"auto" default, or set to number of days per batch. 1 = daily.

Value

A Google Analytics data.frame

Anti-sampling

anti_sample being TRUE ignores max as the API call is split over days to mitigate the sampling session limit, in which case a row limit won't work. Take the top rows of the result yourself instead e.g. head(ga_data_unsampled, 50300) If you are lucky enough to need sub-day sampling, it will attempt to fetch per hour, but you are restricted to not using dim_filter argument if this is the case. Try using filtersExpression instead. anti_sample being TRUE will also set samplingLevel='LARGE' to minimise the number of calls.

See Also

Other GAv4 fetch functions: fetch_google_analytics_4, make_ga_4_req

Examples

Run this code

## Not run: 
# library(googleAnalyticsR)
# 
# ## authenticate, 
# ## or use the RStudio Addin "Google API Auth" with analytics scopes set
# ga_auth()
# 
# ## get your accounts
# account_list <- google_analytics_account_list()
# 
# ## pick a profile with data to query
# 
# ga_id <- account_list[23,'viewId']
# 
# ga_data <- google_analytics_4(ga_id, 
#                               date_range = c("2015-07-30","2015-10-01"),
#                               dimensions=c('source','medium'), 
#                               metrics = c('sessions','bounces'))
# 
# ## End(Not run)

Run the code above in your browser using DataLab