VPAID Playback Breaks when Click Through URL has Query String Parameters

373 views
Skip to first unread message

Andrew Baxter

unread,
Jan 6, 2016, 2:24:29 PM1/6/16
to Interactive Media Ads SDK
Hi IMA Team,

I'm working within DCM to traffic some video creatives and when testing these in the IMA 3 (which most of our publisher partners use) I've run into an interesting problem in which a VAST tag that leads to a VPAID creative works when the click through URL is short and has no query string parameters, but when a query string parameter is added to the click through (we need this for Google Analytics tracking) the playback freezes the IMA 3 and I get a 402 error saying the media files timed out.

Here's example #1 of a tag with a long click through URL, doesn't work:


https://goo.gl/OInI6x (link to VS Inspector with that tag)



Here's an example #2 of a tag with a short click through URL that does work (exact same creative and everything else as above tag, just different click through URL with no query string):


https://goo.gl/rMCA6t (link to VS inspector with that tag)

Click through being used: http://www.tecfidera.com/?cid

Furthermore, if I edit the source of the #1 tag so that with the "AdParameters" section the ExitEvent destinationURL is something like "http://www.google.com" with no query string params, the VAST file works for playback, if it's a longer URL with params I see a "\x3d" being subsituted for the "&" and as long as that is present the VAST file fails to play.  A final note, when I test the #1 VAST tag with long URL in the JW Player test player it plays without issue, so it seems the tag is legit and being formatted correctly by DCM but the IMA3 does not like something about the click through URL.  Any input from the IMA 3 team on what might be happening here would be great.




Andrew Baxter

unread,
Jan 6, 2016, 2:46:47 PM1/6/16
to Interactive Media Ads SDK

On Wednesday, January 6, 2016 at 2:24:29 PM UTC-5, Andrew Baxter wrote:
Hi IMA Team,

I'm working within DCM to traffic some video creatives and when testing these in the IMA 3 (which most of our publisher partners use) I've run into an interesting problem in which a VAST tag that leads to a VPAID creative works when the click through URL is short and has no query string parameters, but when a query string parameter is added to the click through (we need this for Google Analytics tracking) the playback freezes the IMA 3 and I get a 402 error saying the media files timed out.

Here's example #1 of a tag with a long click through URL, doesn't work:

Tyler Sidell (IMA SDK Team)

unread,
Jan 6, 2016, 4:53:19 PM1/6/16
to Interactive Media Ads SDK
Hi Andrew,

Thanks for providing a detailed description of the issue that you are facing.  I was able to see the issue that you've described and ran some tests on my end.  I believe that you are having issues, not because of the parameters themselves but instead because of the structure of the destinationURL.  The structure that you have set up is breaking the XML and thus causing a timeout.

Currently, in the tag that is not working you have:

The backslashes ('\') need to either be escaped or changed to forward slashes ('/'). If you manipulate the destinationURL variable to the following, the ad plays without any timeouts:

Andrew Baxter

unread,
Jan 7, 2016, 9:40:52 AM1/7/16
to Interactive Media Ads SDK

Hi Tyler,

Thanks for the feedback, to be clear, I'm not putting in the "\x3d" into the URL, the ad server (DoubleClick Campaign Manager) is formatting it that way.  Below is a screenshot of how the URL is entered within the ad server UI (with "&" and "=") and the VAST tag the ad server responds performs this "\x3d" encoding on the "=" characters (apparently it's the hex ASCII representation), so we have no control over this behavior by DoubleClick:

Would you say this is then a bug on the ad server side to be encoding the URL with these ASCII hex representations of "=" and "&" signs?  Note that the JW Player and Zedo player do *not* have a problem handling the "\x3d" encoding and other VAST validators indicate the VAST is compliant.  I used these other two VAST validators to playback the video in HTML5 rendering mode:



If you switch to using the Google IMA3 on the JW Player site the ad won't play, otherwise it does play.  At the very least I would expect the IMA to play the video and not freeze all playback content for 15 seconds and destroy the user experience due to a click through URL that may not be valid.  If you take the oddly formatted URL and put it into the URL field of Chrome or Firefox it can handle the URL gracefully, even if not technically correct.

Tyler Sidell (IMA SDK Team)

unread,
Jan 7, 2016, 4:44:06 PM1/7/16
to Interactive Media Ads SDK
Hi Andrew,

I've captured all of this information and will discuss options with the rest of the team.  I will keep you posted through this thread about our progress.

Thanks,
Tyler Sidell
IMA SDK Team

Andrew Baxter

unread,
Jan 8, 2016, 10:12:58 AM1/8/16
to Interactive Media Ads SDK
Thanks Tyler, I appreciate if you and your team can take a closer look at this, the problem is preventing us from using ad server macros in links for these VPAID creatives right now so the workaround is utilizing a url shortener and manually coding links, not the end of the world but an inconvenience.  I think the bigger concern is just the player behavior of freezing for so long instead of immediately just skipping to content if there's a problem with the exit link, we don't want to inadvertently hurt the user experience.

Tyler Sidell (IMA SDK Team)

unread,
Feb 3, 2016, 4:05:42 PM2/3/16
to Interactive Media Ads SDK
Hi Andrew,

Our team has taken a look at your issue.  We have concluded that although destinationUrl does have special characters, the SDK is not responsible for unescaping these.  We concluded that this is not a problem with the SDK, but with the ad itself. 

Thanks,
Tyler Sidell
IMA SDK Team

Andrew Baxter

unread,
Feb 3, 2016, 4:13:32 PM2/3/16
to Interactive Media Ads SDK
Hi Tyler,

Thanks for getting back.  But what about the player behavior of freezing for fifteen seconds if there are special characters in a destinationUrl?  If it's not up to the player to handle unescaping macros you can put in DCM I guess I can take that, but the player freezing is a big problem as it's going to anger publishers / users all due to a URL click through.  If publishers are using the SDK they should  not have to worry about it harming user experience for any reason.

Drew

Tyler Sidell (IMA SDK Team)

unread,
Feb 3, 2016, 4:21:24 PM2/3/16
to Interactive Media Ads SDK
Hi Andrew,

I will speak with the rest of the team about your concerns.  In the meantime, the HTML5 SDK has a method called loadVideoTimeout, which will allow you to set a timeout less than the default 15 seconds.

Thanks,
Tyler Sidell
IMA SDK Team

Andrew Baxter

unread,
Feb 3, 2016, 4:42:28 PM2/3/16
to Interactive Media Ads SDK
Thanks Tyler, I'm on the advertising end and not directly working with the SDK but do have to respond to publishers if they experience this issue with one of the VPAID creatives we send out to them, but I'll pass along the loadVideoTimeout issue tip. Ultimately it would be best if the player just immediately skip to content if there's a click through URL that can't be handled instead of having to wait for the default timeout.
Reply all
Reply to author
Forward
0 new messages