googleads / videojs-ima

IMA SDK Plugin for Video.js
Apache License 2.0
450 stars 284 forks source link

Ad request timeout, Empty Vast.. causing VMAP execution to stop #671

Closed Slind14 closed 6 years ago

Slind14 commented 6 years ago

When an error occurs during the execution of a vmap entries (I only use vast tags) the whole vmap execution seems to be stopped. Is this intended? It would be great if it would continue with the other vmap entries.

shawnbuso commented 6 years ago

This is not the intended behavior - can you share your tag with me so I can investigate? Thanks!

Slind14 commented 6 years ago

I always have the issue that these are programmatic tags and it only happens rarely (like once every 10-20 times). How can we go about this? Can we retrieve the "last" vast body error? Are those static so that they can be used for reproduction?

shawnbuso commented 6 years ago

If you can save the VAST responses we can use that, but unfortunately the IMA SDK doesn't expose them via an API - you'd need to grab them from a proxy or the browser's network tab when you see the issue. If you're able to share your tag I can test on my end and see if I can get the error to occur.

Slind14 commented 6 years ago

Hmm, this will be difficult. How do I know which request it was? I'm using vmap and vast waterfalls.

shawnbuso commented 6 years ago

We can start with the initial request - the one you provide to your plugin as the adTagUrl option.

Slind14 commented 6 years ago

The issue I see is to reproduce (trying to get) just that one campaign. Especially with different cookies, geo..

Slind14 commented 6 years ago

The exact error:

AdsLoader error: AdError 303: No Ads VAST response after one or more Wrappers

The latest network requests (latest first):

https://p4-d2cbkcti6lkxy-6xzzb2vlz3w7uhg3-306857-s1-v6exp3-v4.metric.gstatic.com/gen_204?ipv6exp=stb_stb_long&sentinel=1&sa3_img_dt=10557&sa4_img_dt=10589

no response data


https://pagead2.googlesyndication.com/pagead/gen_204?error=303&vis=1&lid=7&sdkv=h.3.216.0&e=40819880&id=ima_html5&c=1596255165299939&domain=hayday-forum.de

no response data


https://csi.gstatic.com/csi?v=2&s=ima&dmc=8&puid=3~jiqw4fin&c=3556192789119&e=40819880&alt=0&sdkv=h.3.216.0&pid=0&ppt=videojs-ima&ppv=1.4.0&mrd=4&aab=1&itv=1&aec=303&rcid=goog_1656430502&met.4=er.kaw

no response data


https://pagead2.googlesyndication.com/pagead/gen_204?rt=third_party&lid=17&sdkv=h.3.216.0&e=40819880&id=ima_html5&c=1531258366500651&domain=hayday-forum.de

no response data


https://vh.adscale.de/vah?sid=YjhmNTAw

response:

<?xml version='1.0' encoding='UTF-8'?><VAST version="2.0"/>

https://pagead2.googlesyndication.com/pagead/gen_204?rt=xfp&lid=17&sdkv=h.3.216.0&e=40819880&id=ima_html5&c=1531258366500651&domain=hayday-forum.de

no response data


https://pubads.g.doubleclick.net/gampad/ads?sz=400x300%7C640x480&iu=%2F117960338%2Fassertcom.de_1&gdfp_req=1&env=vp&output=xml_vast3&unviewed_position_start=1&url=https%3A%2F%2Fhayday-forum.de%2Findex.php%2FThread%2F27671-W%25C3%25BCnsche-und-Tr%25C3%25A4ume-f%25C3%25BCr-HayDay%2F%3FpageNo%3D94&description_url=hayday-forum.de&correlator=888902315243064&cust_params=domain%3Dhayday-forum.de%26video_test%3Dtest_bridtv_false%2Ctest_delay_true%2Ctest_vmap_falsetest_delay_preload_true&eid=40819880&sdkv=h.3.216.0&sdki=3c0d&scor=2865603522568136&adk=256788948&u_so=l&osd=2&frm=0&sdr=1&is_amp=0&adsid=NT&vpa=click&vpmute=1&mpt=videojs-ima&mpv=1.4.0&afvsz=200x200%2C250x250%2C300x250%2C336x280%2C450x50%2C468x60%2C480x70&fbidx=-1&ged=ve4_td27_tt26_pd27_la13000_er0.0.0.0_vi0.0.240.1519_vp0_ts0_eb16491

response:

<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0"/>
shawnbuso commented 6 years ago

Ah ok - so it looks like when you are getting VAST back, it's empty. This isn't something we can help with, since it's an issue with your ad server setup / inventory and not the implementation itself. For the pubads.g.doubleclick.net tag, I would recommend reaching out to the folks on the DFP support forum. It looks like you also have a tag from vh.adscale.de - for that issue you'll need to reach out to the ad scale folks via their support channels.

Slind14 commented 6 years ago

@shawnbuso yes, I have a waterfall/vmap setup for this exact reason, the issue is that it doesn't finish these and throws this error, as if there is some sort of limit or one redirect going too deep.

shawnbuso commented 6 years ago

VMAP is just used for scheduling ad breaks - it lets you say "play a pre-roll, then an add at 3 minutes, then..." etc. But it won't do anything to mitigate empty VAST responses. If you have a pod of ads with an empty response, it will request and play the next ad in the pod. Also, all VMAP errors are wrapped in a LOG event type so as to not act like a fatal error. So if you're seeing an AdError fire, it is not coming from a VMAP response, but a single ad request.

I'm also not seeing anything in your responses that would indicate waterfall - for DFP waterfall, one of your responses should be a wrapper, and in that outer response you'd have the waterfall extension:

<Extension type="waterfall" fallback_index="0"/>

Can you ask the DFP folks to take a look and make sure your waterfall settings are configured properly?

Slind14 commented 6 years ago

I have a vmap which has tags to vast waterfalls. e.g. https://api.assertcom.de/videoads/?h=360px&w=640px&pageurl=&referrer=&uuid=7a1426e4-9785-4e29-a746-faf74d338293&type=vmap&ads=2

shawnbuso commented 6 years ago

If you're getting the error you're seeing above, it means the SDK as exhausted all avenues you've provided to try to get to an ad, and it doesn't have anything left to try. The only thing that could be getting in the way at this point is your max redirects setting, which you can change with the numRedirects plugin setting. If that were the issue, however, you should be seeing a 302 VAST_TOO_MANY_REDIRECTS error, not a 303 error. At this point I would recommend reaching out to your ad serving folks (DFP or ad scale) to ask them to look into your serving settings to see why you're ultimately arriving at empty VAST after exhausting all of your redirects and fallbacks.

Slind14 commented 6 years ago

I see. From the looks of the network console it looks like it is aborting further vmap calls that haven't started when the first vast waterfall goes without fill. Hence I thought/think something is wrong.

Slind14 commented 6 years ago

I'm also usually getting the ALL_ADS_COMPLETED when there was no ad/fill instead of the error.

Slind14 commented 6 years ago

Yeah, I'm sure now. I had a few cases where this error appeared during the first few seconds. It requires a lot more time to go through the waterfall.

shawnbuso commented 6 years ago

Would you be able to capture a network log showing this behavior so I can try to figure out what's going wrong? Thanks!

Slind14 commented 6 years ago

HAR snapshot? I can try to reproduce it.

shawnbuso commented 6 years ago

Yea, anything that shows me the URLs being requested and the responses they send back will work. Thanks!

shawnbuso commented 6 years ago

It's been a while since we've heard from you, so I'm going to close this out. If you still need help feel free to reply here and we'll re-open it. Thanks!