ECO Metrics

ECO provides a robust set of metrics to enable application performance monitoring and user behavior analysis across your web and native applications. Metric values appear as time series and distributions in metric widgets, and alongside dimensional values in the dimension drill-down tables. Selecting different metric widgets changes the metrics in the dimension tables. All metrics are calculated during the selected time interval. ECO supports several metric types:

  • Metrics associated with user flows: helps in the identification of crucial moments in user journeys to optimize applications and improve the user experience. For example, consider the metrics corresponding to the flow from searching for a video to successfully playing it.

  • Custom metrics associated with initial and follow up events: ECO enables three types of custom metrics.

    • Duration Metric: Measures the time interval between two events, such as the duration between the login screen event and the login success event.

    • Conversion Metric: Measures the count or conversion rates of events from one stage to another, such as the count of sessions with successful login after opening the login screen.

    • Event Aggregation Metric: Measures the number of events, or calculates the value of event attributes, such as the average duration of network requests.

Metric Builder provides templates for guided metric creation, cloning existing metrics, and building metrics based on specified settings.

An ECO session starts when any system or user-defined event is received and ends after 90 seconds of inactivity.

Metrics can span a specific interval or a complete session.

  • Session Metrics: Metrics based on data from events that occur throughout sessions that end within the selected time interval, for example App Video Bounce Rate metric from sessions that ended yesterday. If a session starts before the selected time interval but ends within it, the data for that session is still considered for the calculation of the session metrics.

  • Interval Metrics: Metrics based on data from events that occur within a specific interval during sessions, for example, Total Events, the cumulative count of mapped events occurring within a specific interval during sessions.

In addition to the metrics designed by Conviva to optimize your analysis, ECO supports a custom metric builder so you can create customized metrics based on your specific requirements. For more details, see Metric Builder.

Secondary Metric

As primary metrics, Conviva uses a proprietary combination of native and web applications events to provide a rich set of application performance and experience metrics. The Conviva ECO Sensor supports events, such as page_view and network_request.

Selecting a metric widget in ECO also displays a secondary metric that provides a context or related data to help you more completely understand the primary metric. Secondary metrics enhance the interpretation and analysis of primary metrics.

Secondary metrics display in the dimension panel after clicking a metric widget in the metric panel, for example Ended Session Count displays as a secondary metric for App Video Bounce Rate.

Automatically Collected Events and Minimum SDK Versions

           

Android

Min App SDK:
0.5.2

Min Video SDK: 4.0.30

iOS

Min App SDK:
0.2.10

Min Video SDK: 4.0.32

JS SDK

Min App SDK:
0.3.17

Min Video SDK: 4.5.13

C SDK

Min App SDK:
2.183.0.0

Min Video SDK:
n/a

Roku

Min App SDK:
0.2.3

Min Video SDK:
n/a

Automatically Collected Event Event Source          
network request After receiving the network request response Autocollected,
displays in ECO, Device Modeling Dashboard
Autocollected,
displays in ECO, Device Modeling Dashboard
Autocollected,
displays in ECO, Device Modeling Dashboard
Not applicable for devices Report manually

screen_view

On screen interaction, either first launch or re-launch Autocollected,
displays in ECO, Device Modeling Dashboard
Autocollected,
displays in ECO, Device Modeling Dashboard
Not applicable for devices Not applicable for devices Report manually

application_error

On error in application Autocollected,
displays in ECO, Device Modeling Dashboard
Autocollected,
displays in ECO, Device Modeling Dashboard
Autocollected,
displays in ECO, Device Modeling Dashboard
Not applicable for devices Report manually

button_click

On button click callback Autocollected,
displays in ECO, Device Modeling Dashboard
Autocollected,
displays in ECO, Device Modeling Dashboard
Autocollected,
displays in ECO, Device Modeling Dashboard
Not applicable for devices Report manually

application_background

When application moves to the background Autocollected Autocollected Not applicable for devices Not applicable for devices Report manually

application_foreground

When application moves to the foreground Autocollected Autocollected Not applicable for devices Not applicable for devices Report manually

application_install

When application is launched for the first time after install. (not exactly installed time) Autocollected Autocollected Not applicable for devices Not applicable for devices Report manually

deep_link_received

On application open using the UTM URL. Autocollected Autocollected Not applicable for devices Not applicable for devices Report manually

anr_start

When timer starts for the response from the main thread. If more than 4 seconds, event is triggered. Autocollected Report manually Not applicable for devices Not applicable for devices Report manually

anr_stop

When SDK gets response after triggering anr_start, anr_end is dispatched. Autocollected Report manually Not applicable for devices Not applicable for devices Report manually

link_click

On link click callback Report manually Report manually Autocollected Not applicable for devices Report manually

Custom Events

Event Type Semantic Mapping Metric Building Metric in App

Custom Events

  • Map raw events to unified semantics in Semantic Mapper

  • Assign event tag and event value to map events

Use mapped events to build metrics.

 

Metrics based on the mapped events appear in App pages.

Video Seek Events: For example, to track and analyze user behaviors when seeking videos, map the custom events seek_forward, seek_backward, seek_bar_dragged_forwards, and seek_bar_dragged_backwards to an event User seek action.

App Login Events: For example, to track the user login behavior and analyze the login success rate, map the event button_click with the tag key button_click_element_text and the tag value Log in to an event Login Button Click.

Conviva Video Events

Conviva video events (conviva_video_events) are also available using abbreviations as tag keys.

For This Element or Activity

Use this ECO Event Type

Tag Keys

Tag Value

Platform

Example Metrics

Video events

conviva_video_events

an: asset name.

avgbr: average bitrate in kbps.

br: bitrate in kbps.

cen: custom event name.

ced: custom event data.

cl: content length in seconds.

clid: client ID assigned by Conviva to the physical device.

err: error message.

ft: isFatal, a boolean value indicating whether the error is fatal.

fw: framework name in which the media player runs.

fwv: framework version.

iid: instance ID. When several players run on the same device, each player should have a unique instance ID.

lv: isLive, a boolean value indicating whether the content currently playing is Live.

mn: module name

mv: module version

name: device name

newsc: new state change

oldsc: old state change

pn: player name

sid: session id identifying the current session, unique on this client.

sst: session start time as UNIX epoch time in milliseconds.

st: session time from the session start in milliseconds.

c3.sdk.init for Video SDK init

c3.video.attempt for attempt event

c3.video.end for session end event

c3.video.play for play event

c3.video.pause for pause event

c3.video.error for error event (c3.isFatal as true/false)

c3.video.buffering for buffering start event

c3.video.bitrate_switch for bitrate switch event

c3.video.set_content_info for metadata change

c3.sdk.custom_event, c3.video.custom_event for custom event

c3.ad.ad_break_start for ad start

c3.ad.ad_break_end for ad end

CWSStateChangeEvent for audio, subtitle, and closed captions change events

JavaScript

Android

iOS

Roku (coming soon, api required)

Video Attempts

Video Plays

Video Start Failure Error

Video Playback Failure Error

 

Out-of-Box Metrics and Metadata

Quickly get started analyzing your user experiences with out-of-box metrics and metadata.

 

ECO Metrics

Metric Definition Secondary Metrics Supported Sensors
Metrics for Analyzing Only Native Applications Performance

Note: Native applications are applications installed on mobile devices or TVs.

App Crashes

The proportion of sessions with application errors in a native application. This calculation divides the number of sessions containing native application errors by the total native app session count.

Note: Enabling the # mode displays the metric in number format, representing the total count of unique occurrences of the application_error event within a mobile app during the specified time interval.

App
Sessions
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

Avg Screen Load Time

The average duration, measured in seconds, to completely load a screen in a mobile app. The metric is calculated by dividing the total time in seconds for loading screens on a mobile app, starting from the initiation of loading screens to the completion of loading in the mobile screen, by the number of loaded screens.

 

Distribution: App Start Up Complete vs Avg Screen Load Time Distribution: a distribution by preset buckets, where each bucket displays the total screen load complete count in a specified range for corresponding average screen load time. This distribution helps you understand screen load time and app performance, enabling you to optimize both the app and screen.

Screen
Loads
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

Avg App Startup Time

The average duration, measured in seconds, for an app to start. The duration of app startup time is calculated by the Conviva sensor. The average duration of app startup time is calculated by dividing the total launch time in seconds for an app by the number of app startups.

 

Distribution: App Start Up Complete vs Mobile App Startup Time Distribution: a distribution by preset buckets, where each bucket displays the app start up complete count in a specified range for corresponding average duration for an app to start. This distribution helps you to identify performance issues and optimize the performance of apps.

App
Startup
Count
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

App Startup Count

The number of the event app launch during the specified time interval.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

Screen Loads

The number of screen id changes that occurred within the selected time interval.

 

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

Metrics for Analyzing Only Web Applications Performance  
Web Errors

The proportion of sessions with application errors in a web application. This calculation divides the number of sessions containing web application errors by the total web app session count.

Note: Enabling the # mode displays the metric in number format, representing the total count of unique occurrences of the application_error event within a web page during the specified time interval.

App Sessions Conviva JS Sensor
Avg Minutes Per Page

The average duration, measured in minutes, that users spend on each web page. The metric is calculated by dividing the total duration of time users spend on each web page by the number of pages.

 

Distribution: Page Load Complete Count vs Avg Minutes Per Page Distribution: a distribution by preset buckets, where each bucket displays the total page load complete count in a specified range for corresponding average minutes per page. This distribution helps you understand audience engagement with web pages and optimize them accordingly.

Page Loads Conviva JS Sensor
Avg Page Load Time (Old)

The average duration, measured in seconds, of all valid page loads. The metric is calculated by dividing the total time taken to load pages, from the initiation of the page view to the completion of loading in the browser, by the number of loaded pages.

 

Distribution: Page Load Complete Count vs Avg Page Load Time Distribution: a distribution by preset buckets, where each bucket displays the total page load complete count in a specified range for corresponding average page load time. This distribution helps you understand page load time and app performance, enabling you to optimize both the app and page.

Page Loads Conviva JS Sensor
Page Load Complete

The proportion of total count of pages that loaded completely. This calculation divides the total count of pages that loaded completely by the number of page URL changes.

Note: Enabling the # mode displays the metric in number format, representing the total count of pages that loaded completely.

N/A Conviva JS Sensor
Page Loads (Old)

The number of page URL changes that occurred within the selected time interval.

N/A Conviva JS Sensor
Hot App Launches

The count of hot app launches during the selected interval. Hot app launches occur when an app is brought to the foreground on an application without the need to reload the entire app, as the app was already loaded.

N/A Conviva JS Sensor
Page Loads

The number of document loading activities that occurred during the selected interval.

N/A Conviva JS Sensor
Avg Page Load Time

The average duration, in seconds, for a web application to completely load and parse the basic framework of an HTML document.

This metric is calculated by dividing the total duration, in seconds, for a web application to fully load and parse the basic framework of an HTML document by the number of document loading activities.

Distribution: Page Load Count vs Avg Page Load Time

Distribution: a distribution by preset buckets, where each bucket displays the total document load count in a specified range of corresponding document load time. This distribution helps you understand the load performance of web applications, enabling performance optimizations.

Page Loads Conviva JS Sensor
Avg DNS Lookup Time

The average duration, in seconds, for a web application to resolve a domain name to the corresponding IP address.

This metric is calculated by dividing the total duration, in seconds, that a web application takes to resolve a domain name to its corresponding IP address by the number of DNS lookup attempts made.

Distribution: DNS Lookup Count vs Avg DNS Lookup Time

Distribution: a distribution by preset buckets, where each bucket displays the total DNS lookup count in a specified range for corresponding DNS lookup time. This distribution helps you understand DNS lookup performance, enabling you to optimize the web application.

Page Loads Conviva JS Sensor
Avg Document Response Time

The average duration, in seconds, that the application takes to fetch HTML documents, excluding scripts and stylesheets.

The metric is calculated by dividing the total duration, in seconds, that a web application takes to fetch an HTML document by the number of document responses.

Distribution: Document Response Count vs Avg Document Response Time

Distribution: a distribution by preset buckets, where each bucket displays the total document response count in a specified range for corresponding document response time. This distribution helps you understand document response performance, enabling you to optimize the web application.

Page Loads Conviva JS Sensor
Avg Largest Contentful Paint Time

The average duration, in seconds, for the largest content element within the viewport of a webpage to become visible to the user.

The metric is calculated by dividing the total duration, in seconds, from the time loading begins to the time the largest element within the viewport becomes visible to users, by the number of loading activities.

Distribution: Largest Contentful Paint Count vs Avg Largest Contentful Paint Time

Distribution: a distribution by preset buckets, where each bucket displays the total largest contentful paint count in a specified range for corresponding largest contentful paint time. This distribution helps you understand loading time for largest contentful paint time and web performance, enabling you to optimize the web application.

Page Loads Conviva JS Sensor
Avg Perceived Page Load Time

The average duration, in seconds, from the moment an application starts to load the webpage to the moment when the full page, including dynamically loaded content, is drawn on the screen.

This metric is calculated by dividing the total duration, in seconds, from the moment an application starts to load the webpage to the moment when the full page, including dynamically loaded content, is drawn on the screen by the number of loading activities.

Distribution: Perceived Page Load Count vs Avg Perceived Page Load Time

Distribution: a distribution by preset buckets, where each bucket displays the total page load count in a specified range for corresponding page load time. This distribution helps you understand the loading performance for an application starts to load the webpage to the moment when the full page, including dynamically loaded content, is drawn on the screen.

Page Loads Conviva JS Sensor
Exits Before Page View

The proportion of exits that occur before the full page is drawn on the screen. This calculation divides the number of exits that occur before the full page is drawn on the screen by the sum of the exits count and the count of complete loadings.

Note: Enabling the # mode displays the metric in number format, representing the number of exits that occur before the full page is drawn on the screen during the selected interval.

N/A Conviva JS Sensor
Metrics for Analyzing Web and Native Applications Performance

Note: If you integrate both your web and native applications with the Conviva sensor, these metrics are calculated using data from both types of applications.

Active Devices

The total number of devices that generated at least one event within sessions during the specified time interval.

Note: Why do I see difference in values for Active Devices and App Sessions? Previously, only conviva-defined events contributed towards determining whether a particular device is still active. This resulted in not capturing some of the user-defined events in the overall active-session and active-devices computation. Conviva has now made it flexible for users to define what events should be included within a session. With this enhancement, our Metrics Computation Engine now computes both user-defined and conviva-defined events to determine whether a device is Active. This enhancement will temporarily show an elevated change in metric values for Active Devices and App Sessions.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Active Users

The total number of unique users who generated at least one event within sessions during the specified time interval.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Network Request Count

The total number of the network_request event during the specified time interval.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

App Video Bounce Rate

The percentage of sessions that did not include the video attempt event in an app. The metric is calculated as the total number of sessions without the video attempt event in an app, divided by the total number of sessions in the app.

Note:  Need to install the Video SDK to use the metric.

Ended
Session Count
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

App Sessions

The total count of sessions that occurred during the specified time interval.

Note: Why do I see difference in values for Active Devices and App Sessions? Previously, only conviva-defined events contributed towards determining whether a particular device is still active. This resulted in not capturing some of the user-defined events in the overall active-session and active-devices computation. Conviva has now made it flexible for users to define what events should be included within a session. With this enhancement, our Metrics Computation Engine now computes both user-defined and conviva-defined events to determine whether a device is Active. This enhancement will temporarily show an elevated change in metric values for Active Devices and App Sessions.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Avg Network Request Duration

The average duration, measured in seconds, for web servers to handle network requests, including the time taken to receive, process, and respond. This metric is calculated by dividing the total duration of the entire process for web servers to handle network requests by the total number of the network_request event.

 

Distribution: Total Request Count vs Avg Network Request Duration Distribution: a distribution by preset buckets, where each bucket displays the total request count in a specified range for the corresponding average network request duration. This distribution helps you to identify performance issues and optimize the performance of web applications.

Note: Network request is a type of web request that allows web pages to update content dynamically without requiring a full page refresh.

Network
Request Count
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Ended Session Count

The total number of sessions that ended during the specified time interval.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Time To First Attempt

The average duration, measured in seconds, within a session before the first video attempt. This metric is calculated by dividing the total interval time from the “session start” event to the first video attempt event as a type of conviva_video_events by the number of sessions during which the viewer clicked play or the video auto-played generating a video attempt event.

 

Distribution: First Attempt Count vs Time To First Attempt Distribution: a distribution by preset buckets, where each bucket displays the count of first attempt in a specified range for corresponding average duration within a session before the first video attempt. This distribution helps you understand user engagement with videos in your app and optimize their accessibility and visibility.

Note:  Need to install the Video SDK to use the metric.

App
Sessions
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Total Events

The count of mapped events, including both Conviva mapped events and custom mapped events.

Note: A list of mapped events can be viewed in Actviation tabs for Semantic Mapper and Management.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Total Events Per User Active Hour

The average event count per active user hour. The metric is calculated by dividing the total number of events by the total amount of hours users spend actively engaged in a native application or a web application.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Active Time

The total time user spends in app within a single session.

N/A
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor

Network Request Failure

The proportion of total count of failed network requests. This calculation divides the total count of failed network requests by the number of network requests.

This metric is only available for the preset Server Side Performance dashboard.

Note: Enabling the # mode displays the metric in number format, representing the total number of failed network requests during the specified time interval. A network request is classified as failed if its response code is not null, and is outside the range from 100 to 399.

Active Device
  • Conviva Android Sensor

  • Conviva iOS/tvOS Sensor

  • Conviva JS Sensor