google / ads-privacy

Apache License 2.0
348 stars 85 forks source link

Multi-Seller demo with GPT is not working anymore #77

Open onetag-dev opened 1 year ago

onetag-dev commented 1 year ago

Hi,

I've noticed that this demo https://fledge-multi-seller-with-gpt.glitch.me/ is not working anymore: the 'FLEDGE' ad is not displayed and the FLEDGE auction does not happen. Is something changed? About two or three weeks ago everything worked as expected

zhengweiwithoutthei commented 1 year ago

Hi @onetag-dev, thank you for reporting the issue. We have confirmed the bug and implemented a fix. Please try again and inform us if the issue persists.

onetag-dev commented 1 year ago

Hi @zhengweiwithoutthei, thank you for the reply. The issue seems to persist because no FLEDGE auction happens on publisher page after joining the interest group.

zhengweiwithoutthei commented 1 year ago

Hi @onetag-dev, do you mind sending me an email at zhengwe@google.com with the GAM ad request ("https://securepubads.g.doubleclick.net/gampad/ads?pvsid"=) thanks

bmilekic commented 1 year ago

Hi, we are experiencing a similar issue, including in our own tests with GAM/GPT. We register a component auction via googletag (similar to the multi seller with GPT demo), but we're very seldom able to see a PAAPI auction run. Is it possible that GAM is throttling these auctions currently? If that is the case, would it be possible to know how aggressive the throttling currently is and what is the timeline to remove it? Could individual GAM accounts override the throttle? Thanks!

Addendum: It's mentioned in the GAM docs here: https://support.google.com/admanager/answer/13627134 -- in the prompt at the top, that some form of throttling is going on and that by end of 2023, "up to 10%" of Chrome traffic will be enabled for PAAPI testing. Is this accurate?

rdgordon-index commented 1 year ago

Could individual GAM accounts override the throttle?

Indeed, I was going to suggest something similar -- much like you can disable / opt-out of PAAPI (https://support.google.com/admanager/answer/13627134), perhaps we can opt-in to the override? Or even for particular test line items?

onetag-dev commented 1 year ago

Hi @onetag-dev, do you mind sending me an email at zhengwe@google.com with the GAM ad request ("https://securepubads.g.doubleclick.net/gampad/ads?pvsid"=) thanks

Hi @zhengweiwithoutthei, we just sent you an email with the GAM request,

Thanks

zhengweiwithoutthei commented 1 year ago

@onetag-dev Thanks.

We identified the issue seems to be specific to testing from EU. We are working on a fix and will update with the progress.

In terms of the percentage of traffic, yes, we slowly increase the percentage of traffic as mentioned in https://support.google.com/admanager/answer/13627134. We welcome the feedback on how we can improve this for everyone, and also ensure minimal impact to publishers.

bmilekic commented 1 year ago

In terms of the percentage of traffic, yes, we slowly increase the percentage of traffic as mentioned in https://support.google.com/admanager/answer/13627134. We welcome the feedback on how we can improve this for everyone, and also ensure minimal impact to publishers.

Hi, thanks for being open to feedback!

I think that if you gave publishers using GAM the option to allowlist their choice of component auction sellers, that would be a good start. That way if a publisher chooses to turn on a component auction seller in e.g., prebid, and that seller sets an auction config in GPT, and the publisher has allow listed the seller, that you run that seller's component auction without throttling. This would enable testing PAAPI demand from sellers publishers choose to work with during this phase of rollout.

You could do something even more sophisticated such as what @rdgordon-index has suggested above, enable explicit allow listing from a line item thus allowing publishers to turn off the throttling for specific component sellers and targeted subsets of their traffic, but I think even a simple external seller based allowlist would be a good start at this stage.

rdgordon-index commented 1 year ago

We identified the issue seems to be specific to testing from EU. We are working on a fix and will update with the progress.

I'm testing outside the EU -- is there something else that I can provide to assist in debugging?

You could do something even more sophisticated such as what @rdgordon-index has suggested above

I'd prefer configuration at the GAM network level (i.e. for the entire account) to avoid publishers needing to make any granular line-item level changes; my comment was more about being able to tweak lines during testing/debugging.

and the publisher has allow listed the seller, that you run that seller's component auction without throttling. This would enable testing PAAPI demand from sellers publishers choose to work with during this phase of rollout.

My preference would be to manage this on the seller side -- if the publisher isn't ready to leverage PA component auctions, the SSP exchange configuration should easily be able to manage that. In other words, give the publisher the least amount of PA-related GAM configuration to adjust and manage. That way, it becomes much simpler to scale out without having to repeatedly wait for the publisher to mange changes in GAM.

JoelPM commented 1 year ago

Given that GAM is throttling the PAAPI auction even when Chrome has PAAPI enabled, it would be great if there was a signal in the page that would indicate if GAM has enabled the PAAPI auction for this page view. Prebid.js is currently checking if Chrome supports PAAPI, but there is no way to know when GAM has disabled it, which leads to an overcount in reporting the number of available PAAPI requests.

zhengweiwithoutthei commented 1 year ago

Thank you for the feedback! We will be brainstorming how we can improve this for everyone, and also ensure minimal impact to publishers. In the meantime, Ad Manager has developed a mechanism for developers to be able to ensure that the Google Publisher Tag (GPT) runs a Protected Audience auction when conducting local testing. If you are interested, please sign up here.

onetag-dev commented 1 year ago

Thank you for the feedback! We will be brainstorming how we can improve this for everyone, and also ensure minimal impact to publishers. In the meantime, Ad Manager has developed a mechanism for developers to be able to ensure that the Google Publisher Tag (GPT) runs a Protected Audience auction when conducting local testing. If you are interested, please sign up here.

Hi @zhengweiwithoutthei, we found the issue seems to persist in EU even with the mechanism you provided

zhengweiwithoutthei commented 1 year ago

Hi @onetag-dev, can you give it another try?

onetag-dev commented 1 year ago

Hi @zhengweiwithoutthei, it seems it worked for some hours using the user agent mechanism, but now we got the same situation as before: I can see only interest groups load event, but no bid

zhengweiwithoutthei commented 1 year ago

Hi @onetag-dev, we're investigating the issue and will provide an update as soon as we have more information.

zhengweiwithoutthei commented 1 year ago

Hi @onetag-dev

I have confirmed that the auction is triggered consistently with the UA string approach in EEA, as expected. Seeing only interest groups load event without bid can be expected behavior, as not all buyers may choose to participate in an auction for a given impression, hence no bid.

Are you testing by joining your own buyer's interest group and bidding into your own component seller? Is there a way to share your interest group and auction config setup so that we can reproduce the issue and further assist in debugging?

onetag-dev commented 1 year ago

Hi @zhengweiwithoutthei, we conducted further tests on the Google demo (https://fledge-multi-seller-with-gpt.glitch.me/) and now it seems to work more consistently, but we observed the following random behaviors (using the user agent):

JacobGo commented 1 year ago

Hi @onetag-dev, to clarify, testers must append the special string to a valid user agent as replacing it entirely may trigger legacy charset serving behaviors. Please refer to the following example for reference:

$ curl -IA "FLEDGE" https://securepubads.g.doubleclick.net/td/sjs | grep -Fi content-type:
content-type: text/javascript; charset=ISO-8859-1
$ curl -IA "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 FLEDGE" https://securepubads.g.doubleclick.net/td/sjs | grep -Fi content-type:
content-type: text/javascript; charset=UTF-8
yishi-ttd commented 12 months ago

@zhengweiwithoutthei could you elaborate what's the UserAgent trick? I tried the demo and it doesn't work.

Update: Applied in https://services.google.com/fb/forms/uastringformultisellertestsignup/ but no response.

zhengweiwithoutthei commented 11 months ago

@yishi-ttd You should have received the instruction. Please let me know if otherwise.

yusuf-kh commented 9 months ago

Hi @zhengweiwithoutthei

The fledge demo using multiple seller is not working for me as well. GPT never triggers navigator.runAdAuction() for me. The single seller demo is working, but not this one. Even i applied to https://services.google.com/fb/forms/uastringformultisellertestsignup/ but no response.

JacobGo commented 9 months ago

Hi @yusuf-kh, you should have received the UA string just now. Please let me know if you have any further questions, thanks!

yusuf-kh commented 9 months ago

Hi @yusuf-kh, you should have received the UA string just now. Please let me know if you have any further questions, thanks!

Hey @JacobGo , thanks, i did recieve the instructions. However, gpt still won't trigger navigator.runAdAuction() even after the UA trick. The single seller page works fine for me though, so the fledge apis are all enabled.

JacobGo commented 9 months ago

Hi @yusuf-kh, could you please email me at jmgoldman@google.com with a HAR export from the Chrome DevTools Network tab on the multi-seller demo page? Thanks!

yusuf-kh commented 9 months ago

Hi @JacobGo had another doubt regarding component auctions.

Is the flag resolveToConfig: true set in the component auction level acknowledged by fledge? Or does it only acknowledge it if its set at top level config only?

fliccione commented 7 months ago

Hi, I noticed that the demo is currently not working. The test was conducted with version 123.0.6312.86 of Chrome. In particular, it seems that no PAAPI auction is triggered on the GAM side, even though the user-agent string received is appended.

The call to https://pagead2.googlesyndication.com/pagead/sodar returns a status of (failed) net::ERR_BLOCKED_BY_ORB, although internally it seems to respond with status 204. Regardless, I also tested in a Chrome window with security flags disabled, and the behavior is the same; no PAAPI auction is executed, and no events are reported in the Application > Interest Groups tab.

Are you aware of any reasons for this? Available for support and further information if needed, thank you

l-baglini commented 5 months ago

Hi @JacobGo, I also have problems running the multi-seller demo (from EU). Even using the special UA string, GPT is not triggering navigator.runAdAuction().

Do you have any update on this? Is the multi-seller demo still mantained?

JacobGo commented 5 months ago

Hi @l-baglini, there was an issue with the demo in GDPR countries that should now be resolved after deploying a consent management platform to fledge-multi-seller-with-gpt.glitch.me. Please let us know if you encounter any further problems.

l-baglini commented 5 months ago

Thanks @JacobGo. I see the consent prompt now and the ads are delivered, but I'm not still able to see events in Application > Interest Groups tab of the DevTools.

It seems like GPT is not triggering the PAAPI auction. Do you see PAAPI auction being triggered consistently outside GDPR countries?

JacobGo commented 5 months ago

Hi @l-baglini, do you see any errors in the JS console? You may need to disable attestations when joining the test advertsier interest groups; consider passing --disable-features=EnforcePrivacySandboxAttestations,FledgeEnforceKAnonymity to your Chrome startup command.

If the problem persists, could you please upload a .har network export of the publisher page so I can take a look? Thanks!