From 080686b87e6b56dbe752bdc42020fb2cbeb0b78e Mon Sep 17 00:00:00 2001 From: tzubeli Date: Thu, 8 Nov 2018 19:54:39 +0200 Subject: [PATCH 1/3] Analytics Doc --- .../media-analytics.md | 109 ++++++++++++++++-- 1 file changed, 100 insertions(+), 9 deletions(-) diff --git a/documentation/Video-Analytics-and-Insights/media-analytics.md b/documentation/Video-Analytics-and-Insights/media-analytics.md index 6b13ac13..ab01caea 100644 --- a/documentation/Video-Analytics-and-Insights/media-analytics.md +++ b/documentation/Video-Analytics-and-Insights/media-analytics.md @@ -4,27 +4,118 @@ title: Kaltura's Media Analytics weight: 110 --- -Make decisions based on complete data - the Kaltura VPaaS usage and engagement analytics reports provide you with the insight you need to manage your content, reach your audience, and optimize your video workflow. View a quick snapshot of high-level figures, or drill down to user-specific or video-specific information. Use the analytics reports to gain business insights, and understand user trends. Already using an analytics or audience measurement tool? Leverage the Kaltura pre-integrated plugins for all major analytics providers and consolidate your data securely and reliably. +The Kaltura Analytics API reports provide you with the insight you need to manage your content, reach your audience, and optimize your video workflow. You can view a quick snapshot of high-level figures, or drill down to user-specific or video-specific information. Use the analytics reports to gain business insights and understand user trends. -## Quick Start +## Report Service -Kaltura analytics data is exposed via the [`report service`](https://developer.kaltura.com/api-docs/Review_Media_Analytics/report). -A number of actions within this service will enable you to pull data against a specific set of filters. +Kaltura analytics data is exposed via the [`Report Service`](https://developer.kaltura.com/console/service/report). +A number of actions within this service will enable you to pull data for Content, User Engagement, Bandwith and Storage, and System. A specific set of filters will ensure you get the insights you need. -Follow the Interactive Code Workflow below to get started:. +You can follow the [Interactive Code Workflow,](https://developer.kaltura.com/workflows/Review_Media_Analytics/Analytics_Reports) or continue reading to learn about a few basic reports: -{% onebox https://developer.kaltura.com/workflows/Integration_Scheduling_and_Hooks/Analytics_Reports/embed %} +## Getting Started -To learm more about the type data reported by Media Analytics, we recommend you read the following article: ->**Knowledge Article:** [Creating and Tracking Analytics in the KMC](http://knowledge.kaltura.com/creating-and-tracking-analytics-kmc-0#analytics) +The Report API contains a couple different actions for returning data. For the purpose of this doc, we will use [`report.getTable`](https://developer.kaltura.com/console/service/report/action/getTable), which returns a JSON object of the insights data, as well as the respective column headers. Other actions include [`report.getGraphs`](https://developer.kaltura.com/console/service/report/action/getGraphs) which returns points for a graph UI, and [`report.getUrlForReportAsCsv`](https://developer.kaltura.com/console/service/report/action/getUrlForReportAsCsv), which produces a CSV report based on your given headers. + +For any `report.getTable` action, you need: +- **reportType:** Object enum or integer (listed below) - determines the type of report to produce +- **reportInputFilter:** Can be of type `KalturaReportInputFilter` or `KalturaEndUserReportInputFilter`. It is required, and allows you to set date range, specific categories, keywords, or custom variables. +- **pager:** Unlike some other Kaltura APIs, a pager is always required for this action. It contains the `pageIndex` (starting with zero) and `pageSize` (number of results you'd like per page). + +Other optional parameters: +- **objectIds:** For when you want to drill down on statistics for a specific entry or user. +- **order:** Order by any column from the given results table + +Let's look at a few available report types: + +## Top Content + +So you want to basic insights on how much engagement your entries have been drawing in the last month, like how many times the video has been loaded and then actually played, and when users are likely to drop-off. In the example below, we set the `reportType` to Top Content (1), the date range to the entire month of October, and a page size of 20. The result contains a list of entries and their statistics. + +{% code_example analytics1 %} + + +The result header looks like this: +``` +object_id,entry_name,count_plays,sum_time_viewed,avg_time_viewed,count_loads,load_play_ratio,avg_view_drop_off +``` + +Maybe you only want insights for a particular *channel* in your media. In this case you'd set `categories` on the filter to the *full name* of your category, which can be found in the KMC by hovering over the category name, OR by calling `category.get` action with the category ID. The full name of the category usually includes its parent directories. + +{% code_example analytics2 %} + + +If you set `objectIds` as one of the entries from the results, change the reportType to User Engagement (11), and set the filter to an End User filter, you'd get specific user engagement stats on that entry: + +{% code_example analytics3 %} + + +The result header looks like this: +``` +name,unique_videos,count_plays,sum_time_viewed,avg_time_viewed,avg_view_drop_off,count_loads,load_play_ratio +``` + +## User Reports +Perhaps you're interested in which employees at the company have contributed the most videos. In the example below, we set the `reportType` to Top Contributors (5) and order by the total count. + +{% code_example analytics4 %} + + +Result header: +``` +object_id,name,count_total,count_video,count_audio,count_image,count_mix +``` + +You can also get engagement insights by **geographic region**, by changing the `reportType` to Map Overlay (4). Setting the `objectIds` to one of the regions from the results will break down those insights by city. + +{% code_example analytics5 %} + + +Result header: +``` +object_id,location_name,count_plays,count_plays_25,count_plays_50,count_plays_75,count_plays_100,play_through_ratio +``` + +As you can see, there are many ways to customize your report based on your business use cases. You can easily try them out using our [Interactive Console](https://developer.kaltura.com/console/service/report/action/getTable) or see what they look like in the [KMC](https://kmc.kaltura.com/index.php/kmc/kmc4#analytics|contentDashboard). ## Integrated Analytics Partners +Already using an analytics or audience measurement tool? Leverage the Kaltura pre-integrated plugins for all major analytics providers and consolidate your data securely and reliably. + To learn how to setup player plugins read: [Configuring Analytics Plugins](https://knowledge.kaltura.com/universal-studio-information-guide#configuring_analytics). * [Youbora](https://knowledge.kaltura.com/node/1675) * [comScore](http://player.kaltura.com/docs/ComscoreAnalytics) * [Nielsen](http://player.kaltura.com/docs/NielsenVideoCensus) * [Google Analytics](https://knowledge.kaltura.com/node/1148#googleanalytics) -* [Adobe Heartbeat](http://player.kaltura.com/modules/Heartbeat/tests/HeartBeatDemo.html) * [Chartbeat](http://support.chartbeat.com/docs/video.html#kaltura) + +## Report Types by Number + +- Top Content (1) +- Content Dropoff (2) +- Content Interactions (3) +- Map Overlay (4) +- Top Contributors (5) +- Top Syndication (6) +- Content Contributions (7) +- User Engagement (11) +- Specific User Engagement (12) +- User Top Content (13) +- User Content Dropoff (14) +- User Content Interactions (15) +- Applications (16) +- User Usage (17) +- Specific User Usage (18) +- Top Creators (20) +- Platforms (21) +- Operating System (22) +- Browsers (23) +- Live (24) +- Top Playback Context (25) +- VPaaS Usage (26) +- Entry Usage (27) +- Reach Usage (28) +- Top Custom Var1 (29) +- Partner Usage (201) + From fda0fd6e33219cc29fca22873be9a494e6aad14f Mon Sep 17 00:00:00 2001 From: tzubeli Date: Thu, 8 Nov 2018 20:02:53 +0200 Subject: [PATCH 2/3] Update media-analytics.md --- documentation/Video-Analytics-and-Insights/media-analytics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/Video-Analytics-and-Insights/media-analytics.md b/documentation/Video-Analytics-and-Insights/media-analytics.md index ab01caea..99e717e1 100644 --- a/documentation/Video-Analytics-and-Insights/media-analytics.md +++ b/documentation/Video-Analytics-and-Insights/media-analytics.md @@ -9,7 +9,7 @@ The Kaltura Analytics API reports provide you with the insight you need to manag ## Report Service Kaltura analytics data is exposed via the [`Report Service`](https://developer.kaltura.com/console/service/report). -A number of actions within this service will enable you to pull data for Content, User Engagement, Bandwith and Storage, and System. A specific set of filters will ensure you get the insights you need. +A number of actions within this service will enable you to pull data for Content, User Engagement, Bandwidth and Storage, and System. A specific set of filters will ensure you get the insights you need. You can follow the [Interactive Code Workflow,](https://developer.kaltura.com/workflows/Review_Media_Analytics/Analytics_Reports) or continue reading to learn about a few basic reports: From 530014a33ff538567e0dc145d8c2850192fafe05 Mon Sep 17 00:00:00 2001 From: tzubeli Date: Thu, 8 Nov 2018 20:41:00 +0200 Subject: [PATCH 3/3] Typos --- .../media-analytics.md | 37 ++----------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/documentation/Video-Analytics-and-Insights/media-analytics.md b/documentation/Video-Analytics-and-Insights/media-analytics.md index 99e717e1..b713b647 100644 --- a/documentation/Video-Analytics-and-Insights/media-analytics.md +++ b/documentation/Video-Analytics-and-Insights/media-analytics.md @@ -15,12 +15,12 @@ You can follow the [Interactive Code Workflow,](https://developer.kaltura.com/wo ## Getting Started -The Report API contains a couple different actions for returning data. For the purpose of this doc, we will use [`report.getTable`](https://developer.kaltura.com/console/service/report/action/getTable), which returns a JSON object of the insights data, as well as the respective column headers. Other actions include [`report.getGraphs`](https://developer.kaltura.com/console/service/report/action/getGraphs) which returns points for a graph UI, and [`report.getUrlForReportAsCsv`](https://developer.kaltura.com/console/service/report/action/getUrlForReportAsCsv), which produces a CSV report based on your given headers. +The Report API contains a couple of different actions for returning data. For the purpose of this doc, we will use [`report.getTable`](https://developer.kaltura.com/console/service/report/action/getTable), which returns an object of the insights data, as well as the respective column headers. Other actions include [`report.getGraphs`](https://developer.kaltura.com/console/service/report/action/getGraphs) which returns points for a graph UI, and [`report.getUrlForReportAsCsv`](https://developer.kaltura.com/console/service/report/action/getUrlForReportAsCsv), which produces a CSV report based on your given headers. For any `report.getTable` action, you need: -- **reportType:** Object enum or integer (listed below) - determines the type of report to produce +- **reportType:** Object enum or integer (list of types found [here](https://developer.kaltura.com/api-docs/General_Objects/Enums/KalturaReportType)) that determines the type of report to produce - **reportInputFilter:** Can be of type `KalturaReportInputFilter` or `KalturaEndUserReportInputFilter`. It is required, and allows you to set date range, specific categories, keywords, or custom variables. -- **pager:** Unlike some other Kaltura APIs, a pager is always required for this action. It contains the `pageIndex` (starting with zero) and `pageSize` (number of results you'd like per page). +- **pager:** Unlike some other Kaltura APIs, a pager is always required for this action. It contains the `pageIndex` and `pageSize` (number of results you'd like per page). Other optional parameters: - **objectIds:** For when you want to drill down on statistics for a specific entry or user. @@ -30,7 +30,7 @@ Let's look at a few available report types: ## Top Content -So you want to basic insights on how much engagement your entries have been drawing in the last month, like how many times the video has been loaded and then actually played, and when users are likely to drop-off. In the example below, we set the `reportType` to Top Content (1), the date range to the entire month of October, and a page size of 20. The result contains a list of entries and their statistics. +So you want basic insights on how much engagement your entries have been drawing in the last month, like how many times the video has been loaded and then actually played, and when users are likely to drop-off. In the example below, we set the `reportType` to Top Content (1), the date range to the entire month of October, and a page size of 20. The result contains a list of entries and their statistics. {% code_example analytics1 %} @@ -90,32 +90,3 @@ To learn how to setup player plugins read: [Configuring Analytics Plugins](https * [Google Analytics](https://knowledge.kaltura.com/node/1148#googleanalytics) * [Chartbeat](http://support.chartbeat.com/docs/video.html#kaltura) -## Report Types by Number - -- Top Content (1) -- Content Dropoff (2) -- Content Interactions (3) -- Map Overlay (4) -- Top Contributors (5) -- Top Syndication (6) -- Content Contributions (7) -- User Engagement (11) -- Specific User Engagement (12) -- User Top Content (13) -- User Content Dropoff (14) -- User Content Interactions (15) -- Applications (16) -- User Usage (17) -- Specific User Usage (18) -- Top Creators (20) -- Platforms (21) -- Operating System (22) -- Browsers (23) -- Live (24) -- Top Playback Context (25) -- VPaaS Usage (26) -- Entry Usage (27) -- Reach Usage (28) -- Top Custom Var1 (29) -- Partner Usage (201) -