Troubleshooting Ad Campaigns

Product(s)
Video Cloud
Role(s)
Studio User
Topic(s)
Legacy Studio

This topic describes how to troubleshoot video advertising issues in your Video Cloud player. It is intended for Video Cloud Pro or Enterprise publishers who are selling and serving video ad campaigns.

This functionality is not available for Video Cloud Express customers. If you are interested in upgrading your Video Cloud account, please contact your Brightcove Account Manager for more information.

Troubleshooting Tools

There are many helpful tools that you can download or purchase to help you troubleshoot video ad campaigns within Video Cloud players:

  • An HTTP tracing tool, like Fiddler, Charles, or Service Capture.
  • Your preferred HTML editor or a simple text editing tool, like Notepad.
  • An XML mapping tool.

Collecting the data for troubleshooting

In order to troubleshoot ad behavior properly, you will need to gather the information listed below from the Advertising module or from the person who specifies the ad policies for your Video Cloud players.

You will need to obtain:

  • A link to the Video Cloud player
  • Details about the Ad policy that was set for the Video Cloud player.
    For example, the player's ad policy might be set to time-based, with pre-roll ad requests every two minutes. If you did not know this information when tracing ad requests for troubleshooting, you wouldn't know to keep watching for a video for two minutes to trigger the ad request and you might lose valuable time.
  • Verification that all the videos in the player have been enabled for advertising.
    If videos in the player are purposefully disabled for ads, then you will not see any ad requests when debugging.

Identifying a Video Cloud player

Below are some quick hints for identifying a Video Cloud player.

When the player is loading:

  • Look for the gray Video Cloud player pre-loading symbol:

Pre-loading symbol

When the player has loaded:

  • Look for the Brightcove logo:
  • LogoLogo

To further verify the video player is a Video Cloud player, follow the steps below:

  1. Start the HTTP tracing tool.
  2. Load the player in a browser. If the video in the player does not automatically start to play back, click Play to start the video.
  3. Read the HTTP traces logged in the tracing tool and locate: http://admin.brightcove.com/viewer/. The SWF that loads will identify the player's platform version.
  • For Video Cloud players the SWF is: AVM1AdProxy.swf
  • For Brightcove 2 players, the SWF is: federated_f8.swf

Note: It is important to know if you are debugging a Brightcove 2 player or a Video Cloud player. Brightcove 2 players were built on ActionScript 2 technology and are managed through the Brightcove Console. Current publishers will be using Video Cloud players built on ActionScript 3, and these players are managed in the Video Cloud Studio, using the Publishing and Advertising modules.

Understanding the attributes of an ad request

The following is an example of an ad request sent from a Video Cloud player:

http://ad.server.com/adtype/publisher.com/;frmt=22;frmt=0;frmt=1;frmt=2;frmt=6;frmt=20;frmt=15;frmt=14;frmt=21;
plID=10172898001;lnID=715959366;ttID=65595167;cue=pre;cgm=0;cachebuster=11431762870?
  • In the example above http://ad.server.com/adtype/publisher.com/ is the Ad Server URL.
    For most ad servers, the Ad Server URL will be the beginning of the ad request up to the key/value pairs.
  • In the example above ;frmt=22;frmt=0;frmt=1;frmt=2;frmt=6;frmt=20;frmt=15;frmt=14;frmt=21; plID=10172898001;lnID=715959366;ttID=65595167;cue=pre;cgm=0; are the key/value pairs that Video Cloud passes automatically for every ad request. The frmt numbers indicate the ad formats that are supported by the player making the ad request.
    After the frmt values, the player, playlist and video IDs are provided as plID, lnID, and ttID.
    The cue key passes the ad insertion point information; in this case a pre-roll ad request is indicated by cue=pre.
    Lastly, the cgm key indicates whether the ad request is for a consumer generated media video or not (cgm=0 means this is not a CGM video).

Verifying ad requests

To verify that the ad requests are being made properly, follow the steps below:

  1. Start the HTTP tracing tool.
  2. Load the Video Cloud player in a browser. If the player does not start to play automatically, click Play and wait until an ad request is triggered according to the policy that was set in the Advertising Module.
    The ad policy for the player can be time-based or title-based, meaning that ads may only play after a certain period of time has passed or after a certain number of videos have played back. Because of this, you may have to click on several videos or wait for a specific amount of time before an ad is requested.
  3. Read the HTTP traces and locate your ad server's ad request. It will begin with your ad server's domain address.
    For example, a DART for Publishers (DFP) user in the US should look for an HTTP call starting with: http://ad.doubleclick.net/.
  4. If your tracing tool groups similar traces, drill down until the very end of the ad request.
  5. Copy the ad request from the tracing tool and examine it in Notepad or an HTML editor.

Are you not seeing an ad request at all?

  • Verify that the player, and videos within the player, have been enabled to make ad requests.
  • Verify that an Ad Server URL been assigned at the account-level(default) or at the player-level.

Are you seeing a malformed ad request?

  • Ensure the correct Ad Translator has been selected for your ad server connection.
  • If you are not connecting to your ad server with an Ad Translator, verify with your Development team that they are using the adServerURL config in the player's publishing code

    NOTE: If you are a DART for Publishers (DFP) customer, you should NOT override the default Ad Translator in the Video Cloud Advertising module. Brightcove's default Ad Translator is DFP (DART for Publishers).

Examine the response from the ad server

Once you've verified that your player is receiving a response to the ad request, the next step is to examine the XML response from the ad server:

  1. Start your HTTP tracing tool.
  2. Load the Video Cloud player in a browser. If the player does not start playing back a video, click Play.
  3. Read the HTTP traces and locate your ad server's ad request. It will begin with your ad server's domain address.
  4. If your tracing tool groups similar traces, drill down until the very end of the ad request.
  5. Copy the ad request from the tracing tool and examine it in Notepad or an HTML editor. The code returned from the ad server should be:
    • One of the Video Cloud-supported XML templates (for example, <videoAd>, <SynchedOverlay728x90>, <SynchedBanner728x90>, etc.).
    • The DFP InStream Video XML (for example, <InStreamFlashCreative>).
    • Custom XML
  6. Verify that all elements of the XML template are correct.
    • Ensure the capitalization and spelling of the XML node names are correct.
    • Ensure each XML node has an open tag and a proper close tag.
  7. Check to make sure all the ad creative links are valid and the creatives are live by copying and pasting them into a browser. If links do not work, you need to verify with the team that loaded them onto a web server for you.

If all links to assets are valid, you might try to modify the XML with ad creatives that you know have displayed properly on a Video Cloud player, and then map the ad requests from your player to the XML saved locally on your hard drive.

Are you seeing custom XML code?

If you have used the Video Cloud Ad API to synchronize ads outside of the Video Cloud player on the HTML page with ads inside your Brightcove player, you might see a modified version of the Video Cloud XML ad template. Check with your internal development team to find out more about how your integration was customized to trigger Video Cloud's externalAd function and ask your team to verify the proper ad XML is being returned and that the JavaScript code is handling it properly.

Are you getting empty HTML tags?

Confirm that the Ad Server URL you have specified has been added to your ad server's network properly. If you are using new ad targeting for your video ad requests, you may not have correctly entered the targeting options in your ad server.

If the issue persists, you should submit a case to your ad server's support organization. That case should include the troubleshooting steps already taken.