Obwohl Adobe als empfohlende Standardvideomessung die Heartbeat Videomessung vorschlägt, nutzen noch viele Firmen die alte Milestone – Messmethode. In diesem Blogbeitrag möchten ich Ihnen einen Überblick über die Implementierung der Heartbeat Videomessung vermitteln und auf die Vorteile eines Umstiegs eingehen.

Voraussetzungen Adobe Heartbeat Videomessung

Folgende Voraussetzungen müssen für die Adobe Heartbeatmessung erfüllt sein:

  • Experience Cloud Enablement: Der Marketing Cloud (= Experience Cloud) Visitor ID Service ist Voraussetzung für die Heartbeat Videomessung.
  • Analytics Enablement: In Adobe Analytics muss Videoreporting enabled werden.
  • Audience Manager Enablement: Um Audiences auf Basis von Videonutzung bauen zu können, sollte auch der Audience Manager enabled sein.

Implementierung Adobe Heartbeat Videomessung

Aufsetzen und Konfigurieren der MediaHeartbeat Instanz:

  • Step1: Die Libraries müssen importiert werden. Bei Verwendung von Javascript müssen lokale Verweise auf die Klassen erstellt werden. Die Libraries für die Implementierung finden Sie hier: Heartbeat Libraries.
  • Step2: Die MediaHeartbeatConfig muss erstellt werden. In der MediaHeartbeatConfig werden Standardvariablen wie trackingServer, playerName etc. gefüllt.
  • Step3: MediaHeartbeatDelegate muss implementiert werden. MediaHeartbeatDelegate () ist vor allem für die korrekte Zeitmessung erforderlich.
  • Step4: Die MediaHeartbeat Instanz muss erstellt werden.  Stellen Sie sicher, dass ihre MediaHeartbeat Instanz bis zum Ende der Videosession am richtigen Ort zugänglich ist. Diese Instanz wird für alle folgenden Videoevents genutzt.
  • Step5: Die einzelnen Bausteine aus den Schritten 1-4 müssen jetzt zusammengebracht werden.
// *** Beispiel Code für die oben genannten Schritte ***
// Dieses Beispiel ist ein Auszug aus der Adobe Dokumentation 
// Step1: Create local references to the heartbeat classes
var MediaHeartbeat = ADB.va.MediaHeartbeat;
var MediaHeartbeatConfig = ADB.va.MediaHeartbeatConfig;
var MediaHeartbeatDelegate = ADB.va.MediaHeartbeatDelegate;

// Step2: Media Heartbeat Config
//Media Heartbeat initialization
var mediaConfig = new MediaHeartbeatConfig();
mediaConfig.trackingServer = Configuration.HEARTBEAT.TRACKING_SERVER;
mediaConfig.playerName = Configuration.PLAYER.NAME;
mediaConfig.channel = Configuration.HEARTBEAT.CHANNEL;
mediaConfig.debugLogging = true;
mediaConfig.appVersion = Configuration.HEARTBEAT.SDK;
mediaConfig.ssl = false;
mediaConfig.ovp = Configuration.HEARTBEAT.OVP;

// Step3: Media Heartbeat Delegate
var mediaDelegate = new MediaHeartbeatDelegate();

// Set mediaDelegate CurrentPlaybackTime
// Replace <currentPlaybackTime> with the video player current playback time
mediaDelegate.getCurrentPlaybackTime = function() {
 return video.currentTime;
};

// Set mediaDelegate QoSObject - OPTIONAL
// Replace <bitrate>, <startuptime>, <fps> and <droppeFrames> with the current playback QoS values. 
mediaDelegate.getQoSObject = function() {
 return MediaHeartbeat.createQoSObject(video.bitrate, 
 video.startuptime, 
 video.fps, 
 video.droppedframes);
}
// Step4: Create mediaHeartbeat instance 
this.mediaHeartbeat = 
 new MediaHeartbeat(mediaDelegate, mediaConfig, appMeasurementInstance);
  • Step6: Abschließend muss die Implementierung getestet werden. Video und Ad Start calls werden direkt an den AppMeasurement Server gesendet. Heartbeat calls werden beim Start und alle 10 Sekunden nach Start an den Heartbeat Tracking Server gesendet. Die HTTP Calls unterscheiden sich im Tracking Server und können im Entwicklertool im Netzwerk gefunden weren. Während für den AppMeasurement (Analytics) Server der Call den Trackingserver mit dem Ende „.sc.omtrdc.net“ beinhaltet, finden Sie den Video Hearbeat Call mit dem Trackingserverende „.hb.omtrdc.net“.

So setzen Sie die wichtigsten Videoevents:

  • Das Mediaobjekt muss erstellt werden. Der Moment an dem der User die Absicht hat ein Video abzuspielen muss erkannt und das Mediaobjekt mit den Informationen des Videoplayers erstellt werden.
//Replace <VIDEO_NAME> with the video name. 
//Replace <VIDEO_ID> with a video unique identifier. 
//Replace <VIDEO_LENGTH> with the video length.  

var mediaObject = 
 MediaHeartbeat.createMediaObject(<VIDEO_NAME>, 
 <VIDEO_ID, 
 <VIDEO_LENGTH>, 
 MediaHeartbeat.StreamType.VOD);
  • Aufruf der trackSessionStart() – Funktion in der MediaHeartbeat Instanz am Beginn einer Videosession. Diese Funktion trackt lediglich die Absicht ein Video anzusehen, nicht den Start des Videos.
_onVideoLoad = function () { 
 this._mediaHeartbeat.trackSessionStart(mediaObject, contextData); 
};
  • Aufruf der trackPlay() – Funktion wenn der Nutzer ein Video startet oder ein Video für den Nutzer gestartet wird (Autostart beim Laden einer Seite).
_onVideoPlay = function() { 
 this._mediaHeartbeat.trackPlay(); 
};
  • Aufruf der trackComplete() – Funktion wenn der Nutzer den Content des Videos zu Ende gesehen hat.
_onVideoComplete = function() { 
 this._mediaHeartbeat.trackComplete(); 
};
  • Aufruf der trackSessionEnd() – Funktion wenn die Videosession vollständig durchgelaufen ist. Wichtig ist hier, dass die trackComplete() Funktion vor der trackSessionEnd() aufgerufen wird. Nach einer trackSessionEnd() wird NUR die Funktion trackSessionStart() gemessen, da diese wieder eine neue Videosession startet.
_onVideoUnload = function() { 
 this._mediaHeartbeat.trackSessionEnd(); 
};
  • Aufruf der trackPause() wenn der Nutzer das Video pausiert. Wichtig ist hier, dass an trackPause() unbedingt eine erneute trackPlay() Funktion folgen muss wenn der Nutzer das Video fortsetzt.
_onVideoPlay = function() {
 this._mediaHeartbeat.trackPlay();
};

Debugging

Informationen zur Zeitlinie der Heartbeatmessung finden Sie unter Tracking Explained. Um die Umsetzung testen zu können, sollten Sie die Zeitabfolge verinnerlicht haben. Folgende Möglichkeit bietet Adobe um speziell Die Heartbeatmessung umfänglich testen zu können:

// Media Heartbeat initialization
var mediaConfig = new MediaHeartbeatConfig();
mediaConfig.debugLogging = true;
this._mediaHeartbeat = new MediaHeartbeat(mediaDelegate, mediaConfig, appMeasurement);

Die Ausgabe in der Konsole erfolgt in folgendem Format:

[<timestamp>] [<level>] [<tag>] [<message>]

Für das „Level“ gibt es vier verschiedene Ausprägungen: INFO, DEBUG, WARN, ERROR.

Beispiele der Ausgabe in der Konsole:

[16:10:29 GMT­0700 (PDT).245] [DEBUG] [plugin::player] Resolving qos.startupTime: 0
[16:10:29 GMT­0700 (PDT).222] [INFO] [plugin::player] #trackVideoLoad()
[16:10:29 GMT­0700 (PDT).230] [INFO] [plugin::player] #trackSessionStart()
[16:10:29 GMT­0700 (PDT).250] [INFO] [plugin::player] #trackPlay()
[16:10:29 GMT­0700 (PDT).759] [INFO] [plugin::player] #trackChapterStart()
[16:10:44 GMT­0700 (PDT).769] [INFO] [plugin::player] #trackAdStart()
[16:10:59 GMT­0700 (PDT).752] [INFO] [plugin::player] #trackAdComplete()
[16:10:59 GMT­0700 (PDT).770] [INFO] [plugin::player] #trackChapterStart()
[16:11:29 GMT­0700 (PDT).734] [INFO] [plugin::player] #trackPause()
[16:11:29 GMT­0700 (PDT).764] [INFO] [plugin::player] #trackComplete()
[16:11:29 GMT­0700 (PDT).766] [INFO] [plugin::player] #trackVideoUnload()

Milestone Tracking vs. Heartbeat

Gegenüber dem herkömmlichen Milestone Tracking bietet Heartbeat folgende Vorteile:

  • Streamlined implementation process – Dieser Prozess soll helfen, Variablen einfacher mit den Variablen bzw. Informationen des Video Players zu matchen und über das Adobe Debug Tool das Matching schnell und einfach zu prüfen. Auch die Kosten basieren auf einem Stream und nicht wie üblich pro Server Call. Damit vermeidet man eine extreme Steigerung der Trackingkosten. Schließlich wird bei der Heartbeat Videomessung, wie oben beschrieben, alles 10 Sekunden ein Server Call gefeuert.
  • Automatic Adobe Experience Cloud Integration – Damit wird ermöglicht Video Audiences zu segmentieren und diese dann gezielt anzusprechen. Somit wird ermöglicht basierend auf das Nutzerverhalten Video Emfehlungen auszuspielen.
  • Shared video data through Federated Analytics – Federated Analytics hilft unter Partnern Daten einfacher und sicherer Auszutauschen. Es kann einfach kontrolliert und angepasst werden, welche Daten der Partner sehen soll.
  • Partnerships with Certified Ratings Partners – Adobe arbeitet mit der Ratingagentur Nielsen zusammen, um ein zertifiziertes und vertrauenswürdiges Ranking hinzubekommen.
  • Standardized solution across all platforms – Ermöglicht übergreifende, einheitliche und standardisierte Variablen für alle Videos und Plattformen. Somit können Plattformübergreifende Kampagnen und Auswertungen (von z.B. verschiedenen Geräten) durchgeführt werden.

Wichtig: Das Nutzen aller Vorteile der Video Heartbeatmessung benötigt in den meisten Fällen mehr als nur die oben beschriebene Basisimplementierung.

Für Android und iOS gibt es einen separaten Implementierungsguide, der unbedingt zu beachten ist!

Aber das haben Sie sich sicher schon gedacht :-). Haben wir Ihnen damit bereits geholfen oder Ihr Interesse für das Thema Videomessung geweckt? Sie haben Fragen zu Ihrer Videoimplementierung oder planen Ihre Videos mit der Adobe Heartbeat Messung zu tracken?

Zögern Sie nicht uns zu kontaktieren! Wir helfen Ihnen gerne weiter und Ich freue mich sehr auf Ihr Feedback!

Tagged on:                                     

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.