Adobe Heartbeat Tag Setup Guide
This article describes how to set up the Adobe Heartbeat Tag tag in your Tealium iQ Tag Management account.
How it Works
The Adobe Heartbeat tag allows you to collect extensive data on how visitors interact with videos on your site. When your video loads on a page, Heartbeat triggers server calls every second through the length of the video, capturing its playhead positions, pause and resume actions, ad views, and several other video performance parameters. Additionally, if your implementation is integrated with the Nielsen DCR plugin, you can configure those parameters together in this tag.
Prerequisites
- jQuery
Ensure that your site has jQuery installed on it. If you are not using jQuery, you can add and configure a new jQuery tag from the Tealium iQ tag Marketplace. - Adobe Enterprise Cloud ID Service Tag
The Adobe Cloud Service generates a unique ID for every visitor on your site and persists the ID across all their Enterprise Cloud Solutions, thus preventing duplicate counts. Add and configure the tag in your profile, if you have not already done and enable the bundle flag setting for the tag so that it can be bundled intoutag.js
on all pages. - AppMeasurement JavaScript Tag
Add and configure the tag in the same profile and enable the bundle flag, if you have not done so already. This is required for JavaScript implementations. Bundling is only required for Tag version 1.6.3, as the prior versions already have the Enterprise Cloud Service bundled by default.
In the Tags tab, ensure that the bundled Enterprise Cloud ID tag is placed above the bundled AppMeasurement tag. This ensures the Enterprise Cloud ID tag will load first.
Supported Vendor Libraries
- Adobe Heartbeat v2.0.2 (default)
- Adobe Heartbeat v1.6.7
- Adobe Heartbeat v1.6.7 with Nielsen v5.0 integration
Tag Tips
- Heartbeat requires the Adobe Experience Cloud ID Service as well as AppMeasurement for JS to be loaded first, preferably bundled.
- This tag is fired via “utag.track(‘video’, data);” which should be implemented in your video event handlers.
- jQuery is required by Adobe Heartbeat.
Tag Configuration
First, go to Tealium’s tag marketplace and add the Adobe Heartbeat tag (Learn more about how to add a tag).
After adding the tag, configure the following settings:
FIELD NAME | FIELD VALUE |
---|---|
Title |
|
Tracking Server |
|
Publisher |
|
Use SSL |
|
S-Object Name |
|
Video Platform Name |
|
Video Player SDK |
|
Tag Version |
|
The following fields are only required if you set the tag version to Adobe Heartbeat 1.6.7 with Nielsen 5.0. If you do not have the required Nielsen values, contact your Nielsen or Adobe representative.
FIELD NAME | FIELD VALUE |
---|---|
Adobe Nielsen SDK Configuration Key |
|
Nielsen Collection Environment |
|
Nielsen Player ID |
|
Nielsen APN |
|
Nielsen Client ID |
|
Nielsen VCID |
|
Apply Load Rules
Load Rules determine when and where to load an instance of this tag on your site. The Load on All Pages rule is the default load rule. To load this tag on a specific page, create relevant rule conditions to apply to the tag.
Best Practice: Create and apply custom rules to load this tag on any pages where videos are made available.
Data Mappings
Mapping is the process of sending data from a data layer variable to the corresponding destination variable of the vendor tag. For instructions on how to map a variable to a tag destination, see Data Mappings.
The following sections provide detailed tables for each available category.
Standard
The Standard category corresponds to the configuration fields for the tag. If desired, you can map to these destinations. Dynamically send values for the tag fields that are left blank or override the current values.
Destination Name | Description |
---|---|
tracking_server |
|
publisher |
|
ssl |
|
syndication_channel |
|
online_video_platform_name |
|
player_sdk |
|
debug_logging |
|
The following fields are only required if you set the tag version to Adobe Heartbeat 1.6.7 with Nielsen 5.0. If you do not have the required Nielsen values, contact your Nielsen or Adobe representative.
Destination Name | Description |
---|---|
nielsen_config_key |
|
nielsen_client_id |
|
nielsen_vcid |
|
nielsen_collection_environment |
|
nielsen_player_id |
|
nielsen_apn |
|
nielsen_device_id |
|
nielsen_sdk_debug |
|
nielsen_opt_out |
|
Video Events
Video event destinations are event listeners that trigger when a certain action or change occurs in the video player. To trigger an event, you must map your variable to the desired event in the toolbox and set the value of the variable as the trigger. The mapped event fires when the supplied trigger value is found in the data layer.
The following tables lists the available event destinations:
Destination Name | Description |
---|---|
video_load |
|
video_start |
|
video_playing |
|
video_pause |
|
video_play |
|
video_stop |
|
video_resume |
|
video_complete |
|
video_seek |
|
video_buffer |
|
video_skip |
|
video_error |
|
nielsen_opt_out_status_changed |
|
Video
These destinations correspond to the Adobe Video Measurement parameters.
Destination Name | Description |
---|---|
video.id |
|
video.title |
|
video.length |
|
video.current_playhead |
|
video.stream_type |
|
video.is_full_episode |
|
video.original_air_date_nielsen |
|
video.channel_name |
|
video.series_name |
|
video.player_name |
|
video.is_ad |
|
video.fps |
|
video.bit_rate |
|
video.startup.time |
|
video.dropped_frames |
|
video.error_id |
|
video.error_is_fatal |
|
Chapter
These destinations correspond to Adobe Video Chapter Parameters.
Destination Name | Description |
---|---|
chapter.name |
|
chapter.length |
|
chapter.position |
|
chapter.start_time |
|
chapter_meta_data.custom |
|
Ad
These destinations correspond to Adobe Video Ad Parameters.
Destination Name | Description |
---|---|
adbreak.name |
|
adbreak.position |
|
dbreak.start_time |
|
ad.id |
|
ad.title |
|
ad.type |
|
ad.length |
|
ad.position |
|
Video Metadata
These destinations correspond to Adobe Standard Metadata Parameters.
Destination Name | Description |
---|---|
meta_data.custom |
|
meta_data.show |
|
meta_data.season |
|
meta_data.episode |
|
meta_data.asset |
|
meta_data.genre |
|
meta_data.airDate |
|
meta_data.digitalDate |
|
meta_data.rating |
|
meta_data.originator |
|
meta_data.network |
|
meta_data.type |
|
meta_data.adLoad |
|
meta_data.dayPart |
|
meta_data.feed |
|
meta_data.format |
|
Ad Metadata
These destinations correspond to Adobe Standard Ad Metadata Parameters.
Destination Name | Description |
---|---|
ad_meta_data.custom |
|
ad_meta_data.advertiser |
|
ad_meta_data.campaign |
|
ad_meta_data.creative |
|
ad_meta_data.placement |
|
ad_meta_data.site |
|
ad_meta_data.creativeURL |
|
Built-in Video Data Layer Variables
Mapping is not required if your data layer is already using these values. Tealium typically sends data to the matching tag destinations. If your data layer uses different variables names from those listed in this table, then you will need to manually map.
Built-in Variables | Toolbox Destination Variable | Description |
---|---|---|
event_name |
Video Event destinations | If you use any of the following values in your event_name variable, you do not need to map again in the toolbox.
|
video_id |
– |
|
video_name |
video.title |
|
video_length |
video.length |
|
video_player_name |
video.player_name |
|
video_current_playhead |
video.current_playhead |
|
video_stream_type |
video.stream_type |
|
video_fps |
video.fps |
|
video_bitrate |
video.bit_rate |
|
video_dropped_frames |
video.dropped_frames |
|
video_is_ad |
video.is_ad |
|
video_ad_position - OR - video_ad_pod_position |
ad.position |
|
video_chapter_name |
chapter.name |
|
video_chapter_length |
chapter.length |
|
video_chapter_position |
chapter.position |
|
video_chapter_start_time |
chapter.start_time |
|
video_ad_pod_name |
ad.id |
|
program |
video.series_name |
|
is_full_episode |
video.is_full_episode |
|
original_air_date |
video.original_air_date_nielsen |
|
Validation
The Heartbeat tag is event-based and leverages the utag.track("video", data)
call to differentiate itself from other utag calls. For this reason, it is crucial to properly set up the video event triggers in the Data Mapping toolbox.
Once configured, the tag fires continuously every second in order to keep the video data current. This is accomplished by firing the “playing” event within your video player’s “playing” event handler. Other video events should also be fired via their corresponding Adobe heartbeat events. Network calls are aggregated and reported to Adobe every 10 seconds; including those for event changes.
An easy way to set both the Heartbeat and Nielsen debug flags is by adding a querystring parameter to the URL of the video page. For For example, adobe_debug=1&Nielsen=1
You can then add the Query parameter variables to your data layer in Tealium iQ and map them accordingly.
Mapping destinations for both the Heartbeat and Nielsen debug flags are available under the Standard category. See “Adobe Heartbeat Debug Logging Flag” and “Nielsen SDK Debug Flag”.
When complete, you can run the following Tealium debug command in your browser console.
document.cookie = "utagdb=true";
Sample Implementation
The following examples show network calls for a sample Heartbeat implementation. Primary parameters to note are s:event:type
and s:asset:type
. These parameters, respectively, indicate the type of video event and which video component it pertains to. The example shows the beginning of the main video before the ad display. The l:event:playhead
, also shown, refers to the elapsed time on the main video.
The s:asset:type
value equals ad
and the l:event:playhead
value is 8
. This means that the ad started playing at 8 seconds into the video.
Vendor Documentation
This page was last updated: April 13, 2020