ga_auth(json_file="auth-key.json") (#324 - thanks @adamribaudo)ga_meta(version="data") (#335)ganalytics-style expressions for dimension and metric filters/segments (#339 and #305), which also resolves #279 (and improves on #253) for continued support of combining expressions (for filters and segments) using list().ga_data() (#335)ga_data_aggregations(), ga_data_filter(), ga_data_order() for working with ga_data() (#335)google_analytics_3() (#347)ga_account_list("ga4") (#350)ga_model_tweet()accountPicker() (#357)metricDimensionSelect() (#357)ga_model() objects using template files ga_model_shiny() (#358)googleCloudRunner (#367)https://code.markedmondson.me/googleAnalyticsR/dev/ with the development documentation. https://code.markedmondson.me/googleAnalyticsR/ will only carry the CRAN version.ga_mp_send(), ga_mp_event() and ga_mp_event_item() (#370)ga_account_list() not downloading starred columns (#284 - thanks @hidekoji)cli for nicer looking user messagingga_auth(json = "file.json")GARGLE_EMAIL auto-auth on package load as could stop package loading under some circumstances.ga_auth_setup() to help walk through some of the advanced authentication setupsgoogle_analytics() when slow_fetch=TRUE and max=-1 (#321 - thanks @wdwatkins)googleCloudRunnerslow_fetch=TRUE now respects the max_rows argument (#282)google_analytics_meta() for ga_meta()accountId to the output of Shiny module authDropdown when viewIdOnly=FALSEquotaUser to reporting v4 API requests to avoid quota limits if several users from same ip attempt to run API calls (#235) - default is Sys.info()[["user"]] or set via options("googleAuthR.quotaUser")ga_model_* functions to use GA data (#234)ga_model_tweet to enable data viz in tweetsgar_clientid_activity()googleAuthR v1.0.0 and gargleclientId dimension in user activity API callstidyr::unnest to use cols parameter (#266)ga_custom_upload_delete() - thanks @byapprov (#263)ga_segment_list() returning data if no custom segments created (#259)ga_clientid_deletion() function (#168) (renamed from ga_user_deletion())authDropdown return more than just the viewId (#172)dataLastRefreshed and stop caching if its present (e.g. query includes today) (#183)ganalytics query objects into googleAnalyticsR API requests.ga_users_delete, ga_users_update and ga_users_addga_custom_vars_create and ga_custom_vars_patchIf you were using google_analytics() before to fetch the v3 API, this is now available via google_analytics_3() - replace all instances and it should work as before. However, you are encouraged to migrate to v4, which now runs when you use google_analytics()(and for a while still at google_analytics_4() too)
ga_auth()google_analytics to be the v4 API, google_analytics_3 now supports v3.httr-oauth to ga.oauth to avoid clashesgoogle_analytics batch API call fails, it will automatically retry with a slower request ratemulti_select(#99 - thanks @sdhaus)GA_CLIENT_ID, GA_CLIENT_SECRET in environment arguments and they will be added to the project options on startup.GA_AUTH_FILE pointing to your cache file.max is ignored during anti_sample=TRUE (#111)attempt to set an attribute on NULL error for anti-sampleanti_sample="auto" math to actually limit the number of sessions for the auto-batchesdate_range for a view, and max = -1anti_sample_batches to allow accurate day batches. (#74)ga_account_summary broken by upgrade from dplyr 0.5.0 > dplyr 0.7.0testthat to assertthatgoogle_analytics_account_list for ga_account_list to be in line with other functionsga_custom_upload_file()GA_AUTH_FILEga_remarketing_get and ga_remarketing_listaggregateGAData which will aggregate over GA dimensionsantiSampleWorked TRUE/FALSE attribute to tables when anti-sampling attemptedslow_fetch flag to google_analytics_4 that will avoid batching for big complicated fetchesga_users_list for listing users on account, webProperty or View level"https://www.googleapis.com/auth/analytics""https://www.googleapis.com/auth/analytics.readonly""https://www.googleapis.com/auth/analytics.manage.users.readonly""https://www.googleapis.com/auth/analytics.edit""https://www.googleapis.com/auth/analytics.manage.users"aggregateGAData to solve issue with anti_sampling repeating rows (#49)google_analytics_account_list() parsing bug if only one view available (#52, #41)https://mark.shinyapps.io/googleAnalyticsRv4Demo/anti_sample for google_analytics_4() which will split up the calls into efficient batches to avoid sampling. Includes experimental sub-day hourly batching.max = -1 in google_analytics_4() to fetch all results.google_analytics_account_summary parsing when no views in web properties.anti_sample_batches lets you choose batch sizes (daily is equal to anti_sample_batches=1)ga_accountsga_adwordsga_adwords_listga_custom_datasourcega_custom_uploadga_custom_upload_listga_custom_varsga_custom_vars_listga_experimentga_experiment_listga_filterga_filter_listga_filter_viewga_filter_view_listga_goalga_goal_listga_segment_listga_unsampledga_unsampled_listga_viewga_view_listga_webpropertyga_webproperty_listga: (#28)google_analytics_4()gadget_GASegment()google_analytics_bq()