Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Introduction

The goal of this document is to make the link between the variables that are defined in the VAST tracking pixel from Kantar on the one side, and the macros that are available in the FreeWheel ad-server that can provide the information that is required in each variable on the other side. It is important to note that this document has a hard dependency on the tracking pixel specification.

Official FreeWheel Documentation

Document for FreeWheel macros can be found at http://adssn.com/FW/creativecheck.html.

Binding FreeWheel-specific macros to Kantar Variables

Variable

Mandatory

Macro

FreeWheel Macro

Description

Comments

site(tick)hardcoded

The site name for the url.

The site name will be specified by Kantar Media spring and will be communicated to each Ad server provider.


event(tick)hardcoded

This variable must contain one of the following strings

  • start - stream is started
  • firstQuartile - 25% of stream is viewed
  • midpoint - 50% of stream is viewed
  • thirdQuartile - 75% of stream is viewed
  • complete - 100% of stream is viewed

stream(tick)hardcoded

This variable contains always the fixed string

  • ad-vast

mobid

(tick) iOS

(tick) Android

(error) Other

macro_1#e{request.deviceId}

Apple or Google IDFA in cleartext. Structure is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

We expect this variable to be filled in the case of an Apple or Android device.

In other environments, we expect this to be empty.

We do not believe it is really needed to url-encode the IDFA since it should be alphanumeric already. The encoding is "just in case", so it can never break the tracking-URL structure.

cq(tick)macro_2#e{ad.externalId}Clearcast ClockID. Commercial UK-wide unique ID. Example: AGY/COKY123/030. The last 3 digits are the duration of the clip in seconds.We do not believe it is really needed to url-encode the ClockID since it should be alphanumeric already. The encoding is "just in case", so it can never break the tracking-URL structure.
cq2(tick)macro_3?The BCID from the content alongside which the ad was served.
pl(tick)macro_4?The player name.
plv(tick)macro_5?The player version.
login(error)macro_6?This is a unique identifier assigned by the broadcaster app to identify the user. 
This will have different formats for different broadcaster apps. It is also available in the TVPR-data in the same variable.

uid(tick)macro_7

#{ad.ref.random}

qqqqqqqqqqqqqqqqqqqq

Kantar’s own specification is a random number in base36 encoding, but other formats are acceptable too.

  • Math.round((Math.random()*10000000000)).toString(36);

Random number generated unique for each time the ad is referenced in the ad choreography of the response.

#{ad.ref.random} is a macro that will generate a random ID based on the combination of the ad ID + replica ID (replica ID is used in case an ad is played more than one time per response).

uid2(tick)macro_8?

The UID is a random generated value coming from the Kantar libraries that are built into the broadcaster players. This value is generated once for every content video view and it is exposed to the broadcaster player.

We expect the uid2-variable to be filled with this UID-value for every ad served alongside the content.


app

(tick) iOS

(tick) Android

(error)  Other

macro_9?

The app name in the case that it is an Apple or Android device.

We expect this variable to be only set when it is an Apple or Android device.

It is also possible to set some other value, f.e. a string indicating the platform.

Kantar uses this variable to determine if the request should be treated as mobile or stationary.
If this is impossible to deliver according to the description (i.e. empty for non-mobile), then it is also possible for Kantar to look for the mobid instead.

Resulting Tracking URL's

EventTracking URL's
start
https://sitename.2cnt.net/j0=,,,;+,event=start+stream=ad-vast+mobid=#e{request.deviceId}+cq=#e{ad.externalId}+cq2=+pl=+plv=+login=+uid=#{request.videoRandom}+uid2=+app=;;;
firstQuartile
https://sitename.2cnt.net/j0=,,,;+,event=firstQuartile+stream=ad-vast+mobid=#e{request.deviceId}+cq=#e{ad.externalId}+cq2=+pl=+plv=+login=+uid=#{request.videoRandom}+uid2=+app=;;;
midpoint
https://sitename.2cnt.net/j0=,,,;+,event=midpoint+stream=ad-vast+mobid=#e{request.deviceId}+cq=#e{ad.externalId}+cq2=+pl=+plv=+login=+uid=#{request.videoRandom}+uid2=+app=;;;
thirdQuartile
https://sitename.2cnt.net/j0=,,,;+,event=thirdQuartile+stream=ad-vast+mobid=#e{request.deviceId}+cq=#e{ad.externalId}+cq2=+pl=+plv=+login=+uid=#{request.videoRandom}+uid2=+app=;;;
complete
https://sitename.2cnt.net/j0=,,,;+,event=complete+stream=ad-vast+mobid=#e{request.deviceId}+cq=#e{ad.externalId}+cq2=+pl=+plv=+login=+uid=#{request.videoRandom}+uid2=+app=;;;
  • No labels