Video Heartbeat v1.5 Implementation 3: Variables, Metrics and Architecture

Video Heartbeat v1.5 Implementation Posts:

In this post, I would like to discuss about variables, metrics and the core architecture in Adobe Video Heartbeat v1.5.

Video Heartbeat Variables and Metrics

Before you start video heartbeat implementation, you need to understand what you are measuring with video heartbeat, especially, if you are not familiar with Adobe Analytics. Actually, what you measure is based on what your company’s KPI and business goal. You can implement custom variables and metrics as many as you need in your video reports; however, the following business questions will be covered by the default video heartbeat implementation.

  • The number of the video starts
  • The number of the video completes
  • The total amount of time (in seconds) the video was played
  • Which part of the video was played (Content Segment)
  • The number of the chapter starts
  • The number of the chapter completes
  • The total amount of time (in seconds) the chapter was played
  • The number of the ad starts
  • The number of the ad completes
  • The total amount of time (in seconds) the ad was played

To see the full list of the default variables and metrics in video heartbeat, please see Video Variables and Events on Adobe Online Guide.

videoVariableMetrics

Basically, we need variables (row) and metrics (column) in Adobe Analytics reports. Variables such as video name, chapter name, video length or player name will be generated based on the parameters. Metrics such as video start, video complete or the total amount of time watched will be generated based on the method calls. For example:

  • id, length, playerName parameters are variables
  • trackChapterStart() method call increments the number of the chapter starts as trackVideoLoad() + trackPlay() method calls will increment the number of the video starts.

 

Video Heartbeat Architecture and Configuration

Currently, video heartbeat is available for JavaScript, Flash, iOS and Android. Regardless the platform, video heartbeat architecture, configuration, methods and parameters are same. Since my background is a front-end developer, I use JavaScript as the example. In your implementation, you need to work on three things: configuration, parameters and methods.

1. Set the video heartbeat configuration

Video heartbeat requires the six instances in the configuration: Visitor, AppMeasurement, Heartbeat and  three heartbeat plugins.

  • new Visitor() – Required for Adobe Analytics visitor control in a new AppMeasurement library
  • new AppMeasurement() – Adobe Analytics instance
  • new Heartbeat() – Main heartbeat instance
  • new VideoPlayerPlugin() – passed into Heartbeat()
  • new AdobeAnalyticsPlugin() – passed into Heartbeat()
  • new AdobeHeartbeatPlugin() – passed into Heartbeat()

 

2. Set the required parameters

Video heartbeat parameters are passed via VideoPlayerPluginDelegate class. To see the full code, please read the Adobe’s sample in SDK.

For video:

For chapter:

For ad:

 

3. Call the methods at the appropriate timing

The most methods in vide heartbeat are very straight forward. trackChapterStart() increments the number of the chapter start as trackVideoComplete() increments the number of the video completes. However, video start requires two methods, trackVideoLoad() and trackPlay(). The video start call is sent to the analytic server when the trackPlay() is called after trackVideoLoad().

Example video events flow:

videoEvents

 

  1. Web page loaded, video heartbeat configuration
  2. Auto play or user click the play button: trackVideoLoad()
  3. Ad 1 start, play and complete: trackAdStart(), trackAdComplete()
  4. Main video start: trackPlay()
  5. Chapter 1 start: trackChapterStart()
  6. Chapter 1 complete: trackPause(), trackChapterComplete()
  7. Ad 2 start, play and ad complete: trackAdStart(), trackAdComplete()
  8. Chapter 2 start: trackChapterStart()
  9. Seeking start (user grabs the progress bar): trackPause(), trackSeekStart()
  10. Ad 2 start, play and ad complete: trackAdStart(), trackAdComplete()
  11. Chapter 3 start at the scrubbed point: trackSeekComplete(), trackChapterStart(), trackPlay()
  12. Chapter 3 complete:  trackPause(), trackChapterComplete()
  13. Main video complete: trackComplete()
  14. Post-roll ad start, play and ad complete: trackAdStart(), trackAdComplete(), trackVideoUnload()
  15. Replay the same video without refreshing browser: trackVideoLoad(), trackPlay()

Summary:

  • Video reports with the default implementation answer the major business questions.
  • The video reports consists of variables and metrics.
  • Video heartbeat architecture is same in the different platforms.
  • In your implementation, you need to work on three things: configuration, parameters and methods.

 

2 thoughts on “Video Heartbeat v1.5 Implementation 3: Variables, Metrics and Architecture

    1. I asked the same question to Adobe few months ago.
      Currently, we can’t set-up video heartbeat through DTM. However, it is on Adobe’s roadmap and they have been working on it.
      Adobe said that video heartbeat in DTM will be available sometimes in 2016.
      So, we implemented page tracking in DTM and video heartbeat in the player javascript files.

      Hope this helps.
      Mika

Leave a Reply

Your email address will not be published. Required fields are marked *