Part 3 of JW Player’s Support Team series on video platform tips, tricks, and best practices
One of the questions we receive the most often is “why are ads not playing in my player?” It is certainly understandable that this is an anxiety-inducing problem, as no ads means no ad revenue. What we find most often is that the player is doing everything correctly, but the ad network is simply not returning an ad for our player to play.
My goal with this blog post is to help you test that our player is doing everything correctly. When you have conversations with your ad networks, you can do so with 100% confidence that our player is not part of the problem. (But if you find that there is an error on our side, we will certainly escalate it to our engineers.)
You can always test your ad tags in our Ads Tester at https://developer.jwplayer.com/tools/ad-tester/
And if you have DFP ad tags, you can use their inspector at https://developers.google.com/interactive-media-ads/docs/sdks/html5/vastinspector
The general rule for DFP tags in our player is this:
If the ad plays in Google’s tester, then it should also play in our Ads Tester with the ad client set to Google IMA.
If the ad still does not play, try setting VPAID Mode to Enabled in our Ads Tester
If the ad still does not play, send it to us so we can test further. And make sure you do not have any geo-blocking or domain restrictions set on your DFP tag.
Initial troubleshooting questions / steps
1) What is the ad client and ad tag that you have configured in the player?
2) If you check your browser’s network inspector, filter for the domain name of your ad tag (or another part of the URL). Are you seeing the request for the ad tag?
Here is a screenshot showing how I filter in Chrome for DFP ad tags. I filter for “gampad” (don’t ask me why, but it has always worked for me, so it stuck. I would love it if someone from Google could tell me where the name gampad came from…)
3) What is the response from your ad network?
You are probably going to see one of four things in the response from the ad network:
The normal VAST response that contains an ad for us to play
A normal VAST response, but the ad creative is not a video, but rather a VPAID Javascript file
A wrapped ad, which I think of as a redirect
An empty ad response. We get something from the ad network but they do not have an ad for us to play.
Ad Network Responses
I do not want to confuse you with the specifics, but here is a sample response for each type:
1) VAST response with a video ad creative:
[code]
//content.jwplatform.com/videos/AEhg3fFb-bPwArWA4.mp4
]]>
…
[/code]
If you see a
2) VPAID response
[code]
https://adnetwork.com/ads/vpaid.js
[/code]
If you notice the MediaFile is Javascript or a .js file, then you have a VPAID response. Please see my notes on VPAID ad creatives down below.
3) Wrapped ad tag
[code]
https://pubads.g.doubleclick.net/gampad/ads?sz=640×480&iu=/124319096/external/utility_samples&ciu_szs=300×250&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&cust_params=sample_ct%3Dredirectlinear&correlator=1292672814
]]>
[/code]
Notice the
4) Empty ad response
This can look a few different ways:
[code]
[/code]
or
[code]
[/code]
Essentially there are only a few lines in the response. From a technical standpoint, an empty response is a perfectly valid scenario. It tells us the ad network received the request but they chose to respond without an ad. It is unfortunate that this is the case, but at least you know the player is doing everything correctly. My first suggestion would be to ask your ad network what you can do to increase your ad fill.
What is the problem with VPAID Javascript responses?
First of all, VPAID is great when it works and the ads play.
But the problem when the ads do not play is that it is almost impossible for us to see what went wrong. And keep in mind that when our player loads a VPAID Javascript file from your ad network, they have complete control over the viewer experience. By everything, I mean the volume, is the ad muted, are there controls to pause or mute the ad, does that one VPAID ad go out and try to load other VPAID ads and make the viewer wait? All of these are controlled by your ad network, and we can only sit there and wait for them to tell us the ad is over.
So what can you do to troubleshoot?
My first suggestion is to ask your ad network for sample ad tags that fill 100% of the time for testing. If they cannot give you one, then I do not think they are being a good partner. They should prove to you that their technology works too, right?
DFP has sample ad tags at https://developers.google.com/interactive-media-ads/docs/sdks/html5/tags
SpotX will build you a sample ad tag at https://www.spotx.tv/tag-generator-src/TagGenerator.html
Choose the laptop
Choose “yes I do!’
Choose “directly into my player”
Choose “VPAID 2.0”
Choose JW Player
We also have a few sample tags too:
https://playertest.longtailvideo.com/vast-30s-ad.xml
http://playertest.longtailvideo.com/vpaid-2-linear-v1.xml
As mentioned earlier, you can always test your ad tags in our Ads Tester at https://developer.jwplayer.com/tools/ad-tester/
Hope this is useful. Please let me know how else I can help,
Todd
Director, Technical Support Team
todd@jwplayer.com
For more posts from the Support Team series, click here.
To learn more about improving the performance of your video ads, schedule time to speak with a video expert.