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 | 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 | hardcoded | This variable must contain one of the following strings
| |||
stream | hardcoded | This variable contains always the fixed string
| |||
mobid | iOS Android 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 | 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 | macro_3 | ? | The BCID from the content alongside which the ad was served. | ||
pl | macro_4 | ? | The player name. | ||
plv | macro_5 | ? | The player version. | ||
login | 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 | macro_7 | #{ad.ref.random} qqqqqqqqqqqqqqqqqqqq | Kantar’s own specification is a random number in base36 encoding, but other formats are acceptable too.
| 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 | 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 | iOS Android 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
Event | Tracking 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=;;; |