WICG / turtledove

TURTLEDOVE
https://wicg.github.io/turtledove/
Other
522 stars 225 forks source link

Passing information to a 3rd Party measurement service during Ad rendering #926

Open sunnypav opened 10 months ago

sunnypav commented 10 months ago

As part of ad rendering we load some of the 3rd party measurement & viewability verification partners. In case of Display ads we have to load the scripts of these 3rd party partners and pass some information to them.

An example measurement script gets loaded during ad-rendering

Even though few of the parameters we could be able to extract from the ad-render URL some of the parameters we can't because of k-anon restriction. I have gone through the Ad reporting API where in there is a provision to fire some events via registerAdBeacon, registerAdMacro and reportEvent. But that is not is useful for this use-case as this is JS which we need to load by passing the required info. Also, its not clear how in video ads some one can use the reportEvent API as the ad response is a VAST running in a player might not be having the full JS capabilities.

Please share your thoughts in terms how we can support such type of use cases and how can we get the required info to be passed to these scripts.

ajvelasquezgoog commented 9 months ago

Hi @sunnypav thanks for your feedback. A couple questions:

  1. Have you looked at 477, which was live to stable channels as of this September ? Can you please let us know if that addresses your ask and if not would you be able to specify the remaining gap here?

  2. Would you kindly please add a company affiliation to your GitHub profile so we can know which company you are representing? Thanks!

sunnypav commented 9 months ago

Hi @ajvelasquezgoog

Thanks for the response and sharing the relevant info. Added my company affiliation to the profile.

I see from #477 that we can call the reportEvent API with macros where in buyer registers the relevant macros using registerAdMacro in reportWin.

But this requires the 3rd party measurement to change the JS code to use reportEvent API and have the macro contract established with Buyer. Is there anyway to support the substitution of macros directly on the script tag itself ? otherwise the partner might need to implement the suggested change.

In few cases this approach of asking the partner to be compatible can become complex. To give an example our DSP uses 3rd party adserver for ad serving where in the advertiser have setup the adtags which requires some values via macros. In this case it would be difficult to reuse the existing adtags.

-Thanks