Video SSP's VPAID unit will issue a VPAID AdError event to the player when we do not have an ad to fill. This means that the player must support the VPAID AdError event to interpret this as a no-fill. If the player supports this event, the expected behavior is that they interpret this as a no-fill and will failover to the next ad in their daisychain. If the player does not implement support for this event, the behavior could vary. See below.
All tags that are VPAID-enabled become "VPAID" tags. To put it more clearly: if a tag is configured to support VPAID, we will always load the Video SSP VPAID unit. However, our VPAID unit is simply a rendering layer. It loads, gathers important run-time information, and then makes a subsequent call to our ad server for an ad (or ads). With VAST only, the standard way to indicate you don't have an ad is simply to return an empty VAST. However, in the case of VPAID, we already responded with our VPAID unit in the VAST response; so, in the case where Video SSP doesn't have an ad to fill, we can't rewind time and return an empty VAST response. However, we can leverage the standard VPAID AdError event. It can be found in the IAB VPAID spec.
What happens if the player does not support the VPAID AdError event?
Some players error out but catch the error in a general way so that they can recover from the error. Typically, there is no ill effect to the user.
Some players error out with a message to the user. Some players time out. This is typically not a great user experience.
Some players may stall if they are unsure how to handle the event or are otherwise waiting for some other VPAID event to occur (e.g., AdStopped) that never comes. This is not a good user experience.
The one common thread is that if the player does not handle the event, typically they are unable to failover on their side and, thus, lose the impression.
So what are my options?
The publisher has the option to implement support for the VPAID AdError event. If that is not a viable option, then the tag will need to be configured without VPAID support (VAST only), but this could negatively impact demand available for the publisher. AdErrors are a reportable metric in Video SSP Analytics.
Another alternative, depending on the particular Video SSP solution, is to use a passback tag, which involves obtaining a tag from the publisher that will be served back to them in the event that there are no ads available--or in the case of VPAID failover if all higher paying ads have been exhausted. Typically, such passback tags are configured exclusively for that publisher and set to lowest priority (11) with a $0.00 CPM to enforce serving only after higher paying ads as a default ad. This effectively hands the impression back to the publisher.