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

Can I display multiple advertisers in one FrencedFrame in one auction? #306

Open
matsumoto-kouichi opened this issue May 23, 2022 · 4 comments
Labels
Non-breaking Feature Request Feature request for functionality unlikely to break backwards compatibility

Comments

@matsumoto-kouichi
Copy link

Is it possible to display three native ads in each position (top, middle and bottom) in one auction on a rectangular (300x250) FencedFrame in FLEDGE?

Also, is it possible to mix interest groups and context groups and display them in one FencedFrame?

  • rectangle space(300x250)

スクリーンショット 2022-05-23 16 41 00

@MattMenke2
Copy link
Contributor

Currently the only way to do with is via component ads (not to be confused with component auctions). To do this, all ads must be in the same interest group. The way to do this would be to do:

navigator.joinAdInterestGroup({
...,
'ads': ['https://a.com/ad_framer.html'],
'adComponents': ['https://ad1.com/', 'https://ad2.com/', 'https://ad3.com/',...],
});

And then have that IG's generateBid() script return something like:

{ ...
'render': ''https://a.com/ad_framer.html',
'adComponents': ['https://ad1.com/', 'https://ad2.com/', .'https://ad3.com/'],
}

Then, if that ad wins, ad_framer.html would be loaded in a top-level fenced frame, and could create three nested fenced frames of its own, and load navigator.adAuctionComponents(3)[0] in one, navigator.adAuctionComponents(3)[1] in the next, and navigator.adAuctionComponents(3)[2] in the last (if there were 3 components and 3 fenced frames). Those would all be URN URLs, so the top-level framing URL wouldn't know which ads it was dispalying.

FLEDGE does not currently auctions with multiple "winners" - doing so would likely require a fair bit of design work, and thinking about what potential leaks that would ad.

@matsumoto-kouichi
Copy link
Author

When displaying multiple advertisements from the same advertiser, the method you have indicated seems to work fine.
On the other hand, when auctioning multiple advertisers and displaying them in multiple locations, is the only way to call runAdAuction multiple times?

If we call runAdAuction multiple times, the performance of the front end may drop and
I am concerned that calling runAdAuction multiple times will slow down the performance of the front end and increase the server load on the DSP due to the multiple requests to the DSP.

@MattMenke2
Copy link
Contributor

Yes, multiple ad slots requires multiple auctions. Ad slots aren't all of equal value, so it's likely that interest groups will want to bid different amounts for them.

@matsumoto-kouichi
Copy link
Author

Thank you @MattMenke2 . The three ad positions within the rectangle area are similar in value and
In the case of INVIEW billing, the difference in value is even less.
Currently, by making an ad request to a DSP only once with plcmtcnt=N in an OpenRTB request, multiple ads are bid for by each DSP, and the ranking is determined in a single auction to display the three ads, or the total CPM of the three ads is compared with the CPM of one banner ad and the higher one is displayed, and This is done to optimize the CPM as SSP.
I would like to reduce the communication load with a single call to runAdAuction and trustedBiddingSignalsUrl in FLEDGE as well, but is it possible to evaluate multiple ads with ScoreAd and return multiple ads with runAdAuction in the following way?

auctionConfig = {
// ...
'ad_size_sum_cpm_plcmtcnt': {
'300x250': 1,
'native':3,
}

Example
InterstGroupA(auctionSignals ad size=native)
DSP A: bid 70 Advertiser A
DSP A: bid 60 Advertiser B
DSP A: bid 50 Advertiser C

InterstGroupB(auctionSignals ad size=native)
DSP B:bid 80 Advertiser D
DSP B:bid 40 Advertiser E

InterstGroupA(auctionSignals ad size=300x250)
DSP C:bid N Advertiser F

Display of auctioned ads in a fenced frame
DSP B:bid 80 Advertiser D
DSP A:bid 70 Advertiser A
DSP A:bid 60 Advertiser B

or

DSP C:bid N Advertiser F

https://edition.cnn.com/2023/01/04/tech/tom-zhu-tesla-china-chief-profile-intl-hnk/index.html
When displaying 3 Native ads with different advertisers in the same size as the rectangle space or displaying many ads in the Recommendation widget, as in the middle of the page in the following table, if runAdAuction is called multiple times and trustedBiddingSignalsUrl is called many times I am concerned that this may increase the server load.

@JensenPaul JensenPaul added the Non-breaking Feature Request Feature request for functionality unlikely to break backwards compatibility label Jun 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Non-breaking Feature Request Feature request for functionality unlikely to break backwards compatibility
Projects
None yet
Development

No branches or pull requests

3 participants