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 |
|---|---|---|---|---|---|---|
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 |
| |
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 |
|
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 | see IAB documentation for further details |
Player | {{MUTE}} | mute= | n/a | is player muted | 1 (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 1 | 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 | 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 |