Introduction
External Channels enable Ad Ops users to leverage VAST to traffic ads from 3rd party demand sources. For more information about VAST in podcasting, please read the IAB overview.
*PLEASE NOTE: Your Ad Ops profile may not have External Channels support enabled. If you are interested, please reach out to support@art19.com to learn more.
Adding a 3rd Party Ad Server
Before working with a specific 3rd party demand source, it must be enabled on the back-end of your ad ops account. This is to ensure that ART19 has the opportunity to test and validate the 3rd party. If you would like to add a new 3rd party demand source, you will need to contact ART19 Support (support@art19.com) with either a full VAST request URL for testing (preferred) or just the domain of the ad server.
ART19 VAST Support Summary
- Support for VAST 2.0 - 4.1
- IP address and user agent are passed in the VAST request XFF and X-device headers.
- The following macros are supported
- Custom ID
- Device User Agent
- Download Session ID
- Episode ID
- Episode Name
- Genre1
- Genre2
- Genre3
- Language
- Platform Name
- Primary Feed
- Rating
- RSS GUID
- Series ID
- Series Name
- Synthetic ID
- Timestamp
- Timestamp ISO
- VAST wrappers and ad pods are currently not supported.
Using External Channels
To use External Channels, click the External Channels tab on the left sidebar, then select “New External Channel” in the upper right corner.
Then give the External Channel a name. You can optionally select a Type to mark the objective of the campaign.
You can set the Priority on the Information card.
Next, go to the Ad Source card, and select the ad server.
The 3rd party ad servers enabled for your Ad Ops profile will be available from the dropdown menu. Select the 3rd Party Ad Server for the VAST request you will be using for this campaign.
Next, input the VAST request URL into the VAST URL field. The domain of the URL must match the preconfigured domain of the demand source.
Please note: If you want to use VAST to deliver ads in multiple positions in a single download, you must use a distinct External Channel for each position you'd like to target.
Also, although CPMs can be set in the campaign settings these will only be used for ad prioritisation, not as a CPM floor. These should be set on the ad-server side. Please see our Ad Selection Guide for more information on how CPMs affect prioritisation.
Applying Macros
You can pass information about the conditions of the ad request via macros.
Supported macros include:
- Custom ID
- Device User Agent
- Download Session ID
- Episode ID
- Episode Name
- Genre1
- Genre2
- Genre3
- Language
- Platform Name
- Primary Feed
- Rating
- RSS GUID
- Series ID
- Series Name
- Synthetic ID
- Timestamp
- Timestamp ISO
Macros can be added manually or by using the corresponding buttons below the VAST URL field. To apply using the buttons, simply highlight the pre-populated macro from your 3rd party ad server.
Then press the corresponding macro button () to update to the ART19 supported macro.
You can click “Show Details” to view more information about each macro and the information they pass to your 3rd party demand source.
PARAMETERS |
MACRO |
SAMPLE VALUE |
DESCRIPTION |
CUSTOM ID |
{{ customID }} |
a32f3-%40custom-8325e3 |
The custom identifier passed by the client requesting the ad. Custom ID is a URL-encoded string no more than 512 characters in length. To include a Custom ID in the content request, append ?custom_id= to the enclosure URL. Make sure to include the rss_browser parameter if present. |
DEVICE USER AGENT |
{{ deviceUserAgent }} |
Mozilla%2F5.0%20(Macintosh%3B%20Intel% 20Mac%20OS%20X%2010_14_6)%20Apple WebKit%2F537.36%20(KHTML%2C%20like% 20Gecko)%20Chrome%2F84.0.4147.125%20 Safari%2F537.36 |
The user agent string of the device requesting the ad |
DOWNLOAD SESSION ID |
{{ downloadSessionID }} |
2b65e1fd-dad8-4b7e-9edd-99d7ce82c9a9 |
The download session ID will pass a unique identifier for a listener within a single episode download |
EPISODE ID |
{{ episodeID }} |
d35b803c-5322-4463-b001-480c645b35c6 |
The Universally Unique Identifier of the episode from which the ad was requested. You can use this to build an enclosure URL, for example: https://rss.art19.com/episodes/{{ episodeID }}.mp3 |
EPISODE NAME |
{{ episodeName }} |
Test%20Episode |
The title of the episode from which the ad was requested |
GENRE1 | {{ genre1 }} | Arts | Primary genre of the series as defined during series creation |
GENRE2 | {{ genre2 }} | Business | Additional genre data as captured during series creation |
GENRE3 | {{ genre3 }} | Comedy | Additional genre data as captured during series creation |
LANGUAGE | {{ languageISO }} | en | Language of the series |
PLATFORM NAME | {{ platformName }} |
Amazon Music |
The name of the listening platform used by the device requesting the ad. Possible outputs map to the options in our Platform Targeting feature. |
PRIMARY FEED | {{ primaryFeed }} | https://rss.art19.com/example.rss | The primary feed URL of the series related to the episode from which the ad was requested |
RATING | {{ rating }} | Clean | Rating value for content type in an episode. Values can be Clean, Explicit or Unspecified |
RSS GUID | {{ rssGUID }} | gid://art19-episode-locator/V0/yhfc2m2R-IgLX_Wr_JliiXlgXBvjduQNm9N4xsyV3GI | The global unique identifier (GUID) from the RSS feed that identifies the episode from which the ad was requested |
SERIES ID |
{{ seriesID }} |
f590993f-2af4-43ae-8874-eab3fac298be |
The Universally Unique Identifier of the series from which the ad was requested |
SERIES NAME |
{{ seriesName }} |
ART19%20DemoSeries |
The title of the series from which the ad was requested |
SYNTHETIC ID |
{{syntheticID}} | 2c469cf1-f53b-5bea-8e70-0a7240cf6380 |
Non PII identifier which is built by hashing Salt+IP Address+User Agent. The Salt is rotated on a weekly basis |
TIMESTAMP |
{{ timestamp }} |
1566309402586 |
Unix UTC timestamp in seconds of when the ad was requested |
TIMESTAMP ISO |
{{ timestampISO }} |
2020-08-11T19:51:54.924Z |
ISO8601 UTC timestamp of when the ad was requested |
You can further tailor the distribution of your External Channel by filling in the Run, Goal, Pacing, Geographic targets, Episode Defaults, Positional Targeting Defaults, Series and Feeds.