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

URL Render Data and size data replacement with calling deprecatedReplaceInURN #11392

Closed
aleskanderl opened this issue Apr 24, 2024 · 11 comments
Closed

Comments

@aleskanderl
Copy link
Contributor

Type of issue

Feature request - PA support with url replacement

Description

Replacement macros for renderUrl link for specific parameters without usage of "deprecatedReplaceInURN" is currently impossible with google PA feature.
I working on prebid adapter and in prebid we will have firstly the contextual auction in which i will provide to the generateBid auctionConfig in which i will populate few relevant parameters such as Width,Height,Placement name/any other related data of the original contextual auction on which it was activated.

My renderUrl link is build with this structure: (example) "https://domain.com/id=12354667?width=%%AD_WIDTH%%&height=%%AD_HEIGHT%%&renderData=%%RENDER_DATA%%".
In native integration i would be fetching this render url link and replace the relevant params with usage of deprecatedReplaceInURN, however in Prebid i have a problem.

Currently prebid does not support usage of "deprecatedReplaceInURN" so i can not call render macro replacement.

Steps to reproduce

https://domain.com/id=12354667?width=%%AD_WIDTH%%&height=%%AD_HEIGHT%%&renderData=%%RENDER_DATA%%
Replace this with any values for render data/sizes.

Expected results

https://domain.com/id=12354667?width=320&height=320&renderData=contextualDataFromAuctionSuchAsPlacementName

Actual results

https://domain.com/id=12354667?width=%%AD_WIDTH%%&height=%%AD_HEIGHT%%&renderData=%%RENDER_DATA%%

Platform details

Every version of prebid,

Other information

I've asked this question on privacySandbox git with no answer on similar possibilities.

@dgirardi
Copy link
Collaborator

What should Prebid do? If I go from https://developer.mozilla.org/en-US/docs/Web/API/Navigator/deprecatedReplaceInURN:

deprecatedReplaceInURN(UrnOrConfig, replacements)

to me means that it needs to be called at the time a paapi ad is rendered. Prebid does not render them (so far), it's either GAM - where I dont' think we can do anything - or the publisher - who is free to call it.

We can take this in consideration for #11379, which adds some rendering logic, but I'm otherwise not sure what the ask is.

@aleskanderl
Copy link
Contributor Author

So basically prebid can not send any signal to GAM for render params?
So the only real option is to publisher to call the deprecateInUrn function by himself?

P.S. Its not even an "ask" its more discussion of how to do it. I m not really sure how to force GAM to have these params, its not a beacon of sort, so i m curious how to do it

@omriariav
Copy link

Adding context to @aleskanderl - replacing more render URL macros is required for rendering native ad. If GTM is the top layer seller, there should be a way in component auction that it runs to use the deprecatedReplaceInURN. I think the prebid for fledge support this.

@patmmccann
Copy link
Collaborator

patmmccann commented May 6, 2024

By GTM do you mean gpt.js?

Prebid does not currently have a component seller, but there is one committed in #11094 . Within that feature, decisionlogic.js is configurable, not provided. The decision logic there is purely exemplary, we may build a repo with more consensus logic intended to be useful in the future.

Supporting SSPs attempting to write decision logic for their own company is currently out of scope for this project. You may wish consider asking for assistance at https://github.com/wicG/turtledove/issues/ or refer to this example https://github.com/privacysandbox/privacy-sandbox-demos/blob/49f3903734c7b3a64e98ba74cd79f517dd39ff26/services/ssp-a/src/index.js#L131

@patmmccann patmmccann moved this from Triage to Needs OP in Prebid.js Tactical Issues table May 6, 2024
@omriariav
Copy link

@patmmccann yes, I meant gpt.js - thank you for the correction.
Our main challenge is the ability to use the deprecatedReplaceInURN as we need to change the render URL to support native ads rendering.

Taboola will bid on its own IGs - and we will need to change the renderURL macros to change the rendering logic to support the pre-bid requirements (which is different when we run code on the page directly or when done with our RTB partners when we sell the impression)

Can you please direct me? Your guidance is crucial in determining if this is achievable.

@patmmccann
Copy link
Collaborator

we will need to change the renderURL macros to change the rendering logic to support the pre-bid requirements

Which requirements are you referring to? Your competitors are certainly using this function and it is not part of their prebid.js code base.

@patmmccann
Copy link
Collaborator

I would encourage you to study WICG/turtledove#286 (comment) and beyond. It seems you should use deprecatedURLReplacements. I would encourage to study the Index exchange or Openx methods of filling in these macros, as they seem to have solved this problem.

cc @laurb9 @roni-gordon-ix

@rdgordon-index
Copy link

Can you share the auctionConfig that you're using, as well as the associated interest group configuration?

@laurb9
Copy link
Contributor

laurb9 commented Jun 3, 2024

${AD_WIDTH} and ${AD_HEIGHT} (note the different macro style) are replaced by GAM as documented here

Seller custom parameters can be passed in the component auction config via the deprecatedRenderURLReplacements field documented here (it really is a regular json map of macro to replacement, despite the incorrect example there).

@omriariav
Copy link

Thanks, @laurb9 - we will test this and provide feedback by the end of this month.

@omriariav
Copy link

@laurb9 any idea if this change is arriving to Chrome Stable soon?

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

No branches or pull requests

6 participants