Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BuyerAndSellerReportingId overwrites BuyerReportingId #1380

Open
zhuoli-fledge opened this issue Jan 9, 2025 · 7 comments
Open

BuyerAndSellerReportingId overwrites BuyerReportingId #1380

zhuoli-fledge opened this issue Jan 9, 2025 · 7 comments

Comments

@zhuoli-fledge
Copy link

As per the privacy sandbox guidance, buyerAndSellerReportingId will overwrite buyerReportingId when generateBid does not return selectedBuyerAndSellerReportingId.

This is unexpected because buyerReportingId contains information that buyer does not want to share with seller. If an ad contains buyerReportingId, buyerAndSellerReportingId and selectableBuyerAndSellerReportingIds but generateBid does not return selectedBuyerAndSellerReportingId, buyer still wants to know buyerReportingId.

@dmdabbs
Copy link
Contributor

dmdabbs commented Jan 9, 2025

Chrome permits returning an empty string for selectableBASRI (pretty sure you still have to declare this in each of the IG's ads 🙄) so you can get all your ids.

@zhuoli-fledge
Copy link
Author

Chrome permits returning an empty string for selectableBASRI (pretty sure you still have to declare this in each of the IG's ads 🙄) so you can get all your ids.

The problem is not at selectableBASRI but at selectedBASRI. Even if the buyer provides buyerReportingId, buyerAndSellerReporingId, selectableBASRI (non-empty) for a particular ad, it does not mean that generateBid will always return selectedBASRI. When the selectedBASRI is not returned from generateBid, buyer still wants to know the buyerReportingId, which currently is infeasible because of this overwriting behavior.

@dmdabbs
Copy link
Contributor

dmdabbs commented Jan 9, 2025

When the selectedBASRI is not returned from generateBid, buyer still wants to know the buyerReportingId, which currently is infeasible because of this overwriting behavior.

I'm with you there.
As I understand it, one can return selectedBuyerAndSellerReportingId="" and unlock your other ids in reporting.
IMO ids, especially BASRI (intended to accommodate seat ids), need a rethink.

@zhuoli-fledge
Copy link
Author

As I understand it, one can return selectedBuyerAndSellerReportingId="" and unlock your other ids in reporting.

Yes this will do the work. I hope if Chrome folks can confirm this behavior.

@zhuoli-fledge
Copy link
Author

Additionaly, if selectedBASRI is not from selectableBASRI, what is the overwriting behavior here?

@dmdabbs
Copy link
Contributor

dmdabbs commented Jan 10, 2025

As I recall from the FLEDGE call, the empty string selectedBASRI returned with the bid must be present in the corresponding ad in IG.ads[].selectableBASRI[]. Per Explainer,

if it's not in the array, the bid is ignored

My bid was rejected with

Worklet error: https://testhost.net/static/bidding-logic.js generateBid() bids sequence entry: Invalid selected buyer and seller reporting id

@zhuoli-fledge
Copy link
Author

zhuoli-fledge commented Jan 10, 2025

As I recall from the FLEDGE call, the empty string selectedBASRI returned with the bid must be present in the corresponding ad in IG.ads[].selectableBASRI[]. Per Explainer,

if it's not in the array, the bid is ignored

My bid was rejected with

Worklet error: https://testhost.net/static/bidding-logic.js generateBid() bids sequence entry: Invalid selected buyer and seller reporting id

This means that when an ad has selectableBASRI, the buyer should always put an empty string just in case generateBid can set selectBASRI as this empty string. In this way the overwriting behavior can be prevented.

This sounds odd to me. I hope Chrome folks can clarify if this is the intention.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants