Macros

Macros

SpringServe macros are formatted as capital letters within double curly brackets and will be filled in by the adserver when properly implemented in multiple places: endpoint URLs of demand tags, event pixels, and landing page urls for creative asset demand. 

Demand Tag Setup

When setting up your demand tags, the macros must be implemented correctly in order to pass the values to your demand partners. You can replace them manually or you can use the Suggested Macros tool.

Suggested Macros

Once your endpoint url has been inputted into the endpoint settings, the Suggested Macros tool will populate. SpringServe will detect the adserver and display the endpoint with supported macros replaced with SpringServe macros. Click the Copy button and paste the updated endpoint url into the Endpoint URL field. Most major adservers are included in the Suggested Macros platform list. If you are working with tags from an adserver that is unknown by the suggested macros tool, please reach out to support@springserve.com.

Tag Validator

To check if the demand tag will return a response, you can use the Tag Validation tool. You can validate the tag As Is or you can Replace Macros. When validating As Is, SpringServe will call the tag as it appears in the Endpoint URL field. If there is targeting on the demand tag, you may need to hard code certain macros. For example, if the demand tag is targeting large players, you may want to replace the height and width values with w=1600&h=900. When you select Replace Macros, the endpoint will appear in the tag validator. Click Validate and see if there is a valid response, some error, or an empty VAST response.

Supported Macros & Query String Parameters

Notes:

  • In order for a field to be passed to a demand tag it must be implemented on the supply tag. 

  • All macros and query string params listed below are restricted values for Key Value targeting.

Category

Macro

VAST Query Parameter

OpenRTB parameter

Description

Example values

Requirements

Category

Macro

VAST Query Parameter

OpenRTB parameter

Description

Example values

Requirements

General

{{WIDTH}}

w=

imp.video.w

Device or player pixel resolution, width

1920

 

General

{{HEIGHT}}

h=

imp.video.h

Device or player pixel resolution, width

1080

 

VPAID

{{SIZE}}

size=

n/a

Size of player

S

Size is parsed into dimensions that are passed to demand tags.

Web

{{DOMAIN}}

url=

site.domain

or app.domain

page domain

weather.com

 

Web

{{URL}}

url=

site.page

page url

http://www.weather.com/weather/radar/interactive/l/1037891:5:US

This passes the full page url on the demand tag

Web

{{ENCODED_URL}}

url=

site.page

encoded page url

http%3A%2F%2Fwww.weather.com%2Fweather%2Fradar

%2Finteractive%2Fl%2F1037891%3A5%3AUS

 

Web

{{DOUBLE_ENCODED_URL}}

url=

site.page

double encoded page url

http%253A%252F%252Fwww.weather.com%252Fweather
%252Fradar%252Finteractive%252Fl%252F1037891
%253A5%253AUS

 

General

{{CACHEBUSTER}}

cb=

n/a

random number to prevent caching

3708662946268

 

General

{{TIMESTAMP}} 

 

n/a

unix timestamp

1589919931

 

General

{{TIMESTAMP_MS}}

 

n/a

unix timestamp w/ milliseconds

1589919931035

 

User

{{IP}}

ip=

device.ip

user ip address

52.52.52.52

IP address is used for geo targeting; we recommend passing the public IP address. SpringServe will detect if macro is excluded from exported supply tag.

Device

{{USER_AGENT}}

ua=

device.ua

user agent string

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X)

AppleWebKit/536.26 (KHTML, like Gecko)

Version/6.0 Mobile/10A5376e Safari/8536.25

user agent used for device and operating system. SpringServe will detect if macro is excluded from exported supply tag.

User

{{LAT}}

lat=

device.geo.lat

user latitude

33.543682

 

User

{{LON}}

lon=

device.geo.lon

user longitude

-86.779633

 

Privacy

{{DNT}}

dnt=

device.dnt

do not track

0 or 1

dnt 1 = true and is essentially an opt out of advertisements

User

{{LIVERAMP_EIDS}}

eids=

user section of oRTB

Liveramp envelope ID

XY1000bIVBVah9ium-sZ3ykhPiXQbEcUpn4GjCtxrrw2BRDGM

 

Player

{{DESCRIPTION}}

desc=

n/a

video description

 

 

Player

{{IAB_CATEGORY}}

ic=

site.cat or app.cat

IAB Category ID of site content

IAB19

 

Player

{{DURATION}}

dur=

n/a

content duration length in seconds

15

 

Player

{{MINIMUM_DURATION}}

min_dur=

imp.video.minduration

minimum ad duration in seconds

5

 

Player

{{MAXIMUM_DURATION}}

max_dur=

imp.video.maxduration

maximum ad duration in seconds

30

 

Player

{{AUTOPLAY}}

ap=

n/a

1 if player set to autoplay, 0 if not

0 or 1

 

Player

{{AD_POSITION}}

ad_pos=

imp.video.pos

position of ad

0 Unknown
1 Above the Fold
2 DEPRECATED - May or may not be initially visible depending on screen size/resolution.
3 Below the Fold
4 Header
5 Footer
6 Sidebar
7 Full Screen

see IAB documentation for further details

Player

{{MUTE}}

mute=

n/a

is player muted

1 (muted)
0 (not muted)

 

Player

{{PLACEMENT}}

placement=

imp.video.placement

placement of video

1 (In-Stream)

2 (In-Banner)

3 (In-Article)

4  (In-Feed)

5 (Interstitial/Slider/Floating)

see IAB documentation for further details

Player

{{SKIPPABLE}}

skip=

imp.video.skip

player will allow video to be skipped

0

see IAB documentation for further details

Player

{{PRODUCTION_QUALITY}}

prodq=

app.content.prodq or site.content.prodq

content quality

0 (unknown)

1 (Professionally Produced)

2 (Prosumer)

3 (User Generated)

see IAB documentation for further details

Device

{{DEVICE_MAKE}}

device_make=

device.make

A device Make

Samsung, Apple

 

Device

{{DEVICE_MODEL}}

device_model=

device.model

A devices Model

Galaxy, F8332

 

Device

{{OPERATING_SYSTEM}}

 

device.os

Operating System

IOS, Android, Linux, Windows, etc.

 

Device

{{OPERATING_SYSTEM_VERSION}}

 

device.osv

Version of Operating System

70.0.3538.110

 

User

{{ISP}}

isp=

device.carrier

Internet service provider

comcast

 

Supply Chain

{{INV_PARTNER_DOMAIN}}

inv_partner_domain

app.ext.inventorypartnerdomain or site.ext.inventorypartnerdomain

When a site or an app contains
ad inventory that is owned by
another partner - the app or site
should list all domains for those
partners via this directive.

programmerA.com

 

App

{{APP_BUNDLE}}

app_bundle=

app.bundle

app bundle

591560124, com.pic.photoeditor

 

App

{{APP_NAME}}

app_name=

app.name

app name

photoeditor

 

App

{{APP_STORE_URL}}

app_store_url=

app.storeurl

app store URL

https://play.google.com/store/apps/details?id=com.pic.photoeditor&hl=en_US

 

User

{{DEVICE_ID}}

did=

device.ifa

user device id for all device types

437825ef-a4a6-4575-8b70-81630c6d76e5

 

User

{{IFA_TYPE}}

ifa_type=

 

identifier of CTV device type

rida for Roku, idfa for Apple etc

 

Platform

{{AUCTION_ID}}

 

bidrequest.id

auction id

b1b1501f-6bf6-43e6-8199-9b514a765848

 

Event

{{PRICEPAID}}

pp=

n/a

price paid

10

For use on dynamically-priced supply

Event

{{BID_PRICE}}

 

n/a

header bidding bid price

10.5

Only for use on impression pixels