- Print
- DarkLight
Configuring Advertising Demand Sources
Configure ADS request URLs and Query Parameters
Configure ADS request URLs and Query Parameters
- Set your VAST3 ad server tags up as Ad Formats in the Transmit Creative Studio
- Provide master playlist request with full set of parameters expected to be passed in a live environment
- Convert required custom macros in VAST tag using wildcard macro format
- Any custom parameter passed in the MPR that is expected to be passed to the ADS should be accounted for
- Consult with your Transmit Integrations contact to ensure all macros/parameters are covered
- Once complete, session-specific dynamic ad targeting can be expected wherever the converted VAST tag and matching MPR parameters are present
Pass Custom Parameters in Your Master Playlist Request
Playlist Request Format: [TransmitPrefix]/[PathToAsset]?[Token]&[PlaylistParams]
Example Playlist with Custom Params
https://live-edge.transmit.live/v2/master/content-origin/6358121ab8e992fdaa0e8752/dg6750_main/playlist.m3u8?token=st%3D1669836056%7E&stream_id=16200&event_id=6750&appName=sampleapp&rdid=00000000-0000-0000-0000-000000000000&is_lat=1&height=1620&width=2160
Common Query Parameters
Transmit has designed our system to be ad server agnostic and flexible. Below is a list of common query params and sample values used to decorate ad requests. Please reference your ad server's documentation for required an recommended values to be added to your ad requests. Insert any query parameter into the playlist request when it's constructed and use the wildcard ad tag Macro to inject it into the ad request to your server.
Query Param | Ad Tag Macro | Definition | Example |
*wildcard | __DYNAMIC~{VALUE} | Add any query parameter to the playlist requestPattern match macro that allows any value passed in a stream playlist to be inserted into an ad request. | Parameter league=mlb AdTag Macro __DYNAMIC~league__ |
appname | __APP_NAME__ | App name | My App |
bundleid | __APP_BUNDLE__ | App bundle ID | com.example.tv |
appid | __APP_ID__ | Unique ID of the app within the exchange | samsung.tv.plus.123 |
appstoreurl | __APP_STORE_URL__ | App store URL | https://www.samsung.com/us/appstore/app/G15147002586 |
domain | __DOMAIN__ | Domain | samsung.com |
referer | __REFERRER__ | Referrer URL | https://www.samsung.com/phones |
ua | __USER_AGENT_ESC__ | User Agent | |
ip | __IP_ADDRESS_ESC__ | IP Address | 108.6.194.170 |
aaid | __IOS_ID__ | IOS Device ID | 68753A44-4D6F-1226-9C60-0050E4C00067 |
gaid | __ANDROID_ID__ | Android Device ID | 014AEC092FA74D78 |
uid | __USER_ID__ | Resettable Device ID for mobile, cookie for desktop. | 014AEC092FA74D78 |
ifatype | __IFA_TYPE__ | Device ID type | aaid |
dt | __DEVICE_TYPE__ | Device type | MOBILE |
os | __PLATFORM_OS__ | Device OS | iOS |
make | __DEVICE_MAKE__ | Device Make | Apple |
model | __DEVICE_MODEL__ | Device Model | iPhone 6S Plus |
carrier | __PLATFORM_CARRIER__ | Carrier | Verizon |
metro_code | __METRO_CODE__ | Metro code (aka Nielsen DMA code) | 501 |
zip | __ZIP_CODE__ | Zip code | 10001 |
auction_id | __AUCTION_ID__ | Unique ID for request | |
w | __WIDTH__ | Player width | 1920 |
h | __HEIGHT__ | Player height | 1080 |
contstrid | __CONTENT_STREAM_ID__ | Content stream ID | 60dcc8565adfe664cd0d3ebb |
extid | __EXTERNAL_ID__ | External ID (supplied by content owner) for content | 7097576 |
duration | __DURATION__ | Ad duration | 30 |
pr | __US_PRIVACY_STRING__ | The US Privacy String on the bid request used for CCPA compliance | 1--- |
isgdpr | __IS_GDPR__ | Whether the auction is subject to GDPR | 0 or 1 |
gdpr | __GDPR_CONSENT_STRING__ | The consent string on the bid request used for GDPR compliance | BOQ7WlgOQ7WlgABABwAAABJOACgACAAQABA |
dnt | __DNT__ | Whether the user has Do Not Track or Limit Ad Tracking set | 0 or 1 |
cb | __CACHEBUSTER__ | Cachebuster | 1.23842E+12 |
custom6 | __CUSTOM_6__ | Custom meta data for content stream | 60dcc8565adfe664cd0d3ebb |
custom7 | __CUSTOM_7__ | Custom meta data for content stream | 60dcc8565adfe664cd0d3ebb |
custom8 | __CUSTOM_8__ | Custom meta data for content stream | 60dcc8565adfe664cd0d3ebb |
rdid | __RDID__ | Resettable device identifier (GAM) | 123e4567-e89b-12d3-a456-426655440000 |
ppid | __PPID__ | Publisher provided identifier | 12JD92JD8078S8J29SDOAKC0EF230337 |
synthid | __SYNTHID__ | Synthetic ID | 123e4567-e89b-12d3-a456-426655440000 |
admode | __AD_MODE__ | YES-specific: ad mode | preview |
pos | __POS__ | YES-specific: resolved value using ad mode | if admode === 'preview' then 'pre' else '' |
srsport | __SR_SPORT__ | Sport radar sport associated with content | nba |
srinvevent | __SR_INV_EVENT__ | Sport radar event associated with inventory | shooting_foul |
session | __SESSION_ID__ | Session ID | 60dcc8565adfe664cd0d3ebb |
bdur | __BREAK_DUR__ | Break duration in seconds | 60 |
bdurms | __BREAK_DUR_MS__ | Break duration in milliseconds | 60000 |
Configure Ad Tag to Dynamically Insert Custom Parameters
Use Transmit's Dynamic Wildard Macro to pattern match any custom parameter in your playlist query and pass it into an ad request.
Wildcard Macro Format
&customparam1=__DYNAMIC~{any.custom.parameter.value}__
Sample Ad Request
https://myadserver.com.com/v1/1234?stream_id=__DYNAMIC~stream_id__&event_id=__DYNAMIC~event_id__&appName=__DYNAMIC~appName__&rdid=__DYNAMIC~rdid__&is_lat=1&height=__DYNAMIC~height__&width=__DYNAMIC~width__