Skip to main content

Page and screen engagement

Page or screen activity (engagement) tracking enables you to measure the time users spent engaged on a page or screen and the extent of the page/screen they viewed. There are two mechanisms that the activity tracking is implemented:

  1. Using page ping events on Web.
  2. Using the screen summary entity on mobile.

On Web using page ping eventsโ€‹

Page pings are used to record users engaging with content on a web page after it has originally loaded. For example, it can be used to track how far down an article a user scrolls.

If enabled, the activity tracking function checks for engagement with a page after load. (E.g. mousemovement, scrolling etc...).

Page pings are identified byย e=pp. As well as all the standard web fields, there are four additional fields thatย ppย includes, which are used to identify how users are scrolling over web pages:

Atomic Table ColumnTypeDescription
pp_xoffset_minintegerMinimum page x offset seen in the last ping period
pp_xoffset_maxintegerMaximum page x offset seen in the last ping period
pp_yoffset_minintegerMinimum page y offset seen in the last ping period
pp_yoffset_maxintegerMaximum page y offset seen in the last ping period

On mobileโ€‹

note

Screen engagement tracking is available for native Android and iOS apps starting with version 6 of the trackers.

Screen engagement information is tracked on our mobile trackers in the screen_summary context entity. The entity is tracked along with these events:

  1. application_foreground and application_background events (see lifecycle events).
  2. screen_end event (see below).

Screen summary entityโ€‹

Entity that contains the screen engagement information.

Context entity: screen_summary

Schema for an entity tracked with foreground/background/screen_end events with summary statistics about the screen view

Schema URI:iglu:com.snowplowanalytics.mobile/screen_summary/jsonschema/1-0-0

WebMobileTracked automatically
โŒโœ…โœ…
๐Ÿ‘€ Example
{
"foreground_sec": 10.2,
"background_sec": 3.1,
"last_item_index": 11,
"items_count": 50,
"min_x_offset": 0,
"max_x_offset": 400,
"min_y_offset": 0,
"max_y_offset": 1000,
"content_width": 400,
"content_height": 5000
}
๐Ÿ“ƒ Schema properties definition
PropertyTypeDescriptionRequired?
foreground_sec"number"Time in seconds spent on the current screen while the app was in foregroundโœ…
background_sec["number","null"]Time in seconds spent on the current screen while the app was in backgroundโŒ
last_item_index["integer","null"]Index of the last viewed item in the list on the screenโŒ
items_count["integer","null"]Total number of items in the list on the screenโŒ
min_x_offset["integer","null"]Minimum horizontal scroll offset on the scroll view in pixelsโŒ
max_x_offset["integer","null"]Maximum horizontal scroll offset on the scroll view in pixelsโŒ
min_y_offset["integer","null"]Minimum vertical scroll offset on the scroll view in pixelsโŒ
max_y_offset["integer","null"]Maximum vertical scroll offset on the scroll view in pixelsโŒ
content_width["integer","null"]Width of the scroll view in pixelsโŒ
content_height["integer","null"]Height of the scroll view in pixelsโŒ

Screen end eventโ€‹

This event is tracked automatically by the mobile trackers just before the transition to the next screen.

The event has no properties.

Event: screen_end

Schema for an event tracked before transitioning to a new screen

Schema URI:iglu:com.snowplowanalytics.mobile/screen_end/jsonschema/1-0-0

WebMobileTracked automatically
โŒโœ…โœ…
๐Ÿ“ƒ Schema properties definition
PropertyTypeDescriptionRequired?
โ“ How to query the event in the warehouse?
select
unstruct_event_com_snowplowanalytics_mobile_screen_end_1_0_0
from
PIPELINE_NAME.events events
where
events.collector_tstamp > timestamp_sub(current_timestamp(), interval 1 hour)
and events.event = 'unstruct'
and events.event_name = 'screen_end'
and events.event_vendor = 'com.snowplowanalytics.mobile'

How to trackโ€‹

To track page activity on Web, see the activity tracking documentation.

To track screen engagement on mobile, see the screen engagement documentation.

Use in modelingโ€‹

Page and screen activity events are used by our Snowplow Unified Package (starting from version 0.2.0) to calculate page engagement metrics. The Snowplow Web Package can process page ping events.