[GA4] Automatically collected events

Automatically collected events are triggered by basic interactions with your app and/or site (as indicated under the event name in the table below). As long as you use the Google tag or the Google Analytics for Firebase SDK, you don't need to write any additional code to collect these events.

Analytics collects events for Android and iOS apps unless otherwise stated. The names and parameters of these events can be helpful when accessing your raw event data in BigQuery.

To understand each event parameter listed below and how each parameter updates a dimension or metric in Google Analytics, see Google Analytics event parameters.

Note:

The following are several of the parameters that are collected by default with every event, including custom events:

  • Web stream:
    • language
    • page_location
    • page_referrer
    • page_title
    • screen_resolution
  • App stream:
    • app_version
    • firebase_screen_id
    • firebase_screen_class

The value assigned to event parameters must be 100 characters or fewer. The page_title parameter must be 300 characters or fewer. The page_referrer parameter must be 420 characters or fewer. The page_location parameter must be 1,000 characters or fewer.

If you override the page_location parameter, make sure that the URL path is valid. If you assign an invalid URL path, the Page location dimension will be empty. You can use the Campaign URL Builder to check whether a URL path is valid.

The firebase_screen_id and firebase_screen_class parameters are automatically collected unless you disable screenview tracking.

Event Automatically triggered... Parameters

ad_click

(app)

when a user clicks an ad

Publisher events coming from AdMob via the Google Mobile Ads SDK or Ad Manager via the Ad Manager integration

This event is not exported to BigQuery.

ad_event_id

ad_exposure

(app)

when at least one ad served by the Mobile Ads SDK is on screen

This event does not appear in reports and is not exported to BigQuery.

firebase_screen, firebase_screen_id, firebase_screen_class, exposure_time

ad_impression

(app)

when a user sees an ad impression

Publisher events coming from AdMob via the Google Mobile Ads SDK or Ad Manager via the Ad Manager integration

This event is not exported to BigQuery.

ad_event_id, value*

ad_query

(app)

when an ad request is made by the Mobile Ads SDK

This event does not appear in reports and is not exported to BigQuery.

ad_event_id

ad_reward

(app)

when a reward is granted by a rewarded ad served by the Mobile Ads SDK ad_unit_code, reward_type, reward_value

adunit_exposure

(app)

when an ad unit served by the Mobile Ads SDK is on screen

This 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

(app)

when the user resets/clears the app data, removing all settings and sign-in data

Android only

 

app_exception

(app)

when the app crashes or throws an exception

The event is sent when you integrate Firebase Crashlytics.

fatal, timestamp, engagement_time_msec

app_remove

(app)

when an application package is removed (uninstalled) from an Android device

Android only

This 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

(app)

when an in-app purchase is refunded by Google Play

Android only

This event is not exported to BigQuery.

product_id, value, currency, quantity

app_store_

subscription_cancel

(app)

when a paid subscription is canceled in Google Play

Android only

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, cancellation_reason

app_store_

subscription_convert

(app)

when a free-trial subscription is converted to a paid subscription

This event is set as a default key event.

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

(app)

when a paid subscription is renewed

This event is set as a default key event.

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

(app)

when the app is updated to a new version and launched again

The 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

click

(web)

each time a user clicks a link that leads away from the current domain

By default, outbound click events will occur for all links leading away from the current domain. Links to domains configured for cross-domain measurement will not trigger outbound click events.

The parameters populate the following dimensions:

Collected by default via enhanced measurement.

link_classes, link_domain, link_id, link_url, outbound (boolean)

when a user re-opens the app via a dynamic link

Note: This event is being phased out as Firebase Dynamic Links is currently deprecated. Learn more about these changes.

source, medium, campaign, link_id, accept_time

when the app is updated to a new version and is opened via a dynamic link

Android only

Note: This event is being phased out as Firebase Dynamic Links is currently deprecated. Learn more about these changes.

source, medium, campaign, link_id, accept_time

when a user opens the app for the first time via a dynamic link

Note: This event is being phased out as Firebase Dynamic Links is currently deprecated. Learn more about these changes.

source, medium, campaign, link_id, accept_time

error

(app)

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

file_download

(web)

when a user clicks a link leading to a file (with a common file extension) of the following types:
  • document
  • text
  • executable
  • presentation
  • compressed file
  • video
  • audio

This event is collected by default via enhanced measurement. See the file extensions that trigger the event

file_extension, file_name link_classes, link_id, link_text, link_url

firebase_campaign

(app)

when the app is launched with campaign parameters

source, medium, campaign, term, content, gclid, aclid, cp1, anid, click_timestamp, campaign_info_source

firebase_in_app_

message_action

(app)

when a user takes action on a Firebase In-App Message message_name, message_device_time, message_id

firebase_in_app_

message_dismiss

(app)

when a user dismisses a Firebase In-App Message message_name, message_device_time, message_id

firebase_in_app_

message_impression

(app)

when a user sees a Firebase In-App Message message_name, message_device_time, message_id

first_open

(app)

the first time a user launches an app after installing or re-installing it

This 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 key events 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

(app, web)

the first time a user visits a website or launches an Android instant app with Analytics enabled  

form_start

(web)

the first time a user interacts with a form in a session

Note: You can only use the parameters in your reports if you create custom dimensions for them.

Collected by default via enhanced measurement.

form_id, form_name, form_destination

form_submit

(web)

when the user submits a form

Note: You can only use the parameters in your reports if you create custom dimensions for them.

Collected by default via enhanced measurement.

form_id, form_name, form_destination, form_submit_text

in_app_purchase

(app)

when a user completes an in-app purchase, including an initial subscription, that is processed by the Apple App Store or Google Play Store

The 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. Learn more 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

(app)

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

(app)

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

(app)

when a user opens a notification sent by FCM message_name, message_time, message_device_time, message_id, topic, label, message_channel

notification_receive

(app)

when a notification sent by FCM is received by a device when the app is in the background

Android only

message_name, message_time, message_device_time, message_id, topic, label, message_channel, message_type

os_update

(app)

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

page_view

(web)

each time the page loads or the browser history state is changed by the active site

Collected by default via enhanced measurement.

page_location (page URL), page_referrer (previous page URL), engagement_time_msec

screen_view

(app)

when a screen transition occurs and any of the following criteria are met:
  • No screen was previously set
  • The new screen name differs from the previous screen name
  • The new screen-class name differs from the previous screen-class name
  • The new screen id differs from the previous screen id
firebase_screen, firebase_screen_class, firebase_screen_id, firebase_previous_screen, firebase_previous_class, firebase_previous_id, engagement_time_msec

scroll

(web)

the first time a user reaches the bottom of each page (i.e., when a 90% vertical depth becomes visible)

Collected by default via enhanced measurement.

engagement_time_msec

session_start

(app, web)

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. Learn more

 

user_engagement

(app, web)

when the app is in the foreground or webpage is in focus for at least one second. Learn more

engagement_time_msec

video_complete

(web)

when the video ends

For embedded YouTube videos that have JS API support enabled.

Collected by default via enhanced measurement.

video_current_time, video_duration, video_percent, video_provider, video_title, video_url, visible (boolean)

video_progress

(web)

when the video progresses past 10%, 25%, 50%, and 75% duration time

For embedded YouTube videos that have JS API support enabled.

Collected by default via enhanced measurement.

video_current_time, video_duration, video_percent, video_provider, video_title, video_url, visible (boolean)

video_start

(web)

when the video starts playing

For embedded YouTube videos that have JS API support enabled.

Collected by default via enhanced measurement.

video_current_time, video_duration, video_percent, video_provider, video_title, video_url, visible (boolean)

view_search_results

(web)

each time a user performs a site search, indicated by the presence of a URL query parameter

Collected by default via enhanced measurement.

search_term, optionally ‘q_<additional key="">’ (where <additional key=""> matches an additional query parameter you specify to be collected under advanced settings)

Note: This event only sends the unique_search_term parameter when it has a value of 1 (i.e. when the string is unique to that session).

Note: File extensions that match the following regex will trigger the file_download event:

pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma

* No ad_impression value or currency is passed with the default integration

Was this helpful?

How can we improve it?
Search
Clear search
Close search
Main menu
1761028686370018745
true
Search Help Center
true
true
true
true
true
69256
false
false