Player VAST Macros

VAST is a Video Ad Serving Template for structuring ad tags. It is a specification released by the Interactive Advertising Bureau (IAB) that sets a standard for communication requirements between ad servers and video players. Using an XML schema, VAST transfers important metadata about an ad from the ad server to a video player. VAST Ad Tag is a set of standardized code (based on VAST guidelines) that is declared and set on the Primis platform in order to communicate with your ad partner`s server. It tells the server what type of ad to display based on targeting criteria.

An Ad tag can contain macros, which are special parameters that can be added to an ad tag URL that will send dynamic data back to your ad partner`s server. A macro should be added after each key in the tag string, (i.e. ...&key01=${PRIMIS_MACRO_01}..) The key parameter is defined by each ad provider individually, below you can find an example with different keys from the different ad partners.

In this document, you can find the Primis VAST macros list with a description.

Each Primis Tag Consists of:
Protocol: must be set to HTTPS
Ad partner domain name, e.g. ://primis.tech/
Ad partner specific path
Key parameters and macros.
Save changes.
E.g. ...?key01=${PRIMIS_MACRO_01}¶meter02=${PRIMIS_MACRO_02} etc.

Tag Example:

https://vast.example.com/vast/ vast/2.00/194480?VPAID=js&content_page_url=${VIDEO_PLAYER_REFERER_URL_ENC}&
cb=${VIDEO_PLAYER_CACHE_BUSTER}&player_width=${VIDEO_PLAYER_WIDTH}&player_height=${VIDEO_PLAYER_HEIGHT}&
content_type=video&vid_duration=${VIDEO_PLAYER_CONTENT_DURATION}&vid_url=${VIDEO_PLAYER_CONTENT_URL_ENC}&
vid_id=${VIDEO_PLAYER_CONTENT_ID}&vid_title=${VIDEO_PLAYER_CONTENT_TITLE}&vid_description=${VIDEO_PLAYER_CONTENT_DESC}&
device[ua]=${VIDEO_PLAYER_USER_AGENT}

❗️

Please note that all values are encoded.

MacroDescription
${VIDEO_PLAYER_REFERER_URL_ENC}Page URL address
${VIDEO_PLAYER_CACHE_BUSTER}Cache buster
${VIDEO_PLAYER_WIDTH}Player width
${VIDEO_PLAYER_HEIGHT}Player height
${VIDEO_PLAYER_CONTENT_URL_ENC}Content URL address
${VIDEO_PLAYER_CONTENT_ID}Video content Id
${VIDEO_PLAYER_CONTENT_DESC}Video Content description
${VIDEO_PLAYER_CONTENT_TITLE}Content title
${VIDEO_PLAYER_CONTENT_DURATION}Video content duration
${VIDEO_PLAYER_USER_AGENT}The user's origin user agent
${VIDEO_PLAYER_IP_ADDR}User's IP address
${VIDEO_PLAYER_DEVICE_MANUFACTURER}User's device manufacturer
${VIDEO_PLAYER_DEVICE_MODEL}User's device model
${VIDEO_PLAYER_DEVICE_MODEL_CODENAME}Code name of user's device model
${VIDEO_PLAYER_DEVICE_OS}User's device operating system
${VIDEO_PLAYER_DEVICE_OS_VER}Version of user's device operating system
${VP_IS_APP}Tag is attributed to a mobile application
${MOBILE_APP_ID_MACRO}Mobile application ID
${MOBILE_AID_IDFA_MACRO}Android AID / iOS IDFA
${MOBILE_APP_NAME_MACRO}Mobile application name
${MOBILE_APP_BUNDLE_ID_MACRO}Mobile application bundle Id
${MOBILE_APP_STORE_URL_MACRO}Mobile application store URL
${MOBILE_APP_PRIVACY_POLICY_MACRO}Does the mobile application have a privacy policy? Possible values: 0, 1
${MOBILE_APP_IS_PAID_MACRO}Is the mobile application paid? Possible values: 0, 1
${MOBILE_APP_DEVELOPER_MACRO}Mobile application developer's / publisher's name
${MOBILE_APP_VERSION}Mobile application version
${GEO_LATI}Geographic latitude
${GEO_LONG}Geographic longitude
${VIDEO_PLAYER_VIEWABILITY_STATE}Returns player viewability state. Possible values: 0 (non-viewable), 1 (viewable), -1 (unknown)
${GDPR_CONSENT}GDPR consent string
${US_PRIVACY}CCPA consent string
${PROTOCOL}Protocol. Can be HTTP or HTTPS. Tag example: ${PROTOCOL}://comp.com/...&key=macro