Adding In-Stream Video Ads to your Web-Based Videos

In-stream Video monetization for Audience Network is available to select publishers on an invitation-only basis.

Video publishers can now use Audience Network's In-stream solution to deliver video ads to their global audience across mobile and desktop environments in pre-roll and mid-roll settings. Follow this guide to display this type of ad unit for web-based video content. For monetizing your mobile app video content with in-stream ads, see the iOS implementation guide and the Android implementation guide. Or, if you're interested in other kinds of ad units, see a list of available types.


Please refer to the "In-Stream Video Requirements" section of the Design Guidelines for Audience Network Ads.


Once your Audience Network account has been setup for In-stream Video, you will be able to create an In-stream Video VAST tag that you will use to place into you video player or ad server that will return this tag to the video player. VAST (Video Ad Serving Template) is an IAB specification for structuring ad tags that serve ads to video players. The In-stream Video VAST tag is a client-side tag (not server-side) and is designed to run from the client's device.

When Audience Network has a video ad to be served, the In-stream Video VAST tag will respond with ad parameters and a VPAID (Video Player Ad Serving Interface Definition), which is an application that your video player will run to render the ad, as well as manage performance and tracking.

Before using the In-stream Video VAST tag, identify the video player or ad server macro that will return the full-page URL where the In-stream Video ad is delivered. You will need to specify this macro as the value for the run-time parameter 'pageurl' in the In-stream Video VAST tag.

Following is the layout of the Audience Network In-stream Video ad.

  • AdChoices icon is located on the top left of the ad.
  • Learn More button is located on the top right of the ad. This is the call to action button for the video ad. Please note that clickthroughs are optional, and the Learn More button may not appear if a clickthrough has not been defined for the ad.
  • Skip counter and button is located on the bottom right of the ad. Video ads that are 31 seconds or longer will display a Skip countdown for 10 seconds, after which the Skip ad button will be displayed. Video ads less than 31 seconds will not display the Skip Counter and Button. Publishers are not permitted to change when a user can skip an ad, or add any additional skipping functionality.

Please note that iOS devices running version 9 or less will render video ads using the native player and in full-screen. The Skip Ads functionality will not be displayed and applies to all video ads not unique to Facebook Audience Network. iOS 10 allows in-line (instead of full-screen) video display from browsers (e.g., Chrome and Safari) and the Skip function will render successfully.

Step 1: Setup Monetization Manager

In-stream Video monetization for Audience Network is available to select publishers on an invitation-only basis.

After you have been approved for Audience Network in-stream video monetization, follow the instructions in Start Monetizing your website with Audience Network in-stream video. This will provide you details on how to:

  • Setup your Monetization Manager
  • Create Properties
  • Create Platforms
  • Create Ad Spaces
  • Create Placements
  • Enter Payment Details
  • Submit your domain for review

The information below provides details for implementing the In-stream Video VAST tag.

Step 2: VAST Tag Implementation

To retrieve the In-stream Video VAST tag from the Platform creation procedure, click on Copy Instructions button.

You can also get the In-stream Video VAST when creating a new placement, or by going directly to the placement, and press the Get Code button.

Be sure to set the pageurl run-time parameter to your video player or ad server macro that returns the full-page URL. Do not hard-code the URL value. For example, if you are implementing the Audience Network VAST tag in DFP, the tag would appear as:

Your VAST tag will not return an ad if the pageurl value is not set correctly.

Step 3: Place Tag into your Video Player or Ad Server

After specifying the pageurl run-time parameter to the video player or ad server macro, implement the tag into the same video player or ad server. The pageurl value should resolve into an encoded full-page URL. Refer to the "Verify the VAST request" topic below for an example.

Step 4: Verify VAST Tag

  1. Place the In-stream Video VAST to a specific piece of video content.

  2. Use an HTTP Proxy tool (e.g., Charles Proxy, Fiddler, Browser Development Tool, etc.,) to examine the HTTP traffic from the client.

  • Perform a search for your In-stream Video VAST tag. If you cannot locate the tag in the HTTP traffic, work with your player development or ad server team to determine if the tag has been implemented properly.

  • Verify the VAST request. If have located your VAST tag in the HTTP traffic, review the VAST request to ensure the placement id is correct and the full-page URL is encoded. For example:
  • Review the VAST response. The VAST response will contain a large amount of data when an ad is returned. You can determine when an ad is returned if you see the Ad id="FBAN" as the first element returned in the VAST response.

Audience Network will return an error message if it determines that the request is not valid. If an error message is returned, correct the issue and re-test.

When testing new domains, you may not receive an ad response. New domains require a review by the Audience Network team before it is approved for ads. You can determine if your domain has been approved in the Apps and Websites section of the Audience Network UI.

Step 5: Verify Ad Unit

  1. Visually inspect the placeholder of the ad unit to ensure it shows the ad. For an example of the Audience Network In-stream Video ad layout, review the information in the Implementation section.

  2. Ensure that the AdChoices icon redirects you to

  3. Ensure that the Learn More button redirects you to the advertiser's landing page. Please note that a video ad may not have a Learn More button.

  4. Ensure the Skip countdown is displayed and the Skip Ad button returns you to the video content. For more information on the Skip function, review the information in the Implementation section.

  5. Ensure sound is on by default.

  6. Ensure the video width is at least 500 pixels on Desktop and 300 pixels on Mobile.

  7. Check the dashboard to verify the ad is processed and logged by the system.