I'm doing some research around the user_engagement event in Firebase Analytics for apps.
In BigQuery, with a query I produced some event data. Hereby, I included the following columns:
- The value of standard Firebase fields: event_name, user_pseudo_id, event_timestamp (for information about these fields, see https://support.google.com/firebase/answer/7029846?hl=en)
- pa_session_id: The value of parameter 'session_id' which is sent with each event.
- pa_engagement_time_msec: The value of the parameter 'engagement_time_msec', which is sent with each user_engagement event, and which is defined by Google as 'The additional engagement time (ms) since the last user_engagement event', see also https://support.google.com/firebase/answer/7061705?hl=en.
- 'event_previous_timestamp_own_calc' and 'pa_engagement_time_msec_own_calc': Custom calculated versions of the original fields 'event_previous_timestamp' and 'engagement_time_msec', where I did custom calculations myself to compare with the original fields.
See an extract of the dataset in the attached screenshot below, where I filtered on a specific user_pseudo_id to make my point and ask questions about. I didn't do any other filtering in the data. The data is sorted on the timestamp.
My focus is on the event user_engagement. Analyzing the data I noticed several things, and have questions around them:
- The user_engagement event is described by Google as 'periodically, while the app is in the foreground', see also https://support.google.com/firebase/answer/6317485?hl=en. From the data, it seems the time interval between the user_engagement events is rather irregular. QUESTION 1: Could this be explained somehow, and what is the exact logic of the moment when a user_engagement event will be fired?
- In some cases, the value of pa_engagement_time_msec seems incorrect. See also the yellow marked rows as examples, and the red marked values which seem to be incorrect. For the top yellow marked row, pa_engagement_time_msec should be 3075, not 2823. QUESTION 2: Could this be explained somehow? Or is it a bug by Google?
Does anyone know the answers on the 2 questions above?