This helper function works with the output of user activity and parses out inner nested structure you may require.
Thanks to @jimmyg3g on GitHub for help with the ecommerce parsing.
ga_clientid_activity_unnest(
hits,
column = c("customDimension", "ecommerce", "goals")
)
The hits data.frame with the columns to expand
Which column to expand - one of "customDimension","ecommerce","goals"
An unnested data.frame tibble for all hits that matches the column
A function to help expand data out of nested columns returned by ga_clientid_activity
Other clientid functions:
ga_clientid_activity()
,
ga_clientid_deletion()
,
ga_clientid_hash()
if (FALSE) {
# access clientIds for users who have transacted
viewId <- 106249469
date_range <- c("2019-01-01","2019-02-01")
cids <- google_analytics(viewId,
date_range = date_range,
metrics = "sessions",
dimensions = "clientId",
met_filters = filter_clause_ga4(
list(met_filter("transactions",
"GREATER_THAN",
0)
)))
transactors <- ga_clientid_activity(cids$clientId,
viewId = viewId,
date_range = date_range)
# unnest ecommerce activity hits from users
ga_clientid_activity_unnest(transactors$hits, "ecommerce")
# unnest goal activity hits from users
ga_clientid_activity_unnest(transactors$hits, "goals")
# unnest custom dimension activity hits from users
ga_clientid_activity_unnest(transactors$hits, "customDimension")
}