WICG / turtledove

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

browserSignals and prevWinsMs #1262

Closed TheTamFamily closed 2 weeks ago

TheTamFamily commented 4 weeks ago

There are two related issues and they are:

https://github.com/WICG/turtledove/pull/852 https://github.com/WICG/turtledove/issues/853

In the Buyer's reportWin function we append the browserSignals and sendReportTo our endpoint as per example below:

GET /event?type=win&v=1&prebidFloor=0.256&prebidFloorCurrency=USD&page=https%3A%2F%2Fcodinginadtech.com%2Fprebid-live-tests%2Ffledge%2Fgpt-simple.html&topWindowHostname=codinginadtech.com&seller=https%3A%2F%2Fprivacysandbox.openx.net&joinCount=2&bidCount=0&forDebuggingOnlyInCooldownOrLockout=false&adComponentsLimit=40&recency=72400&requestedSize_width=300px&requestedSize_height=250px&prevWins=&prevWinsMs=&interestGroupName=r42-ad-original&bid=2&bidCurrency=USD&renderURL=https%3A%2F%2Fexplorefledge.com%2Fmedia%2Fr42-ad-original.html%3Fformat%3D%24%7BAD_WIDTH%7Dx%24%7BAD_HEIGHT%7D&winningBid=2&winningBidCurrency=USD&madeWinningBid=true&highestScoringOtherBid=0&highestScoringOtherBidCurrency=USD&madeHighestScoringOtherBid=false HTTP/1.1" 200 50 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

We have searched through our entire log of all win events and neither prevWins or prevWinsMs are ever populated with any values.

We also do not see these signals in the browser console when running a test. Is there something obvious that we are missing as these signals are critical for capping frequency and we do not see another way to satisfy this Use Case.

MattMenke2 commented 4 weeks ago

That is expected behavior - reportWin() and reportResult() are passed minimal information about the interest group to mitigate cross-site tracking of users. See sections 5.2 of the explainer to see what fields are available in the browserSignals object passed to reportWin().

TheTamFamily commented 4 weeks ago

@MattMenke2 : Am I right to say that this is ONLY available in generateBid. Second question, how can I find out how many browsers within an IG are below a frequency cap. This would be useful as it would give me some clue as to how many I can still target.

MattMenke2 commented 4 weeks ago

In terms of what data is directly available to Javascript calls, yes, it's only available in generateBid(). It's possible the reporting API and/or aggregate reporting API have some way to include win count, I'm not sure. I'm not at all up to date on the reporting APIs.

By "frequency cap" do you mean how many times that particular IG has won auctions, which is more of a count than a frequency? Sorry, not trying to be nit-picky here, just want to make sure I'm correctly understanding you. I think the way to do that would be to track wins, server-side, but I suspect someone more familiar with the reporting side of things can better answer your question.

TheTamFamily commented 3 weeks ago

@MattMenke2 : By frequency, more concisely, it is the number of times that a specific ad was show to a user / browser within a specified window.

Is there a possibility that we can report on the number of browsers that have met the cap level so we can see how many can still be targeted? This is useful when assessing budget.

MattMenke2 commented 2 weeks ago

@TheTamFamily: There's a new proposal to expose this information to SharedStorage, which has access to aggregated reporting, which may meet your needs. The proposal is here: https://github.com/WICG/shared-storage/pull/180

TheTamFamily commented 2 weeks ago

Thanks @MattMenke2 : We plan to implement the TEE in the coming weeks so we will run some tests.