This is potentially a good compromise (the assumption is to use it for both request and response path).
However, here are some thoughts:
- On the request side, for each supported event we should have an array of methods that reports the id of each vendor that supports that event. Now, the question is should the exchange really maintain this mapping? Or should this rather be an expectation from the buyer to the viewability vendor? In an ideal scenario, an exchange should just declare that a specific SDK is available and (hence) the given vendor can be used for tracking. Anything more granular (eg. viewable-mrc50, viewable-mrc100, viewable-video50) should not even be of a concern for the exchange.
- On the response side, again, would the exchange need to know what event the bidder is after? Keep in mind, I am only referring to viewability context here; for other events this might make sense. If this boils down to billing purposes, then it gets even more complicated and 'event' by itself would not be able to solve for this.
Also, the
description of url/js here is quite blurred: "
URL provided will be inserted as a 1x1 pixel {as a js tag} at the time of the event." What is this for? Is the exchange supposed to fire a pixel once the event (eg. viewable-video50) happen? If so, are
all the vendors going to expose a callback for the exchanges? Why should even the exchange be in charge of this?
On the other hand, if its scope is more around handing over a JS resource to the exchange in order to let the vendor track, then - do we even need this? For display, the javascript tracker can just be sent via adm; for VAST video, it can easily live within adverification node.
In a nutshell, my biggest concern is that we are overcomplicating viewability signaling from an exchange perspective. I would rather have an easy field that simply signals what vendor SDK has been bundled by the supplier (which is what 'viewabilityvendors' does). Any further granularity should be pitched and negotiated by each viewability vendor.
Does the forum believe the exchange should rather maintain such mapping for each vendor and signal everything in request?
Also, today I am seeing just 3 proposed viewability events, what if tomorrow we get 10 of them? Request size would be something else to keep in mind, not to mention the fact that each exchange might come up with its own id in order to support the new event type. Open RTB 3.0 should standardize the way of representing viewability, given the extreme granularity of events obj, there is a concrete risk each exchange will come up with its own interpretation.
Viewability is now becoming a commodity - should not it deserve a dedicated/distinct field in request?