Ooyala IQ (Analytics) FAQ

Frequently asked questions about Ooyala IQ analytics.

General

Q: What is Ooyala IQ?

A: Ooyala IQ is Ooyala’s new video analytics product built on top of our reliable, robust, and scalable big data architecture, providing real-time analytics as well as multi-dimensional analytics capabilities to provide a full 360 degree view of video consumption and engagement patterns. It is a major upgrade to the existing Ooyala Analytics product and will be available for all Ooyala customers at no additional cost.

Q: How is it different from your previous Analytics product?

A: A key difference is that Ooyala IQ enables multi-dimensional analysis with no pre-configuration of reports needed. You can now see more than one set of data at a time. For example, the Content Programming team can now see data filtered by Label and by Device Type at the same time to understand the consumption patterns in a group of videos (e.g. sports content) consumed on mobile devices versus desktop. In our previous industry-leading analytics product, you could only investigate one set of data at a time.

This powerful functionality is reflected in the new v3 Analytics API and the Business Intelligence page in Ooyala IQ UI. The Business Intelligence page gives you one consolidated console with metrics for asset or label, device (platform and OS and browser), geo (country, region, state/province, DMA), player, and traffic source, centralizing the investigation of all aspects of your video consumption on a single page, and allowing you to drill down into more details as necessary. For details on the product differences, please see the chart below.

Q: What are the new features that I should care about and why?

A: The following capabilities are new:
  1. Newly designed user interface built on HTML:

    The new HTML UI removes the reliance on a Flash plugin, provides the ability to access IQ on various devices (e.g. iPad), and offers performance improvements.

  2. New multi-dimensional analytics capability:

    With Ooyala’s new multi-dimensional querying capability, you can now run analytics across multiple dimensions, including Device Type (e.g. Mobile, Tablet, Desktop, Set-top Box, etc.) or OS/Browser, Geography (Country, Region, State/Province, DMA), Domain, Player, Asset or Label. This will help address your more complex business questions such as “How many unique viewers from the United States and Canada do I have for a subset of videos consumed on Tablet - iOS during the last month”?

  3. New Video Details page:

    The new Video Details page will give you a holistic, detailed view into the performance of an asset. Apart from uniques and engagement data, you’ll now be able to view key asset metadata, key performance metrics for the asset, and asset consumption broken down by each dimension. You can access the Video Details page directly from either the Dashboard or the Business Intelligence page simply by clicking on the asset. This increased accessibility, along with detailed performance of a specific asset, allows you to quickly identify consumption and engagement patterns for that asset.

  4. Real-time statistics for top 100 videos:

    The new real-time Dashboard in Ooyala IQ will show you the top 100 videos and their viewership data in real time, while the old analytics product only showed the top three videos.

  5. Improved reporting:
    • Metrics are more accurately defined and calculated;
    • Geography and device reporting are provided via more accurate technologies;
    • Algorithms for counting unique users are improved and reporting of unique users now span a longer date range;
    • Built on more robust, scalable and performant big data architecture.
  6. New metrics and new dimensions:

    See the next question for details.

Q: What are the new metrics and dimensions in Ooyala IQ?

A: The following new metrics and dimensions have been added.
  • Video Starts. “Video Starts” indicate when the actual video content starts playing. If pre-roll ads are played, a “video start” would only be counted when all pre-roll ads are completed and the actual video content starts playing. By comparing Plays Requested (referred to as Plays in the old v2 analytics) and Video Starts, you will be able to see the viewer drop-off due to pre-roll ads.
  • Player Dimension. The Player dimension can be used in multiple ways. Players can be used to report:
    1. the playback metrics for syndication partners (by creating a player for each syndication partner you wish to track)
    2. performance within different sections of your website (by creating a player for each section)
    3. performance due to a change in the player (by creating players with and without the player configuration such as different ad load, enablement of the Discovery content recommendation tool, or simply a change to the player UI)

Q: Where can I find documentation on the Ooyala IQ user interface and API?

Q: The numbers I'm getting from my ad provider do not match the number of plays and displays in Ooyala Analytics. Why is this happening?

A: The statistics from Google or your ad provider have no direct relation to the statistics provided by Ooyala; you cannot make a direct comparison among them because every system calculates statistics in a unique way, due to variations in underlying data and lack of industry-wide standards for these calculations and data points. This is like comparing the proverbial apples to the proverbial oranges. For explanations of their statistics, you need to contact your ad providers directly. In addition, errors in implementation, such as specifying Google analytics tags twice in your web pages, can cause apparent discrepancies with Ooyala’s data. As a courtesy to our customers, Ooyala displays some ad providers’ statistics directly in Backlot; however, the statistics are calculated by the ad provider, not by Ooyala.

Q: The numbers from Google Analytics do match the number of Plays and Displays in Ooyala Analytics. What is happening?

A: The statistics from Google or your ad provider have no direct relation to the statistics provided by Ooyala; you cannot make a direct comparison among them because every system calculates statistics in a unique way, due to variations in underlying data and lack of industry-wide standards for these calculations and data points. This is like comparing the proverbial apples to the proverbial oranges. For explanations of their statistics, you need to contact your ad providers directly. In addition, errors in implementation, such as specifying Google analytics tags twice in your web pages, can cause apparent discrepancies with Ooyala’s data. As a courtesy to our customers, Ooyala displays some ad providers’ statistics directly in Backlot; however, the statistics are calculated by the ad provider, not by Ooyala.

Q: Is analytics data available for closed caption usage?

A: No, Ooyala does not provide analytics for closed caption usage.

Using Ooyala IQ with Third Party (non-Ooyala) Players

Q: Can I use Ooyala IQ with any third party player? Are there any limitations on what players I can integrate with?

A: With this release, IQ has the capability to receive analytics from any streaming device and any player. You can integrate Ooyala IQ with third-party players for web-based platforms and OSs supporting JavaScript using the Ooyala IQ JavaScript SDK. You can also integrate with devices that do not support JavaScript using the Ooyala IQ JSON API. Integrate Ooyala IQ with Roku devices with the Ooyala IQ Roku SDK.

Q: What third-party player platforms does Ooyala IQ support currently with out-of-the-box integrations?

A: Ooyala IQ currently supports out-of-the-box integrations (adapters and SDKs) for the following platforms and third-party players:
  • Roku (OSv7+)
  • Xbox One
  • Brightcove player
  • FlowPlayer player
  • HTML5 video tag player
  • JW Player
  • Kaltura player
  • YouTube player
An out-of-the-box integration for AppleTV is coming soon. If you use Ooyala's upcoming tvOS SDK, Ooyala IQ will support AppleTV analytics out-of-the-box. If you don't use the upcoming Ooyala tvOS SDK, (for example, apps being developed for AppleTV using their native tvOS, not Ooyala's), you will need to connect with the Ooyala IQ Javascript JSDK. Ooyala PSG can perform this integration for a fee.

You can still integrate Ooyala IQ with any device or player (like FireTV, Sony Playstation, and other streaming devices) by integrating with the Ooyala IQ JSON API or JavaScript SDK for JavaScript-enabled platforms.

Q: Can I use the Ooyala player and third party players in the same provider account?

A: For Ooyala assets, you can now use one Backlot account to view metrics for Ooyala and third-party players. You can use one Backlot account and see consolidated mixed player analytics in one IQ dashboard. For third-party assets, you will need a separate provider account.

Q: Can I have a sub-account for my different third-party players where the IQ data in the master account would be an aggregate of both?

A: Yes. If you have one Backlot account to host assets (or assets' metadata only) for your Roku player and another Backlot account to host assets (or assets' metadata only) for your JW Player, you can have two sub-accounts with one master account to control them.

Q: How does the value for Unique Users get calculated?

A: If you are already using Ooyala as your OVP for some properties, we use the equivalent of a Device ID or sub-account properties (which may be using a third party OVP). If the user was anonymous (not logged in) we use a tracking ID assigned to a user. It is not recommended to use a user UUID that represents a logged-in user.

Q: Can I use Discovery with my non-Ooyala player?

A: No. Discovery currently does not support players other than Ooyala. This applies to both the in-player Discovery experience and the Discovery APIs. If you manage multiple sites/properties, and use the Ooyala player for one or more of those sites, Discovery is available for them alone.

Q: For the "Player" Dimension in the BI page of the IQ UI, what will render in the "Player" dimension my accounts?

A: You will see the player name as the Player dimension (for example, JW Player).

Q: On the Asset Details page there is an area where you can play an asset and see the segments watched graph progress in real time. Will I be able to capture that data with a third-party (non-Ooyala) player?

A: On the Asset Details page, we only load an Ooyala player. We will not render a third-party player in that page. However, we do support using the Ooyala player to play the video assets as long as you ingest the asset URL, similar to how we can use the Ooyala player to play a remote asset. You will see the segments watched bar progress in real time. If you don’t ingest the asset URL, we cannot play it.

What do I have to host and what does Ooyala host?

A: For the JavaScript SDK and adapters for JavaScript-enabled players, Ooyala hosts the JavaScript libraries. For the Ooyala IQ SDK for Roku and SDK for Xbox, Ooyala hosts the Ooyala IQ SDKs for Roku and Xbox on GitHub (where you can download the library). The Ooyala IQ SDK for Roku and SDK for Xbox must be an integral part of your Roku channel package and Xbox app package, because it cannot be downloaded to a Roku box or Xbox on the fly as you can with the JavaScript SDK on web pages.

Q: What happens when my non-Ooyala player is updated? Will I need to make changes to how the IQ SDK is implemented?

A: If your player is updated or changed, you will need to test and verify the SDK integration to ensure nothing is broken.

Ooyala IQ JSON API

Q: What are the major advantages to use JSON data format in IQ data ingestion API?

A: JSON is an open-standard data format that is language independent making it easy to read and write. It enables IQ to “receive” player events and data from any device/player. In addition, JSON’s attribute-value pairs can be easily expanded to support ingesting additional data fields, such as custom dimensions, custom events, and so on.

Q: Are there limitations on who can start using the Ooyala IQ JSON API?

A: No, anyone can use this API (existing Ooyala CMS customers, new Ooyala CMS customers, standalone customers, and so on).

Q: When will JSON API be integrated to Player V4?

A: The JSON API will be integrated with Player V4 in the second half of 2016 as more customers start using Player V4.

Q: The Ooyala IQ JSON API documentation states that you can set GeoInfo (country, region, state, and so on). If this is not set, does Ooyala still report on this information? If this is set, does this overwrite Ooyala's standard geo reporting?

A: Yes and yes. Ooyala uses Quova to derive geo information from ip addresses, but if this is set manually, the manually set value will overwrite the Quova value.

Q: What version of Roku is supported with the Ooyala IQ SDK for Roku?

A: The Ooyala IQ SDK for Roku supports the Roku OS v7+

Note: The Ooyala IQ SDK for Roku currently does not support the Roku Scene Graph API.

Q: What version of Xbox is supported with the Ooyala IQ SDK for Xbox?

A: The Ooyala IQ SDK for Xbox supports Xbox One.

Q: Will the Ooyala IQ SDK for Roku take care of event mapping?

A: Yes, if you use the IQ class properly in the Roku event loop, event mapping will be correct.

Ooyala IQ JavaScript SDK

Q: What is the difference between the IQ JavaScript SDK and the player-specific adapter?

A: The IQ JavaScript SDK is an SDK that interacts with the backend of Ooyala IQ. The player-specific adapter is an adapter that bridges a third-party player with the IQ JavaScript SDK.

Q: Will the Ooyala-built adapters for standard third-party players (JavaScript-based) support changes in the Player APIs and version upgrades in an on-going fashion?

A: Yes, Ooyala will support player API updates and the adapters will be revised to support the changes to the standard third-party players.

Q: What do I need to know about the third-party player to write an adapter for it?

A: To write an adapter for a third-party player you need to understand the third-party player's event APIs or eventing mechanism. This will help you map the player's events to the Ooyala IQ JavaScript SDK or JSON SDK.

Q: The Ooyala IQ JavaScript SDK documentation says that I should call the method reportPlayRequested when the playback of the video has been requested. Do I need to distinguish between play and resume?

A: Yes, you need to distinguish between these two cases. A play is when the user clicks the play button for the first time on the player and a resume should be counted when the user clicks play after the video has been in the paused state.

Q: What should I do if I have a playlist with multiple videos in it that get played on the same player? Do the events get re-counted?

A: You should call the method initualizeMedia for each video that gets played on the player. This will ensure that events are counted for each video. Even though the same player is used to play multiple videos, each video should go through the same event lifecycle and have all of the event methods called (initializeMedia, setMediaDuration, reportPlayRequested, etc.).

Q: How often should I call reportPlayHeadUpdate for the Ooyala IQ JavaScript SDK?

A: You should call reportPlayHeadUpdate frequently (every 2-3 seconds).

Q: What is the flow if the user changes to a different video with the next button? If I'm using the Ooyala IQ JavaScript SDK, should I call reportComplete in this use case where the media did not finish?

A: No. If the media did not finish, do not call reportComplete. You should call initializeMedia for the new video and call the rest of the event methods for the new video (initializeMedia, setMediaDuration, reportPlayRequested, etc.).

Q: How should I test my third-party player adapter?

A: Contact your Ooyala representative to engage your CSM or technical support to test your adapter.

Customer Migration

Q: How much historical data will I have access to once I migrate to Ooyala IQ?

A: For all customers, data from January 1, 2014 to present will be available.

Q: Can I have access to more historical data?

A: Data from before January 1, 2014 is no longer available, since the Export feature in the v2 Analytics UI has been disabled, and the v2 Analytics API has been deprecated since June 30, 2016.

Q: Has the old v2 Analytics API been turned off?

A: Yes. The old v2 Analytics API has been deprecated since June 30, 2016.

Q: Will I have access to the old Analytics UI after I migrate to Ooyala IQ?

A: No, once you’ve been fully enabled and migrated over to Ooyala IQ you will no longer have access to the v2 Analytics UI. You will no longer see the old Analytics tab and old Now tab in the Backlot UI. Instead, you will see a new Analytics tab, which includes IQ’s Dashboard and IQ’s Business Intelligence page as sub-tabs.

Q: Will there be any differences between the data in Ooyala IQ and the data in the old analytics?

A: Yes, there might be. This is for a number of reasons.
  1. Due to the re-processing of data to accommodate the multi-dimensional capabilities, the aggregation of the data may result in slightly different values than in the old analytics product. We are also using a new architecture in Ooyala IQ which results in better error handling.
  2. Ooyala IQ uses a more accurate Geography reporting service than the old analytics product.
  3. Ooyala IQ uses a more accurate Device profiling provider than the old analytics product, so the reporting data across devices and OSes may differ.
  4. The metrics are defined more accurately in Ooyala IQ. Metrics with new definitions or bug fixes in calculation include playthrough and unique users. For a detailed explanation of how the calculation of these metrics has changed, please see the section titled “Potential Differences in the Data” in the Ooyala IQ User Guide.

Q: Will there be any features which will no longer be supported?

A: There will be a few items which will be deprecated from Ooyala IQ:
  • City ― city will no longer be supported. Country, region, state/province and DMA will continue to be supported.
  • Social sharing (UI) ― social sharing metrics will be made available only via the v3 Analytics API and no longer be supported in the UI.

Q: I need to be able to see city and custom tags. How can I continue to receive those?

A: You will be able to access city and custom tags before you officially migrate to the Ooyala IQ. After you switch over, that data will no longer be available in the new product but will continue to be accessible via the old v2 Analytics API until about 6 months after the start of your migration to Ooyala IQ..

Product

Q: I’m excited to use the multi-dimensional analytics capability of Ooyala IQ but I can’t find it in the UI. Where is it?

A: The new multi-dimensional capabilities are available via the filtering tool on the Business Intelligence page.
  1. Look for the filter icon next to either the Device, Geography, Asset, Player, or Traffic Source panels.
  2. Click on the filter icon and select the item(s) to filter.
  3. Click ‘Apply’.
  4. Repeat with another dimension.

Q: What is the timezone for “Today” from “Users Today” on the Dashboard?

A: The timezone is the provider's timezone.

Q: On the “Player” section of the dashboard, what players are, and are not, displayed?

A: Any V3 player that is created and defined in Backlot and any third-party players that are enabled to integrate with Ooyala IQ will be displayed. Mobile SDKs and v2 players are not currently supported, and are shown as unknown in the Player panel.

Q: My count for video starts is greater than my count for plays requested when I look at dates prior to November 12, 2014. What’s going on?

A: We have improved our calculation of Plays Requested and Video Starts since November 11, 2014. You may see the number of Plays Requested from your HTML5 and SDK players increase on/after 11/11/2014 due to this implementation. You may see the number of Video Starts from your HTML5 and SDK players decrease on/after 11/11/2014 due to this implementation.

Q: To what level of granularity can I see data in the Ooyala IQ?

A: Ooyala IQ provides daily level aggregation of data. The data shown on the Dashboard (referred to as ‘Ooyala Now’ in the old analytics) will continue to be delivered on a real-time basis but will not be available for querying through the API..

Q: How do I export reports?

A: Click the download button next to the report you want to export. The report will be downloaded as CSV file. Note that if you’ve filtered the data, you will only see data for the resulting dataset.

Q: When I try to query unlimited data for the asset dimension I keep getting an error message. My query is https://api.ooyala.com/v3/analytics/reports/?report_type=performance&dimensions=asset&metrics=plays_requested&start_date=2014-10-10&end_date=2014-10-20&api_key=myApiKey&expires=myExpiration& signature=mySignature Why is this happening?.

A: You are receiving an error message because you did not specify the page or limit parameters in your query.

To query unlimited asset data with the API, in your query you must:
  1. Set a date range of less than or equal to 1 month (<32 days).
  2. Use dimensions=asset (with no additional dimensions).
  3. Set the page parameter (where page=X and X<= the last page).
  4. Set the limit parameter (where limit<=1000).

Q: I am seeing a lot of "unknown" Player names instead of the names of my mobile Players. What does this mean?

A: The Ooyala mobile SDKs (Android and iOS) currently do not send a player_id, so the Player name for the mobile SDKs is attributed as "unknown".

Q: I am seeing an unexpectedly high number of plays attributed to the ooyala.com domain. Why is this happening?

A: If you do not set a domain for your iOS and Android SDKs, you will see analytics data from those SDKs attributed to the ooyala.com domain.

Q: When I click "Show by Country" in the Geography dimension and look at the list view, the breakdown for each country has a lot of "none" and "unknown" entries. What does this mean?

A: For the "Show by Country" option, to view first-level administrative divisions for each country, select List View and click the small arrow next to each country name. If first-level administrative divisions are not available for a country, "none" or "unknown" are shown.

Q: When I look at the KPI bar in the dashboard, the number of current users is larger than the number of Plays Requested Today. Why is this happening?

A: In the Dashboard KPI bar, the number of Current Users is updated every second. The counters for the rest of the KPI bar (Users Today, Plays Requested Today, Video Starts Today, etc.) have a latency of about 2-4 hours. This may cause it to appear like you have more concurrent users than total users for the day.

Q: Are there any limitations on how many filters and dimension groupings I can apply in the Analytics v3 API?

A: Yes. The following limitations apply.
  • You can create a query with up to 2 filters for a date range of up to 1 year (366 days).
  • You can create a query with up to 3 filters for a date range of up to 1 month (31 days).
  • You can create a query that groups the results by up to 3 dimensions.

Q: I am looking at analytics data for a specific asset and I've selected a single specific day as the date range, but the Video Starts number does not match the starting number in the segments watched graph. Why is this happening?

A: We divide each video into 40 segments no matter how long the video is. When the user watches the first segment, we increase the count for the first segment as "watched". This means that there could be a case where your count for video starts is higher than the number of viewers who watched the entirety of the first segment. Some users may drop off before the first 1/40th of the video completes.

Q: How often do the metrics on the Business Intelligence page get updated?

A: A user action will trigger the page to get updated. If you don’t take another action, the page usually will not get updated because no new information needs to be updated. It is a historical view. The only exception is when you choose time range to include “Today”. Then the data will be different after around 4 hours since we are continuously processing the data coming in today.

Q: Does Ooyala IQ support aggregating data from sub accounts to master accounts for real-time analytics?

A: No, IQ only supports aggregating information from sub accounts to master accounts for non-real-time analytics.

Q: Does Ooyala IQ capture metrics for live assets?

A: Ooyala IQ currently captures most of the Ooyala IQ metrics for live assets. The following metrics are currently not supported in Ooyala IQ for live assets:
  • Playthrough (25%, 50%, 75%, 100%)
  • Segments watched

Pricing

Q: Is there a cost to upgrade to Ooyala IQ?

A: Any customers who are Ooyala platform customers will be asked to upgrade to Ooyala IQ after launch at no additional cost. Please note that there is a cost to use Ooyala IQ with third party (non-Ooyala players).

Unique Viewership

Q: What is a specific example of what would count as a “unique” play?

A: According to our definition that can be found in Glossary, a unique play is “the number of unique viewers for which a video, channel, or channel set is displayed in a given period.” Thus, if a viewer watches a video and then later watches the same video again, that counts as two plays but a single unique play. Unique viewers, more often referred to as "unique users", are defined based on the environment. The Ooyala mobile SDKs generates and stores a random unique ID which is application-specific. In other environments, a unique user is identified by local storage or cookie. If a user clears their browser cache, that user/device's ID will get regenerated next time they watch video. The generated IDs are completely random and don't include any user-identifiable information. When such information is not available for a user, a new unique identifier will be created for that user.

Q: How are unique users calculated on iOS, Android, and desktop platforms?

A:
  • Ooyala mobile SDK for iOS: The Ooyala mobile SDK for iOS generates and stores a random unique ID which is application-specific. The unique ID is generated in the "OOClientID" class and is stored in the "standardUserDefaults" object and is valid until the application is deleted. This unique ID cannot be erased or reset by the end user without deleting the app. The application developer can store a different ID than the generated ID by erasing the existing ID [OOClientID resetID] and setting a new ID [OOClientID setID:New_ID].
  • Ooyala mobile SDK for Android: The Ooyala mobile SDK for Android generates and store a random unique ID which is application-specific. The unique ID is generated in the "OOClientID" class and is stored in the "SharedPreferences" file and is valid until the application is deleted. This unique ID cannot be erased or reset by the end user without deleting the app. The application developer can store a different ID by erasing the existing ID [ClientID.resetID(context)] and setting a new ID [ClientID.resetID(NEW_ID)].
  • All other environments (HTML5, Flash, Chromecast): In other environments, a unique user is identified by local storage or cookies. To generate the GUID, Flash players use the timestamp of when the GUID is generated and append random data to it. The string is then converted to base64. To generate the GUID, HTML5 players use the current time, browser information, and random data and hash it and convert it to base64. Within the same browser on desktop, once a GUID is set by one platform it is used for both platforms for the user. If a user clears their browser cache, that user/device's ID will get regenerated next time they watch video. Incognito modes will track a user for a single session, but once the browser is closed the GUID is erased.

Was this article helpful?