Activity Stream Telemetry - my-swift-lab/firefox-ios GitHub Wiki

The New Tab experience for Activity Stream on iOS makes use of a Swift version of the Ping Centre for sending data to our telemetry servers.

All pings for the New Tab screen contain the following information (source):

Field Name Type Description Example
app_version String Version of Firefox for iOS 7.0
build String Build number of Firefox for iOS 2431
locale String User's device locale en_US
release_channel String Release channel of the build is using beta

Event Data 👉📱

There are two types of events we currently send:

  • Action events are sent when a user interacts with an element on the New Tab page
  • Bad State events are sent after we try to populate highlights with missing image/textual data

Action Events

Action events add the following to the base event data:

Field Name Type Description
event String The type of interaction the user invoked
page String The panel the user was on (Only set to NEW_TAB)
source String The section/source of the event
action_position Integer Index of the item the user interacted with

event can be one of the following (source):

Field Name Description
CLICK Clicked/tapped an item on the New Tab panel
DELETE Deleted an item from their top sites or highlights
DISMISS Dismissed an item from their top sites or highlights
SHARE Invoked the share menu from an item on the panel
NEW_TAB Opened a new tab using the selected item's link
NEW_PRIVATE_TAB Opened a new private tab using the selected item's link
ADD_BOOKMARK Added item to bookmarks
REMOVE_BOOKMARK Removed item from bookmarks
REMOVE Removed item from top sites

source reflects the section the event originated from: TOP_SITES, HIGHLIGHTS, HIGHLIGHTS_INTRO

Bad State Events ❗️

Bad state events contain following (source):

Field Name Type Description
event String The type of interaction the user invoked
page String The panel the user was on (Only set to NEW_TAB)
source String The section/source of the event

source and page have the same possible values as the Action events.

events can be one of the following: MISSING_METADATA_IMAGE, MISSING_FAVICON

Session Data 🕗

We currently only track sessions for the New Tab panel. The session is started when the panel appears and ends when the user navigates away from it. The ping is sent only when the session is ended.

The only additional information we send is the session_duration measured in milliseconds.