Update time: January 12, 2025
Meet Automatically Collected Events
Automatically collected events are events that will be automatically collected without you having to make any settings after you install the GA4 tracking code or integrate the SDK.
This data will be displayed in the event report in GA4:
Automatically Collected Events Categories
Automatically collected events can be divided into Web and APP.
Web
Event | Automatically triggered… | Parameters |
---|---|---|
first_visit | the first time a user visits a website or launches an Android instant app with Analytics enabled | |
page_view | each time the page loads or the browser history state is changed by the active site | page_location (page URL), page_referrer (previous page URL), engagement_time_msec |
session_start | when a user engages the app or website, A session ID and session number are generated automatically with each session and associated with each event in the session. | |
user_engagement | when the app is in the foreground or webpage is in focus for at least one second. | engagement_time_msec |
Note: page_view is not an automatic collection event, but an enhanced measurement event, but it cannot be turned off, so it is collected by default and can be divided into automatically collected events.
The automatically collected events are subject to change, and the official ones shall prevail.
APP
Event | Automatically triggered… | Parameters |
---|---|---|
ad_click | when a user clicks an adPublisher events coming from AdMob via the Google Mobile Ads SDKThis event is not exported to BigQuery. | ad_event_id |
ad_exposure | when at least one ad served by the Mobile Ads SDK is on screenThis event does not appear in reports and is not exported to BigQuery. | firebase_screen, firebase_screen_id, firebase_screen_class, exposure_time |
ad_impression | when a user sees an ad impressionPublisher events coming from AdMob via the Google Mobile Ads SDKThis event is not exported to BigQuery. | ad_event_id, value |
ad_query | when an ad request is made by the Mobile Ads SDKThis event does not appear in reports and is not exported to BigQuery. | ad_event_id |
ad_reward | when a reward is granted by a rewarded ad served by the Mobile Ads SDK | ad_unit_code, reward_type, reward_value |
adunit_exposure | when an ad unit served by the Mobile Ads SDK is on screenThis event does not appear in reports and is not exported to BigQuery. | firebase_screen, firebase_screen_id, firebase_screen_class, exposure_time |
app_clear_data | when the user resets/clears the app data, removing all settings and sign-in dataAndroid only | |
app_exception | when the app crashes or throws an exception | fatal, timestamp, engagement_time_msec |
app_remove | when an application package is removed (uninstalled) from an Android deviceAndroid onlyThis event is different from the Daily uninstalls by device and Daily uninstalls by user metrics, which are both reported by Google Play Developer Console. The app_remove event counts the removal of application packages, regardless of the installation source, and the count changes depending on the date range you are using for the report. The Daily uninstalls by device and Daily uninstalls by user metrics count the removal of application packages only when they were installed from Google Play, and are reported on a daily basis. | |
app_store_refund | when an in-app purchase is refunded by Google PlayAndroid onlyThis event is not exported to BigQuery. | product_id, value, currency, quantity |
app_store_subscription_cancel | when a paid subscription is cancelled in Google PlayAndroid onlyRequires an initial subscription that was made on or after July 1, 2019.This event is not exported to BigQuery. | product_id, price, value, currency, cancellation_reason |
app_store_subscription_convert | when a free-trial subscription is converted to a paid subscriptionThis event is set as a default conversion.Requires an initial subscription that was made on or after July 1, 2019. An initial free-trial subscription is logged as an in_app_purchase with the subscription parameter set to true.This event is not exported to BigQuery. | product_id, price, value, currency, quantity |
app_store_subscription_renew | when a paid subscription is renewedThis event is set as a default conversion.Requires an initial subscription that was made on or after July 1, 2019.This event is not exported to BigQuery. | product_id, price, value, currency, quantity, renewal_count |
app_update | when the app is updated to a new version and launched againThe previous app version id is passed as a parameter.This event is conceptually different from the Daily upgrades by device metric, which is reported by Google Play Developer Console. An upgrade refers to the updating of the application binary, whereas an app_update event is triggered upon the subsequent launch of the upgraded app. | previous_app_version |
dynamic_link_app_open | when a user re-opens the app via a dynamic link | source, medium, campaign, link_id, accept_time |
dynamic_link_app_update | when the app is updated to a new version and is opened via a dynamic linkAndroid only | source, medium, campaign, link_id, accept_time |
dynamic_link_first_open | when a user opens the app for the first time via a dynamic link | source, medium, campaign, link_id, accept_time |
error | logged in place of an event that can’t be logged because it is invalid in some way_err (firebase_error), _ev (firebase_error_value), and _el (firebase_error_length) parameters have additional information.This event does not appear in reports and is not exported to BigQuery. | firebase_error, firebase_error_value |
firebase_campaign | when the app is launched with campaign parametersThis event does not appear in reports and is not exported to BigQuery. | source, medium, campaign, term, content, gclid, aclid, cp1, anid, click_timestamp, campaign_info_source |
firebase_in_app_message_action | when a user takes action on a Firebase In-App Message | message_name, message_device_time, message_id |
firebase_in_app_message_dismiss | when a user dismisses a Firebase In-App Message | message_name, message_device_time, message_id |
firebase_in_app_message_impression | when a user sees a Firebase In-App Message | message_name, message_device_time, message_id |
first_open | the first time a user launches an app after installing or re-installing itThis event is not triggered when a user downloads the app onto a device, but instead when he or she first uses it. To see raw download numbers, look in Google Play Developer Console or in iTunesConnect.Supports measuring first_open conversions for users who accept Apple’s iOS 14 app-tracking prompt. | previous_gmp_app_id, updated_with_analytics, previous_first_open_count, system_app, system_app_update, deferred_analytics_collection, reset_analytics_cause, engagement_time_msec |
first_visit | the first time a user visits a website or launches an Android instant app with Analytics enabled | |
in_app_purchase | when a user completes an in-app purchase, including an initial subscription, that is processed by the Apple App Store or Google Play StoreThe product ID, product name, currency, and quantity are passed as parameters.This event is triggered only by versions of your app that include the Google Analytics for Firebase SDK.Android:To see in-app purchase data for Android apps, link Analytics to Google Play.Note that Analytics doesn’t automatically measure paid-app purchase revenue. Also, your reported revenue in Google Analytics may differ from the values you see in the Google Play Developer Console.Analytics ignores events that are flagged as invalid or tests.about testing Google Play billing.iOS:Note that Analytics doesn’t automatically measure paid-app purchase revenue and refunds.Analytics ignores events that are flagged as invalid or sandbox. | product_id, price, value, currency, quantity, subscription, free_trial, introductory_price |
notification_dismiss | when a user dismisses a notification sent by Firebase Cloud Messaging (FCM)Android only | message_name, message_time, message_device_time, message_id, topic, label, message_channel |
notification_foreground | when a notification sent by FCM is received while the app is in the foreground | message_name, message_time, message_device_time, message_id, topic, label, message_channel, message_type |
notification_open | when a user opens a notification sent by FCM | message_name, message_time, message_device_time, message_id, topic, label, message_channel |
notification_receive | when a notification sent by FCM is received by a device when the app is in the backgroundAndroid only | message_name, message_time, message_device_time, message_id, topic, label, message_channel, message_type |
notification_send | when a notification is sent by FCMAndroid only | message_name, message_time, message_device_time, message_id, topic, label, message_channel |
os_update | when the device operating system is updated to a new version. The previous operating system version id is passed as a parameter | previous_os_version |
screen_view | when a screen transition occurs and any of the following criteria are met:
|
firebase_screen, firebase_screen_class, firebase_screen_id, firebase_previous_screen, firebase_previous_class, firebase_previous_id, engagement_time_msec |
session_start | when a user engages the app or websiteA session ID and session number are generated automatically with each session and associated with each event in the session. | |
user_engagement | when the app is in the foreground or webpage is in focus for at least one second. | engagement_time_msec |
Default Event Parameters
As you can see from the previous categories, the event parameters of different automatically collected events are different.
But all events (not only automatically collected events, but also all other events) will have some default event parameters. The default event parameters do not exceed 100 characters, with some exceptions:
Web | APP | |
---|---|---|
Default Event Parameters |
|
|
The official recommendation is: Do not overwrite (customize) the default event parameters, because it may cause the event parameters to be empty. If your event parameters are empty, check whether they have been overwritten.
View Automatically Collected Event data in GA4
In GA4, click 「Reports」——「User Lifecycle」——「User engagement & retention」——「Events」 to see:
Read More:
- GA4 Event Tracking Series ⓪ —— Rules and Limits for GA4 Events
- GA4 Event Tracking Series ① —— Automatically Collected Events
- GA4 Event Tracking Series ② —— Enhanced Measurement Events
- GA4 Event Tracking Series ③ —— Recommended Events
- GA4 Event Tracking Series ④ —— Custom Events (gtag Method)
- GA4 Event Tracking Series ⑤ —— Custom Events (Attributes Method)
- GA4 Event Tracking Series ⑦ —— Custom Events (addEventListener Method)
- GA4 Event Tracking Series ⑧ —— Custom Events (jQuery Method)
- GA4 Event Tracking Series ⑨ —— Custom Events (ga-data Method)
- GA4 Event Tracking Series ⑩ —— Custom Events (dataLayer.push Method)
- GA4 Event Tracking Series ⑪ —— Create Event(Codeless Event Tracking)
- GA4 Event Tracking Series ⑫ —— Modify Event